Laguerre spectral/pseudospectral library
Let f(x) be defined on the semi-infinite domain [0,inf) and governed by the differential equation
L[f] = 0
subject to the far-field boundary condition
f(x) -> 0 as x -> inf
together with one or more conditions at x=0. Then it may be appropriate to solve for f(x) using a Laguerre-function spectral method.
This library implements 3 versions of the Laguerre spectral method:
(1) Galerkin (pure) spectral method - global spectral coefficients
(2) Collocation method - global coefficients, local evaluation of L[f] at collocation points
(3) Pseudospectral method - local method based on global interpolants (numerically equivalent to Collocation method).
Each method is discussed (with simple test codes) in the accompanying file README.PDF.
These codes are based on the seminal paper of Shen (2000). Shen argues that Laguerre numerical methods have unfairly acquired a poor reputation, owing to their misuse in the past:
(1) Laguerre POLYNOMIALS used as basis functions instead of Laguerre FUNCTIONS
(2) Basis functions not scaled in the x-coordinate to match the physical problem under consideration.
Both issues are discussed in README.PDF.
I created these codes for the final chapter of my PhD thesis, where I used a hybrid Chebyshev/Laguerre spectral scheme to simulate an unsteady viscous flow in a 2D spatial domain of the form [-1,1] x [0,inf).
REFERENCE:
Shen, J. "Stable and efficient spectral methods in unbounded domains
using Laguerre functions." SIAM J. Num. Anal. 38 (4), 1113–1133
(2000).
Cite As
Nathaniel Jewell (2024). Laguerre spectral/pseudospectral library (https://www.mathworks.com/matlabcentral/fileexchange/26089-laguerre-spectral-pseudospectral-library), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |