4 releases
| 0.1.3 | Aug 26, 2025 |
|---|---|
| 0.1.2 | Aug 19, 2025 |
| 0.1.1 | Aug 15, 2025 |
| 0.1.0 | Jul 1, 2025 |
#341 in Math
70KB
2K
SLoC
Numerical quadrature rules (Numquad) 
Numquad provides various numerical integration algorithms for use.
Usage
Add the following under [dependencies] in your cargo.toml
numquad = 0.1
To use for example the Michalski-Mosig variant of $\tanh\sinh$ quadrature include the following:
use numquad::{Integral, quadrature::{TanhSinh}};
...
let integrator = TanhSinh::new();
let func = |x: f64| f64::powi(x, 2);
let result = integrator.integrate(func, Some(0), Some(1)); // Ok(0.3333...)
WARNING: This project is in early stages and until 1.0.0 subject to breaking chances etc.
Use cases
This crate can be used to integrate integrals in the form $\int_a^b f(x) dx$ where $a, b \in \R$ and $f: \R \to B \subset \C$, semi-infinite integrals where either $a$ or $b$ is infinite and infinite intervals (both are infinite). Furthermore, integration on certain simplicies (triangle, quadrilateral, tetrahedrons, and hexahedrons) is supported.
Currently used and planned quadratures are:
- Trapezoidal rule
- Gaussian quadratures
- Gauss-Legendre
- Gauss-Jacobi
- Chebyshev-Gauss
- Gauss-Laguerre
- Gauss-Hermite
- Gauss-Legendre
- Real line
- Triangle
- Quadrilateral
- Tetrahedron
- Hexahedron
- Michalski-Mosig $\tanh\sinh$
- Michalski-Mosig $\exp\sinh$ (semi-infinite interval)
- Michalski-Mosig $\sinh\sinh$ (infinite interval)
Contributing
Feel free to submit bug reports, feature requests, and the best of all, pull requests to those issues.
Dependencies
~1MB
~18K SLoC