Для двух переменных можно хранить коэффициенты полинома в матрице ранга = 2 K(n+1,n+1)
, где n - порядок полинома.Затем соблюдайте следующую схему (в псевдокоде)
p(x,y) = (K(1,1)+y*(K(1,2)+y*(K(1,3)+...y*K(1,n+1))) +
x*(K(2,1)+y*(K(2,2)+y*(K(2,3)+...y*K(2,n+1))) +
x^2*(K(3,1)+y*(K(3,2)+y*(K(3,3)+...y*K(3,n+1))) +
...
x^n*(K(n+1,1)+y*(K(n+1,2)+y*(K(n+1,3)+...y*K(n+1,n+1)))
Каждая строка представляет собой схему отдельного Гомера в терминах y
, а все вместе - схема окончательного Гомера в терминах x
.
Для кодирования на FORTRAN
или любом другом языке создайте промежуточный вектор z(n+1)
такой, что
z(i) = homers(y,K(i,1:n+1))
и
p = homers(x,z(1:n+1))
, где homers(value,vector)
- реализацияоценка одной переменной с полиномиальными коэффициентами, хранящимися в vector
.