Multivariate Polynomials are evaluated following the algorithm in [1] . The algorithm uses the following notation:
multiindex is a tuple of non-negative integers for which the length is defined in the following way:
\alpha = (\alpha1, \alpha2, \alpha3), |\alpha| = \alpha1+\alpha2+\alpha3
inverse lexical order is the ordering of monomials in such a way that {x^a < x^b} if and only if there exists {1 \le i \le n} such that {a_n = b_n, \dots, a_{i+1} = b_{i+1}, a_i < b_i}.
In this ordering y^2 > x^2*y and x*y > y
Multivariate Horner scheme uses d+1 variables r_0, ...,r_d to store intermediate results, where d denotes the number of variables.
Algorithm:
The evaluation of multivariate Chebyshev and Legendre polynomials uses a variation of the above Horner’s scheme, in which every Legendre or Chebyshev function is considered a separate variable. In this case the length of the \alpha indices tuple is equal to the number of functions in x plus the number of functions in y. In addition the Chebyshev and Legendre functions are cached for efficiency.
[1] |
|