﻿

Accelerating the pace of engineering and science

# orthpoly::chebyshev1

The Chebyshev polynomials of the first kind

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```orthpoly::chebyshev1(n, x)
```

## Description

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.

## Examples

### Example 1

Polynomials of domain type DOM_POLY are returned, if identifiers or indexed identifiers are specified:

`orthpoly::chebyshev1(2, x)`

`orthpoly::chebyshev1(3, x[1])`

However, using arithmetical expressions as input the "values" of these polynomials are returned:

`orthpoly::chebyshev1(2, 6*x)`

`orthpoly::chebyshev1(3, x[1] + 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:

`orthpoly::chebyshev1(n, x)`

### Example 2

If a floating-point value is desired, then a direct call such as

`orthpoly::chebyshev1(200, 0.3)`

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:`

## Parameters

 n A nonnegative integer or an arithmetical expression representing a nonnegative integer: the degree of the polynomial. x An indeterminate or an arithmetical expression. An indeterminate is either an identifier (of domain type DOM_IDENT) or an indexed identifier (of type "_index").

## Return Values

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.

## Algorithms

The Chebyshev polynomials are given by T(n, x) = cos(nacos(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:

.