Pseudo-spectral method

Summary

Pseudo-spectral methods,[1] also known as discrete variable representation (DVR) methods, are a class of numerical methods used in applied mathematics and scientific computing for the solution of partial differential equations. They are closely related to spectral methods, but complement the basis by an additional pseudo-spectral basis, which allows representation of functions on a quadrature grid[definition needed]. This simplifies the evaluation of certain operators, and can considerably speed up the calculation when using fast algorithms such as the fast Fourier transform.

Motivation with a concrete example edit

Take the initial-value problem

 

with periodic conditions  . This specific example is the Schrödinger equation for a particle in a potential  , but the structure is more general. In many practical partial differential equations, one has a term that involves derivatives (such as a kinetic energy contribution), and a multiplication with a function (for example, a potential).

In the spectral method, the solution   is expanded in a suitable set of basis functions, for example plane waves,

 

Insertion and equating identical coefficients yields a set of ordinary differential equations for the coefficients,

 

where the elements   are calculated through the explicit Fourier-transform

 

The solution would then be obtained by truncating the expansion to   basis functions, and finding a solution for the  . In general, this is done by numerical methods, such as Runge–Kutta methods. For the numerical solutions, the right-hand side of the ordinary differential equation has to be evaluated repeatedly at different time steps. At this point, the spectral method has a major problem with the potential term  .

In the spectral representation, the multiplication with the function   transforms into a vector-matrix multiplication, which scales as  . Also, the matrix elements   need to be evaluated explicitly before the differential equation for the coefficients can be solved, which requires an additional step.

In the pseudo-spectral method, this term is evaluated differently. Given the coefficients  , an inverse discrete Fourier transform yields the value of the function   at discrete grid points  . At these grid points, the function is then multiplied,  , and the result Fourier-transformed back. This yields a new set of coefficients   that are used instead of the matrix product  .

It can be shown that both methods have similar accuracy. However, the pseudo-spectral method allows the use of a fast Fourier transform, which scales as  , and is therefore significantly more efficient than the matrix multiplication. Also, the function   can be used directly without evaluating any additional integrals.

Technical discussion edit

In a more abstract way, the pseudo-spectral method deals with the multiplication of two functions   and   as part of a partial differential equation. To simplify the notation, the time-dependence is dropped. Conceptually, it consists of three steps:

  1.   are expanded in a finite set of basis functions (this is the spectral method).
  2. For a given set of basis functions, a quadrature is sought that converts scalar products of these basis functions into a weighted sum over grid points.
  3. The product is calculated by multiplying   at each grid point.

Expansion in a basis edit

The functions   can be expanded in a finite basis   as

 
 

For simplicity, let the basis be orthogonal and normalized,   using the inner product   with appropriate boundaries  . The coefficients are then obtained by

 
 

A bit of calculus yields then

 

with  . This forms the basis of the spectral method. To distinguish the basis of the   from the quadrature basis, the expansion is sometimes called Finite Basis Representation (FBR).

Quadrature edit

For a given basis   and number of   basis functions, one can try to find a quadrature, i.e., a set of   points and weights such that

 

Special examples are the Gaussian quadrature for polynomials and the Discrete Fourier Transform for plane waves. It should be stressed that the grid points and weights,   are a function of the basis and the number  .

The quadrature allows an alternative numerical representation of the function   through their value at the grid points. This representation is sometimes denoted Discrete Variable Representation (DVR), and is completely equivalent to the expansion in the basis.

 
 

Multiplication edit

The multiplication with the function   is then done at each grid point,

 

This generally introduces an additional approximation. To see this, we can calculate one of the coefficients  :

 

However, using the spectral method, the same coefficient would be  . The pseudo-spectral method thus introduces the additional approximation

 

If the product   can be represented with the given finite set of basis functions, the above equation is exact due to the chosen quadrature.

Special pseudospectral schemes edit

The Fourier method edit

If periodic boundary conditions with period   are imposed on the system, the basis functions can be generated by plane waves,

 

