Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JuliaApproximation/FastGaussQuadrature.jl
Julia package for Gaussian quadrature
https://github.com/JuliaApproximation/FastGaussQuadrature.jl
gauss-quadrature julia numerical-integration
Last synced: 3 months ago
JSON representation
Julia package for Gaussian quadrature
- Host: GitHub
- URL: https://github.com/JuliaApproximation/FastGaussQuadrature.jl
- Owner: JuliaApproximation
- License: mit
- Created: 2014-08-31T14:35:16.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-01-13T12:16:33.000Z (10 months ago)
- Last Synced: 2024-05-22T04:37:39.496Z (6 months ago)
- Topics: gauss-quadrature, julia, numerical-integration
- Language: Julia
- Homepage: https://juliaapproximation.github.io/FastGaussQuadrature.jl/stable/
- Size: 1.06 MB
- Stars: 294
- Watchers: 21
- Forks: 42
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-sciml - JuliaApproximation/FastGaussQuadrature.jl: Julia package for Gaussian quadrature
README
FastGaussQuadrature.jl
=========
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://JuliaApproximation.github.io/FastGaussQuadrature.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://JuliaApproximation.github.io/FastGaussQuadrature.jl/dev)
[![Build Status](https://github.com/JuliaApproximation/FastGaussQuadrature.jl/workflows/CI/badge.svg)](https://github.com/JuliaApproximation/FastGaussQuadrature.jl/actions)
[![codecov](https://codecov.io/gh/JuliaApproximation/FastGaussQuadrature.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaApproximation/FastGaussQuadrature.jl)
[![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)A Julia package to compute `n`-point Gauss quadrature nodes and weights to 16-digit accuracy and in `O(n)` time.
So far the package includes `gausschebyshev()`, `gausslegendre()`, `gaussjacobi()`, `gaussradau()`, `gausslobatto()`, `gausslaguerre()`, and `gausshermite()`.
This package is heavily influenced by [Chebfun](http://www.chebfun.org).An introduction to Gauss quadrature can be found [here](http://en.wikipedia.org/wiki/Gaussian_quadrature).
For a quirky account on the history of computing Gauss-Legendre quadrature, see [[6]](http://pi.math.cornell.edu/~ajt/papers/QuadratureEssay.pdf).## Our Aims
* The fastest Julia code for Gauss quadrature nodes and weights (without tabulation).
* Change the perception that Gauss quadrature rules are expensive to compute.## Example usage
```julia
julia> @time nodes, weights = gausslegendre( 100000 );
0.002192 seconds (10 allocations: 2.289 MiB)# integrates f(x) = x^2 from -1 to 1
julia> @time dot( weights, nodes.^2 )
0.000184 seconds (7 allocations: 781.422 KiB)
0.6666666666666665
```