Chebyshev Spectral Differentiation via Fast Fourier Transform

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram CDF Player or other Wolfram Language products.

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

Consider the function with derivative . This Demonstration uses Chebyshev differentiation via Fast Fourier Transform (FFT) [1] to estimate at the Chebyshev–Gauss–Lobatto points. You can change the number of interior points, . The error (i.e., the difference between the exact and approximate values of ) decreases for large values of .

Contributed by: Housam Binous, Brian G. Higgins, and Ahmed Bellagi (March 2013)
Open content licensed under CC BY-NC-SA



Here are the steps for Chebyshev differentiation via the fast Fourier transform (FFT) [1] algorithm:

1. Take the Chebyshev–Gauss–Lobatto points given by with . These points are the extrema of the Chebyshev polynomial of the first kind, .

2. Calculate and form the vector .

3. Calculate , the real part of the and of .

4. Compute , where ; then calculate where is the inverse fast Fourier transform.

5. Use the vector to evaluate (i.e., the approximate derivative calculated at the Chebyshev–Gauss–Lobatto points) for :

for ,


and .


[1] L. N. Trefethen, Spectral Methods in MATLAB, Philadelphia: SIAM, 2000.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.