FPT - Fast polynomial transform
A discrete polynomial transform (DPT) is a generalisation of the discrete Fourier transform from the basis of complex exponentials to arbitrary systems of algebraic polynomials satisfying a three-term recurrence relation. More precisely, let be a sequence of polynomials that satisfies a three-term recurrence relation with , , , and . Clearly, every is a polynomial of exact degree . Typical examples are the classical orthogonal Jacobi polynomials , which include the Legendre and Gegenbauer polynomials. Now, let be a polynomial of degree given by the finite linear combination The discrete polynomial transform (DPT) and its fast version, the fast polynomial transform (FPT), are the transformation of the coefficients into coefficients from the orthogonal expansion of into the basis of Chebyshev polynomials of the first kind , i.e., where the Chebyshev polnyomials of the first kind are defined by A direct algorithm for computing this transformation needs arithmetic operations. The FPT algorithm implemented in the NFFT library is based on the idea of using the three-term-recurrence relation repeatedly. Together with a method for fast polynomial multiplication in the Chebyshev basis and a cascade-like summation process, this yields a method for computing the polynomial transform with arithmetic operations.
The algorithms are implemented by Jens Keiner in ./kernel/fpt
. The Matlab interface in ./matlab/fpt
is implemented by Felix Bartel. Related papers are
- Potts, D., Steidl G., Tasche M.
Fast algorithms for discrete polynomial transforms.
Math. Comput. 67, 1577-1590, (full paper pdf), 1998
- Potts, D.
Fast algorithms for discrete polynomial transforms on arbitrary grids.
Linear Algebra Appl. 366, 353-370, (full paper pdf), 2001
- Keiner, J., Potts, D.
Fast evaluation of quadrature formulae on the sphere.
Math. Comput. 77, 397-419, (full paper pdf), 2008