This library provides a pure Rust implementation of SciPy's solve_ivp function with slight modifications to the API to better fit Rust's design patterns. It is also available as a Python package with a SciPy-compatible API.
Features
Currently implemented solvers:
- DOP853: An 8th order Dormand-Prince method with step-size control and dense output.
- DOPRI5: A 5th order Dormand-Prince method with step-size control and dense output.
- RK4: The classic 4th order Runge-Kutta method with fixed step-size and cubic Hermite interpolation for dense output.
- RK23: A 3rd order Runge-Kutta method with 2nd order error estimate for step-size control.
- Radau: A 5th order implicit Runge-Kutta method of Radau IIA type with step-size control and dense output.
- BDF: A variable-order (1 to 5) Backward Differentiation Formula method for stiff ODEs with adaptive step-size control and dense output.
Installation
Rust
Python
Example Usage (Python)
return -0.5 *
# Solve the ODE
=