Chebyshev polynomials

The Chebyshev polynomials of the first (Tn and second (Un) kinds can be defined by the trigonometric identity

Tn(x) = cos(n arccos x)
Un(x) = sin((n+1) arccos x) / sin( arccos x)

or can be constructed using the three term recurrence relation:

T0(x) = 1
T1(x) = x
Tn+1(x) = 2xTn(x) - Tn-1(x)
U0(x) = 1
U1(x) = 2x
Un+1(x) = 2xTn(x) - Tn-1(x)

Unit description

The recurrence relation given above is the most efficient way to calculate the Chebyshev polynomial. The ChebyshevCalculate subroutine uses this relation to calculate Tn(x) and/or Un(x) for any given x.

The ChebyshevSum subroutine calculates the sum of Chebyshev polynomials c0T0(x) + c1T1(x) + ... + cnTn(x) using Clenshaw's recurrence formula.

The ChebyshevCoefficients subroutine can represent Tn(x) as a sum of powers of x: c0 + c1x + ... + cnxn.

The FromChebyshev subroutine can perform a conversion of a series of Chebyshev polynomials to a power series.

This article is licensed for personal use only.

Download ALGLIB for C++ / C# / Java / Python / ...

ALGLIB Project offers you two editions of ALGLIB:

ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license

ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan

Links to download sections for Free and Commercial editions can be found below:

ALGLIB 4.03.0 for C++

C++ library.
Delivered with sources.
Monolithic design.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for C#

C# library with native kernels.
Delivered with sources.
VB.NET and IronPython wrappers.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for Java

Java wrapper around HPC core.
Delivered with sources.
Seamless integration with Java.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for Delphi

Delphi wrapper around C core.
Delivered as precompiled binary.
Compatible with FreePascal.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for CPython

CPython wrapper around C core.
Delivered as precompiled binary.
Editions:   FREE   COMMERCIAL