9 releases (breaking)
0.7.0 | Jun 26, 2019 |
---|---|
0.6.0 | Mar 21, 2019 |
0.5.0 | Jan 15, 2018 |
0.4.0 | Jul 17, 2017 |
0.1.2 | Feb 16, 2017 |
#429 in Science
18KB
444 lines
freude
The freude
crate will provide steppers and integrators to solve ODEs
(ordinary differential equations). It is inspired by boost::numeric::odeint
.
Features
- Explicit fixed-step ODE solvers:
- Euler
- Heun
- Classical 4-th order Runge Kutta (RK4)
Todo:
- Implicit methods
- Adaptive steppers
- DOPRI, RKF45
- Symplectic solvers
- Generalized Runge Kutta methods (maybe via Butcher tableaus?)
Recent changes
- 0.7.0
- Require Debug bounds on the steppers (breaking change)
- 0.6.0
- Update ergonomics
- 0.5.0
- Require
ndarray
0.11, bump all related dependencies
- Require
- 0.4.0-dev
- Update benchmarks to work with v0.4.0
- 0.4.0
- Complete rework and simplification of the
Ode
andStepper
logicStepper
no longer contains anOde
system but acts onOde::State
borrows- Removal of
Integrator
: absorbed intoStepper
- Removal of
Observer
trait
- Bump to
ndarray 0.10
- Complete rework and simplification of the
- 0.3.1
- Implement steppers to work on tuples as defined in the tuple crate;
- Implement
ODE
trait for generic functions/closures on tuples.
- 0.3.0
- Update to
ndarray 0.9
- Unify
Vec
andArrayBase
stepper states throughndarray
'sZip
andIntoNdProducer
traits - Provide several examples as benchmarks (Kuramoto and Chaotic Neural Network models)
- Update to
- 0.2.0
- Complete rework of the ODE, stepper, and integrator logic;
- System state is no longer considered an internal property of an ODE, but a parameter passed to the stepper.
- 0.1.1
- Implement Euler and Heun methods
- 0.1.0
- Initial release
- Definition of explicit, fixed step integrators, steppers
- Definition of ODEs
- Implementation of Runge-Kutta-4 method
Trivia
The crate's name freude
is inspired by Beethoven's Ode an die Freude (“Ode to
Joy”), and can be pronounced either /ˈfʀɔɪ̯də/ or, alternatively, froy-D-E (as
in O-D-E).
Dependencies
~2MB
~35K SLoC