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.
the Chebyshev polynomials of the second kind.
Polynomial expressions are returned if identifiers or indexed identifiers are specified:
Using arithmetical expressions as input, the "values" of these polynomials are returned:
orthpoly::chebyshev1(2, 3 + 2*I)
"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,
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
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
The value of the Chebyshev polynomial at point
returned as an arithmetical expression. If
an arithmetical expression, then
The Chebyshev polynomials are given by T(n, x)
= cos(n acos(x)) for
real x ∈ [- 1, 1].
This representation is used by
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: