SpectralKit.jl

Building blocks of spectral methods for Julia.
Author tpapp
Popularity
24 Stars
Updated Last
5 Months Ago
Started In
November 2019

SpectralKit.jl

lifecycle build codecov.io Documentation Documentation DOI Aqua QA

Building blocks of spectral methods for Julia. Currently includes Chebyshev polynomials on univariate and Smolyak (multivariate) grids, with domain transformations to semi-infinite and infinite domains.

Introduction

Mostly useful for algorithms along the lines of

Boyd, John P. Chebyshev and Fourier spectral methods. 2001.

The aim is to provide simple, well-tested, robust, and fast building blocks for spectral algorithms, which can be easily combined into algorithms.

At the moment, the package API is experimental and subject to change.

Help

Asking for help in issues is fine, you can also ping me as @Tamas_Papp on the Discourse forum

Pretty pictures

Some examples generated this library. Circles mark values at the limit, shifted horizontally when this is needed to avoid overlap. Infinite limits shown at finite values, so of course they don't match (this is a visual check of continuity, naturally it is unit tested).

Chebyshev polynomials and their derivatives

Chebyshev rational functions on [0,∞)

Up close, you can see the oscillation.

Let's zoom out a bit to see convergence to 0 at ∞.

Derivatives die out faster.

Chebyshev rational functions on (-∞,∞)

Up close, you can see the oscillation.

Let's zoom out a bit to see convergence at -∞ and ∞.

Derivatives die out slower than for the [0,∞) transformation.

A Smolyak grid

With B = 3.

Bibliography

  • Boyd, J. P. (2001). Chebyshev and fourier spectral methods. Courier Corporation.

  • Xu, K. (2016). The chebyshev points of the first kind. Applied Numerical Mathematics, 102, 17–30.

Used By Packages

No packages found.