with  , where   is the ceiling function.

The quadrature for a cut-off at   is given by the discrete Fourier transformation. The grid points are equally spaced,   with spacing  , and the constant weights are  .

For the discussion of the error, note that the product of two plane waves is again a plane wave,   with  . Thus, qualitatively, if the functions   can be represented sufficiently accurately with   basis functions, the pseudo-spectral method gives accurate results if   basis functions are used.

An expansion in plane waves often has a poor quality and needs many basis functions to converge. However, the transformation between the basis expansion and the grid representation can be done using a Fast Fourier transform, which scales favorably as  . As a consequence, plane waves are one of the most common expansion that is encountered with pseudo-spectral methods.

Polynomials edit

Another common expansion is into classical polynomials. Here, the Gaussian quadrature is used, which states that one can always find weights   and points   such that

 

holds for any polynomial   of degree   or less. Typically, the weight function   and ranges   are chosen for a specific problem, and leads to one of the different forms of the quadrature. To apply this to the pseudo-spectral method, we choose basis functions  , with   being a polynomial of degree   with the property

 

Under these conditions, the   form an orthonormal basis with respect to the scalar product  . This basis, together with the quadrature points can then be used for the pseudo-spectral method.

For the discussion of the error, note that if   is well represented by   basis functions and   is well represented by a polynomial of degree  , their product can be expanded in the first   basis functions, and the pseudo-spectral method will give accurate results for that many basis functions.

Such polynomials occur naturally in several standard problems. For example, the quantum harmonic oscillator is ideally expanded in Hermite polynomials, and Jacobi-polynomials can be used to define the associated Legendre functions typically appearing in rotational problems.

References edit

  1. ^ Orszag, Steven A. (September 1972). "Comparison of Pseudospectral and Spectral Approximation". Studies in Applied Mathematics. 51 (3): 253–259. doi:10.1002/sapm1972513253.
  • Orszag, Steven A. (1969). "Numerical Methods for the Simulation of Turbulence". Physics of Fluids. 12 (12): II-250. doi:10.1063/1.1692445.
  • Gottlieb, David; Orszag, Steven A. (1989). Numerical analysis of spectral methods : theory and applications (5. print. ed.). Philadelphia, Pa.: Society for Industrial and Applied Mathematics. ISBN 978-0898710236.
  • Hesthaven, Jan S.; Gottlieb, Sigal; Gottlieb, David (2007). Spectral methods for time-dependent problems (1. publ. ed.). Cambridge [u.a.]: Cambridge Univ. Press. ISBN 9780521792110.
  • Jie Shen, Tao Tang and Li-Lian Wang (2011) "Spectral Methods: Algorithms, Analysis and Applications" (Springer Series in Computational Mathematics, V. 41, Springer), ISBN 354071040X.
  • Trefethen, Lloyd N. (2000). Spectral methods in MATLAB (3rd. repr. ed.). Philadelphia, Pa: SIAM. ISBN 978-0-89871-465-4.
  • Fornberg, Bengt (1996). A Practical Guide to Pseudospectral Methods. Cambridge: Cambridge University Press. ISBN 9780511626357.
  • Boyd, John P. (2001). Chebyshev and Fourier spectral methods (2nd ed., rev. ed.). Mineola, N.Y.: Dover Publications. ISBN 978-0486411835.
  • Funaro, Daniele (1992). Polynomial approximation of differential equations. Berlin: Springer-Verlag. ISBN 978-3-540-46783-0.
  • de Frutos, Javier; Novo, Julia (January 2000). "A Spectral Element Method for the Navier--Stokes Equations with Improved Accuracy". SIAM Journal on Numerical Analysis. 38 (3): 799–819. doi:10.1137/S0036142999351984.
  • Claudio, Canuto; M. Yousuff, Hussaini; Alfio, Quarteroni; Thomas A., Zang (2006). Spectral methods fundamentals in single domains. Berlin: Springer-Verlag. ISBN 978-3-540-30726-6.
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Section 20.7. Spectral Methods". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.