Tomando uma função polinomial tal que , é possível obter o seguinte sistema linear:
Encontrando os coeficientes , encontra-se também a função .
Na representação matricial desse sistema na forma :
A matriz é uma matriz de Vandermonde, que possui solução única, ou seja, existe um único polinômio que gera os valores dados por .
Abaixo é possível verificar uma implementação simples do método de interpolação polinomial utilizando matriz de Vandermonde. O problema consiste em gerar as matrizes e do sistema linear com base nos valores de e para então calcular os coeficientes do polinômio .
import numpy as np
def vandermonde(x, fx):
n = len(x)
A = np.empty((n, n))
B = np.empty((n))
for i in range(0, n):
A[i, 0] = 1
for j in range(1, n):
A[i, j] = A[i, j - 1] * x[i]
B[i] = fx[i]
return A, B
# x = [0, 1, 2, 3]
# fx = [1, 1, 2, 6]
x = [-6, 6]
fx = [9, 7]
A, B = vandermonde(x, fx)
x = np.linalg.solve(A, fx)
print(x)