numra-ide
Volterra integro-differential equation solvers for the Numra workspace — general quadrature solver plus a Prony-series fast path for exponential kernels.
Solves Volterra IDEs y'(t) = f(t, y) + ∫₀ᵗ K(t, s, y(s)) ds for history-dependent dynamics. The general VolterraSolver handles arbitrary memory kernels via quadrature; the specialized PronySolver exploits sums of exponentials for an O(N) rather than O(N²) step cost.
Example
use ExponentialKernel;
use ;
// Viscoelastic: y' = -k·y + ∫ K(t-s)·y(s) ds with exponential kernel
What's in this crate
Solvers:
VolterraSolver— general Volterra IDE solver using quadratureVolterraRK4Solver— RK4-based variantPronySolver—O(N)fast path for sum-of-exponentials kernels via Prony reduction
Kernels:
ExponentialKernel—K(t, s) = a · exp(-b(t-s))PowerLawKernel—K(t, s) = (t-s)^{-α}, fractional memoryPronyKernel— sum-of-exponentials representationKerneltrait — user-defined kernels
Composes with
numra-fde— power-law kernels share the long-memory machinery of fractional derivativesnumra-interpfor post-hoc resampling of viscoelastic relaxation curvesnumra-fitfor fitting Prony coefficients to measured kernel responses
See cross-formalism tests for IDE-reduces-to-ODE consistency and memory-kernel composition.
Install
[]
= "0.1"
Or via the umbrella crate:
[]
= "0.1"
Documentation
- API: https://docs.rs/numra-ide
- Book: Integro-DEs
- Source: https://github.com/moussaoutlook/numra-rs/tree/main/numra-ide
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.