Skip to content

Numra

Composable numerical methods for Rust.

Numra is a Rust library for numerical methods in scientific computing, covering ordinary, stochastic, delay, fractional, integro-differential, and partial differential equations under one composable API.

This book is the long-form companion to the API reference at docs.rs/numra. The marketing site at numra-rs.org has the elevator pitch and licensing details.

Getting started

Install Numra and run your first solve. Start here →

Beyond ODEs

SDEs, DDEs, FDEs, IDEs, PDEs, and SPDEs. Explore →

Solver reference

Solver tables, method cards, and Butcher tableaux. Reference →

The sidebar groups material by topic, in pedagogical order:

  • Getting Started — install, first solve, architecture overview.
  • Ordinary Differential Equations — explicit and implicit methods, stiff systems, dense output, event detection.
  • Beyond ODEs — SDEs, DDEs, FDEs, IDEs, PDEs, SPDEs.
  • Optimization — unconstrained, constrained, global, multi-objective.
  • Linear Algebra — dense, sparse, factorizations, eigenproblems.
  • Calculus & Analysis — quadrature, interpolation, autodiff, special functions.
  • Signal Processing — FFT, filters, Hilbert transform.
  • Statistics — distributions, hypothesis testing, regression.
  • Optimal Control — shooting, collocation, adjoint methods.
  • Uncertainty & Sensitivity — error propagation, Monte Carlo, intervals.
  • Advanced Topics — composability, performance, no_std, extending Numra.
  • Appendix — solver reference, method cards, Butcher tableaux.

Equations throughout this book are typeset with KaTeX. For example:

dydt=f(t,y),y(t0)=y0\frac{d\mathbf{y}}{dt} = \mathbf{f}(t, \mathbf{y}), \qquad \mathbf{y}(t_0) = \mathbf{y}_0

If math is rendering as plain text rather than typeset symbols, the build is broken — please open an issue.

Every plot in this book carries (in its caption or alt text):

  1. The Numra commit SHA used to generate it.
  2. The hardware and compiler version.
  3. A link to the reproduction script.

If a plot can’t meet that bar, it doesn’t ship. The same standard applies to comparison benchmarks against other libraries.