The Curtz polynomials
This functionality does not run in MATLAB.
orthpoly::curtz(n,x) computes the value of
degree Curtz polynomial at the point x.
These polynomials have rational coefficients.
Evaluation for real floating-point values x is numerically stable. See Example 2.
Polynomial expressions are returned if identifiers or indexed identifiers are specified:
Using arithmetical expressions as input, the "values" of these polynomials are returned:
orthpoly::curtz(3, exp(x + 2))
"Arithmetical expressions" include numbers:
orthpoly::curtz(2, sqrt(2)), orthpoly::curtz(3, 8 + I), orthpoly::curtz(100, 0.3)
If the degree of the polynomial is a variable or expression,
orthpoly::curtz returns itself symbolically:
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 or an arithmetical expression representing a nonnegative integer: the degree of the polynomial.
An indeterminate or an arithmetical expression. An indeterminate
is either an identifier (of domain type
The value of the Curtz polynomial at point
returned as an arithmetical expression. If
an arithmetical expression, then
The Curtz polynomials are given by the recursion formula
with C(0, x) = 1.