bulirsch

Crates.iobulirsch
lib.rsbulirsch
version
sourcesrc
created_at2025-04-10 02:43:40.176028+00
updated_at2025-04-14 15:47:31.250384+00
descriptionBulirsch-Stoer ODE integration algorithm
homepage
repositoryhttps://github.com/joshburkart/bulirsch
max_upload_size
id1627551
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Josh Burkart (joshburkart)

documentation

README

Bulirsch-Stoer Method in Rust

Crates.io Docs

Implementation of the Bulirsch-Stoer method for stepping ordinary differential equations.

The (Gragg-)Bulirsch-Stoer algorithm combines the (modified) midpoint method with Richardson extrapolation to accelerate convergence. It is an explicit method that does not require Jacobians.

This crate's implementation contains simplistic adaptive step size routines with order estimation. Its API is designed to be useful in situations where an ODE is being integrated step by step with a prescribed time step, for example in simulations of electromechanical control systems with a fixed control cycle period. Only time-independent ODEs are supported, but without loss of generality (since the state vector can be augmented with a time variable if needed).

The implementation follows:

  • Press, William H. Numerical Recipes 3rd Edition: The Art of Scientific Computing. Cambridge University Press, 2007. Ch. 17.3.2.
  • Deuflhard, Peter. "Order and stepsize control in extrapolation methods." Numerische Mathematik 41 (1983): 399-422.
Commit count: 0

cargo fmt