The Chebyshev polynomials of the first kind
This functionality does not run in MATLAB.
orthpoly::chebyshev1(n,x) computes the value of the n-th degree Chebyshev polynomial of the first kind at the point x.
These polynomials have integer coefficients.
Evaluation is fast and numerically stable for real floating point values x from the interval [- 1.0, 1.0]. See Example 2.
orthpoly::chebyshev2 implements the Chebyshev polynomials of the second kind.
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::chebyshev1(3, x + 2)
"Arithmetical expressions" include numbers:
orthpoly::chebyshev1(2, sqrt(2)), orthpoly::chebyshev1(3, 8 + I), orthpoly::chebyshev1(1000, 0.3)
If the degree of the polynomial is a variable or expression, then orthpoly::chebyshev1 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:
T200 := orthpoly::chebyshev1(200, x):
DIGITS := 10: evalp(T200, x = 0.3)
This result is caused by numerical round-off. Also with increased DIGITS only a few leading digits are correct:
DIGITS := 20: evalp(T200, x = 0.3)
delete DIGITS, T200:
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 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 Chebyshev polynomial at this point is returned as an arithmetical expression. If n is an arithmetical expression, then orthpoly::chebyshev1 returns itself symbolically.
The Chebyshev polynomials are given by T(n, x) = cos(n acos(x)) for real x ∈ [- 1, 1]. This representation is used by orthpoly::chebyshev1 for floating-point values in this range.
These polynomials satisfy the recursion formula
with T(0, x) = 1 and T(1, x) = x.
They are orthogonal on the interval [- 1, 1] with respect to the weight function .
T(n, x) is a special Jacobi polynomial: