You define an ode using via the interface {@link ODE}.
Currently we have provide implementations for 3 adaptive
ode solvers: {@link RungeKuttaFehlberg},{@link BulirschStoer}, and {@link Extrap}.
{@link Extrap} is the most sufisticated and allways worked best for us.
For situations where performance rules over accuracy we implemented also a
simple {@link RungeKutta} method.
Have a look at {@link ExampleODE} to learn more about how you define
ode's and solve them using this package.