numra-sde
Stochastic differential equation solvers for the Numra workspace — Euler-Maruyama, Milstein, adaptive SRA1 / SRA2, with built-in Monte Carlo ensemble runner.
Solves SDEs dX = f(t, X) dt + g(t, X) dW with strong-order 0.5 / 1.0 fixed-step and adaptive higher-order methods. The ensemble runner parallelizes Monte Carlo realizations via Rayon and ships with running-statistics primitives.
Example
use ;
// Geometric Brownian Motion: dS = μS dt + σS dW
let gbm = Gbm ;
let opts = default.dt;
let result = solve;
assert!;
What's in this crate
Solvers:
EulerMaruyama— strong order 0.5, fixed stepMilstein— strong order 1.0 (Itô)Sra1— adaptive strong order 1.5 for additive-noise SDEsSra2— adaptive weak order 2.0
Ensemble & noise:
EnsembleRunner/EnsembleResult— Rayon-parallel Monte CarloWienerProcess/WienerIncrement/create_wiener— reproducible Brownian incrementsRunningStats,EnsembleStats,mean,variance,std,median,percentile,Percentiles— online and offline summaries
Composes with
numra-spde— SDE time-stepping inside the Method-of-Lines for stochastic PDEsnumra-stats— descriptive statistics on ensemble trajectoriesnumra-interp— resampling sample paths onto common time gridsnumra-signal— filtering and peak detection on noisy realizations
See cross-formalism tests for SDE reproducibility and composition checks.
Install
[]
= "0.1"
Or via the umbrella crate:
[]
= "0.1"
Documentation
- API: https://docs.rs/numra-sde
- Book: Stochastic DEs
- Source: https://github.com/moussaoutlook/numra-rs/tree/main/numra-sde
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.