The Curtz polynomials
This functionality does not run in MATLAB.
orthpoly::curtz(n,x) computes the value of the n-th degree Curtz polynomial at the point x.
These polynomials have rational coefficients.
Evaluation for real floating-point values x is numerically stable. Cf. Example 2.
Polynomials of domain type DOM_POLY are returned, if identifiers or indexed identifiers are specified:
However, using arithmetical expressions as input the "values" of these polynomials are returned:
orthpoly::curtz(3, x + 2)
"Arithmetical expressions" include numbers:
orthpoly::curtz(2, sqrt(2)), orthpoly::curtz(3, 8 + I), orthpoly::curtz(100, 0.3)
If no integer degree is specified, then orthpoly::curtz returns itself symbolically:
orthpoly::curtz(n, x), orthpoly::curtz(1/2, x)
If a floating-point value is desired, then a direct call such as
is appropriate and yields a correct result. One should not evaluate the symbolic polynomial at a floating-point value, because this may be numerically unstable:
orthpoly::curtz(50, x): evalp(%, x = 1.2)
Note that only 3 digits are correct due to numerical round-off.
A nonnegative integer: the degree of the polynomial.
An indeterminate or an arithmetical expression. An indeterminate is either an identifier (of domain type DOM_IDENT) or an indexed identifier (of type "_index").
If x is an indeterminate, then a polynomial of domain type DOM_POLY is returned. If x is an arithmetical expression, then the value of the Curtz polynomial at this point is returned as an arithmetical expression. If n is not a nonnegative integer, then orthpoly::curtz returns itself symbolically.