1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//! # Numra - Numerical Methods Library
//!
//! Numra is a comprehensive numerical methods library for Rust.
//!
//! This crate provides a unified interface to all Numra components:
//! - `numra_core`: Core traits and utilities (Scalar, Vector, Signal, Uncertainty)
//! - `numra_linalg`: Linear algebra (Matrix, LU decomposition)
//! - `numra_nonlinear`: Nonlinear solvers (Newton iteration)
//! - `numra_ode`: ODE solvers (DoPri5, Radau5, BDF, ESDIRK, Verner, etc.) and
//! forward sensitivity analysis (`ParametricOdeSystem`, `solve_forward_sensitivity`)
//! - `numra_sde`: SDE solvers (Euler-Maruyama, Milstein, SRA1/SRA2)
//! - `numra_dde`: DDE solvers (Method of Steps)
//! - `numra_fde`: FDE solvers (L1 scheme for Caputo derivative)
//! - `numra_ide`: IDE solvers (Volterra, Prony series)
//! - `numra_pde`: PDE solvers (Method of Lines, moving boundaries)
//! - `numra_spde`: SPDE solvers (MOL + SDE steppers)
//!
//! ## Sensitivity analysis — two distinct concepts
//!
//! - [`compute_sensitivities`] / [`ParameterSensitivity`] /
//! [`ParameterSensitivityResult`] (re-exported from `numra-core`):
//! parameter-uncertainty / Sobol-style sensitivity for arbitrary scalar
//! functions of uncertain inputs.
//! - [`solve_forward_sensitivity`] / [`solve_forward_sensitivity_with`] /
//! [`ParametricOdeSystem`] / [`SensitivityResult`] (re-exported from
//! `numra-ode`): forward sensitivity for ODE/DAE systems. Solves the
//! augmented `[y; S]` system to compute `S(t) = ∂y/∂p` alongside the
//! state trajectory.
//!
//! Author: Moussa Leblouba
//! Date: 9 February 2026
//! Modified: 6 May 2026
// Selective re-exports from numra-core to avoid namespace pollution.
pub use numra_autodiff as autodiff;
pub use error;
pub use scalar;
pub use signal;
pub use uncertainty;
pub use vector;
pub use ;
pub use numra_dde as dde;
pub use numra_fde as fde;
pub use numra_fft as fft;
pub use numra_fit as fit;
pub use numra_ide as ide;
pub use numra_integrate as integrate;
pub use numra_interp as interp;
pub use numra_linalg as linalg;
pub use numra_nonlinear as nonlinear;
pub use numra_ocp as ocp;
pub use numra_ode as ode;
// Top-level promotion of the canonical forward-sensitivity surface so users
// can write `numra::solve_forward_sensitivity` symmetrically with
// `numra::compute_sensitivities`. Advanced building blocks (`AugmentedSystem`,
// `ClosureSystem`) remain in `numra::ode` for callers who need them.
pub use ;
pub use ;
pub use numra_optim as optim;
pub use numra_pde as pde;
pub use numra_sde as sde;
pub use numra_signal as dsp;
pub use numra_spde as spde;
pub use numra_special as special;
pub use numra_stats as stats;