HOME

TheInfoList



OR:

In
applied mathematics Applied mathematics is the application of mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and industry. Thus, applied mathematics is a combination of mathemati ...
, the discrete Chebyshev transform (DCT), named after
Pafnuty Chebyshev Pafnuty Lvovich Chebyshev ( rus, Пафну́тий Льво́вич Чебышёв, p=pɐfˈnutʲɪj ˈlʲvovʲɪtɕ tɕɪbɨˈʂof) ( – ) was a Russian mathematician and considered to be the founding father of Russian mathematics. Chebyshe ...
, is either of two main varieties of DCTs: the discrete Chebyshev transform on the 'roots' grid of the Chebyshev polynomials of the first kind T_n (x) and the discrete Chebyshev transform on the 'extrema' grid of the Chebyshev polynomials of the first kind.


Discrete Chebyshev transform on the roots grid

The discrete chebyshev transform of u(x) at the points is given by: : a_m =\frac\sum_^ u(x_n) T_m (x_n) where: : x_n = -\cos\left(\frac (n+\frac)\right) : a_m = \frac \sum_^ u(x_n) \cos\left(m \cos^(x_n)\right) where p_m =1 \Leftrightarrow m=0 and p_m = 2 otherwise. Using the definition of x_n , : a_m =\frac \sum_^ u(x_n) \cos\left(\frac(N+n+\frac) \right) : a_m =\frac \sum_^ u(x_n) (-1)^m\cos\left(\frac(n+\frac) \right) and its inverse transform: : u_n =\sum_^ a_m T_m (x_n) (This so happens to the standard Chebyshev series evaluated on the roots grid.) : u_n =\sum_^ a_m \cos\left(\frac(N+n+\frac) \right) : \therefore u_n =\sum_^ a_m (-1)^m\cos\left(\frac(n+\frac) \right) This can readily be obtained by manipulating the input arguments to a discrete cosine transform. This can be demonstrated using the following
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
code: function a=fct(f,l) % x =-cos(pi/N*((0:N-1)'+1/2)); f = f(end:-1:1,:); A = size(f); N = A(1); if exist('A(3)','var') && A(3)~=1 for i=1:A(3) a(:,:,i) = sqrt(2/N) * dct(f(:,:,i)); a(1,:,i) = a(1,:,i) / sqrt(2); end else a = sqrt(2/N) * dct(f(:,:,i)); a(1,:)=a(1,:) / sqrt(2); end The discrete cosine transform (dct) is in fact computed using a fast Fourier transform algorithm in MATLAB.
And the inverse transform is given by the MATLAB code:
function f=ifct(a,l) % x = -cos(pi/N*((0:N-1)'+1/2)) k = size(a); N=k(1); a = idct(sqrt(N/2) * (1,:) * sqrt(2); a(2:end,:); end


Discrete Chebyshev transform on the extrema grid

This transform uses the grid: : x_n=-\cos\left(\frac\right) : T_n (x_m) = \cos\left(\frac+n\pi\right)=(-1)^n \cos\left(\frac\right) This transform is more difficult to implement by use of a Fast Fourier Transform (FFT). However it is more widely used because it is on the extrema grid which tends to be most useful for boundary value problems. Mostly because it is easier to apply boundary conditions on this grid. There is a discrete (and in fact fast because it performs the dct by using a fast Fourier transform) available at the MATLAB file exchange that was created by Greg von Winckel. So it is omitted here. In this case the transform and its inverse are : u(x_n)=u_n =\sum_^ a_m T_m (x_n) : a_m =\frac\left frac (u_0 (-1)^m +u_N)+\sum_^ u_n T_m (x_n)\right where p_m =1 \Leftrightarrow m=0, N and p_m = 2 otherwise.


Usage and implementations

The primary uses of the discrete Chebyshev transform are numerical integration, interpolation, and stable numerical differentiation. An implementation which provides these features is given in the
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
library Boost


See also

* Chebyshev polynomials * Discrete cosine transform *
Discrete Fourier transform In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a comple ...
* List of Fourier-related transforms


References

{{reflist Transforms Articles with example MATLAB/Octave code