numra-integrate
Numerical integration for the Numra workspace — adaptive Gauss-Kronrod, fixed Gauss-Legendre / Laguerre / Hermite, composite rules, and double integrals.
Quadrature for one- and two-dimensional integrals over finite, semi-infinite, and infinite intervals.
Example
use ;
// ∫₀^π sin(x) dx = 2
let r = quad.unwrap;
assert!;
What's in this crate
- Adaptive:
quad(Gauss-Kronrod G7K15 with adaptive subdivision),QuadOptions,QuadResult - Fixed Gaussian:
gauss_legendre(finite intervals),gauss_laguerre(semi-infinite, weighte^{-x}),gauss_hermite(infinite, weighte^{-x²}) - Composite rules:
trapezoid,trapezoid_nonuniform,simpson,romberg,cumulative_trapezoid - Multi-dimensional:
dblquad(iterated 1D quadrature for double integrals) IntegrationError— quadrature-failure reporting
Composes with
numra-ode— quadrature of functions defined on trajectoriesnumra-interp— quadrature of interpolants between sample pointsnumra-stats— definite integrals of distribution PDFs and integral-form expectationsnumra-ide— independently uses quadrature to evaluate Volterra memory kernels
See interop workflows for the verified ODE → cubic spline → quadrature workflow.
Install
[]
= "0.1"
Or via the umbrella crate:
[]
= "0.1"
Documentation
- API: https://docs.rs/numra-integrate
- Book: Numerical integration
- Source: https://github.com/moussaoutlook/numra-rs/tree/main/numra-integrate
License
Numra Academic & Research License (Non-Commercial). Academic and research use is free; commercial use requires a separate license — contact contact@spectralautomata.com. See LICENSE.