| Crates.io | numquad |
| lib.rs | numquad |
| version | 0.1.3 |
| created_at | 2025-07-01 09:51:24.70035+00 |
| updated_at | 2025-08-26 07:32:37.286734+00 |
| description | Numerical integration quadratures like Gauss-Legendre and Tanh-Sinh |
| homepage | |
| repository | https://github.com/TileHalo/numquad |
| max_upload_size | |
| id | 1732998 |
| size | 108,634 |
Numquad provides various numerical integration algorithms for use.
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.
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
Michalski-Mosig $\tanh\sinh$
Michalski-Mosig $\exp\sinh$ (semi-infinite interval)
Michalski-Mosig $\sinh\sinh$ (infinite interval)
Feel free to submit bug reports, feature requests, and the best of all, pull requests to those issues.