Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

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.