What possibilites does NDSolve provide for solving partial differential equation using a pseudospectral method?

NDSolve provides the Option "DifferenceOrder"->"Pseudospectral". As I understand the documentary the method is using some form of Chebyshev polynomials $T_n$ for the expansion of a function $f$ to solve the differential equation:

$f(x)=\sum_{n=0}^{N}a_n T_n(x)$

  • Am I correct that NDSolve really uses a pseudospectral method here or is it just distribution the gridpoints in a different way and using FD?
  • If so, which polynomials are used here exactly? How is the truncation $N$ defined?
  • Which possibilities do I have to implement a pseudospectral method inherently in Mathematica's NDSolve (if any) using standard polynomials (like Bessel Functions, Jacobi Polynomials etc)?

1 Answer 1


There is a section entitled Pseudospectral Derivatives in https://reference.wolfram.com/language/tutorial/NDSolveMethodOfLines.html This describes how they work as well as choice of N.

The only ones implemented are the uniformly spaced periodic case and Chebyshev grid spaced non periodic. Both have fast evaluation using fast Fourier transforms. The periodic case is typically quite a bit faster and more robust.

For either, they are typically best used with explicit methods since the Jacobian is dense. For some smooth cases the higher approximation order allows N small enough that the dense Jacobian is not an issue.

Other bases can be used, but you'll need define a function that can return the spatial derivative approximation desired.

  • 3
    $\begingroup$ Oh Hello Rob! Good to see you here! NDSolve rocks! $\endgroup$
    – user21
    Dec 19, 2018 at 18:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.