Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tpapp/SpectralKit.jl
Building blocks of spectral methods for Julia.
https://github.com/tpapp/SpectralKit.jl
approximation chebyshev julia julia-language package spectral-methods
Last synced: 3 months ago
JSON representation
Building blocks of spectral methods for Julia.
- Host: GitHub
- URL: https://github.com/tpapp/SpectralKit.jl
- Owner: tpapp
- License: other
- Created: 2019-11-08T10:55:53.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-18T16:56:23.000Z (5 months ago)
- Last Synced: 2024-06-19T18:20:17.701Z (5 months ago)
- Topics: approximation, chebyshev, julia, julia-language, package, spectral-methods
- Language: Julia
- Size: 4.88 MB
- Stars: 22
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-sciml - tpapp/SpectralKit.jl: Building blocks of spectral methods for Julia.
README
# SpectralKit.jl
![lifecycle](https://img.shields.io/badge/lifecycle-experimental-orange.svg)
[![build](https://github.com/tpapp/SpectralKit.jl/workflows/CI/badge.svg)](https://github.com/tpapp/SpectralKit.jl/actions?query=workflow%3ACI)
[![codecov.io](http://codecov.io/github/tpapp/SpectralKit.jl/coverage.svg?branch=master)](http://codecov.io/github/tpapp/SpectralKit.jl?branch=master)
[![Documentation](https://img.shields.io/badge/docs-stable-blue.svg)](https://tpapp.github.io/SpectralKit.jl/stable)
[![Documentation](https://img.shields.io/badge/docs-master-blue.svg)](https://tpapp.github.io/SpectralKit.jl/dev)
[![DOI](https://zenodo.org/badge/220448027.svg)](https://zenodo.org/badge/latestdoi/220448027)
[![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)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](https://github.com/tpapp/SpectralKit.jl/issues) is fine, you can also ping me as `@Tamas_Papp` on the [Discourse forum](https://discourse.julialang.org/)
## 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.