| Portability | uses ffi |
|---|---|
| Stability | provisional |
| Maintainer | Alberto Ruiz (aruiz at um dot es) |
Numeric.GSL.ODE
Description
Solution of ordinary differential equation (ODE) initial value problems.
http://www.gnu.org/software/gsl/manual/html_node/Ordinary-Differential-Equations.html
A simple example:
import Numeric.GSL import Numeric.LinearAlgebra import Graphics.Plot xdot t [x,v] = [v, -0.95*x - 0.1*v] ts = linspace 100 (0,20) sol = odeSolve xdot [10,0] ts main = mplot (ts : toColumns sol)
- odeSolve :: (Double -> [Double] -> [Double]) -> [Double] -> Vector Double -> Matrix Double
- odeSolveV :: ODEMethod -> Double -> Double -> Double -> (Double -> Vector Double -> Vector Double) -> Maybe (Double -> Vector Double -> Matrix Double) -> Vector Double -> Vector Double -> Matrix Double
- data ODEMethod
Documentation
Arguments
| :: (Double -> [Double] -> [Double]) | xdot(t,x) |
| -> [Double] | initial conditions |
| -> Vector Double | desired solution times |
| -> Matrix Double | solution |
A version of odeSolveV with reasonable default parameters and system of equations defined using lists.
Arguments
| :: ODEMethod | |
| -> Double | initial step size |
| -> Double | absolute tolerance for the state vector |
| -> Double | relative tolerance for the state vector |
| -> (Double -> Vector Double -> Vector Double) | xdot(t,x) |
| -> Maybe (Double -> Vector Double -> Matrix Double) | optional jacobian |
| -> Vector Double | initial conditions |
| -> Vector Double | desired solution times |
| -> Matrix Double | solution |
Evolution of the system with adaptive step-size control.
Stepping functions
Constructors
| RK2 | Embedded Runge-Kutta (2, 3) method. |
| RK4 | 4th order (classical) Runge-Kutta. The error estimate is obtained by halving the step-size. For more efficient estimate of the error, use |
| RKf45 | Embedded Runge-Kutta-Fehlberg (4, 5) method. This method is a good general-purpose integrator. |
| RKck | Embedded Runge-Kutta Cash-Karp (4, 5) method. |
| RK8pd | Embedded Runge-Kutta Prince-Dormand (8,9) method. |
| RK2imp | Implicit 2nd order Runge-Kutta at Gaussian points. |
| RK4imp | Implicit 4th order Runge-Kutta at Gaussian points. |
| BSimp | Implicit Bulirsch-Stoer method of Bader and Deuflhard. This algorithm requires the Jacobian. |
| Gear1 | M=1 implicit Gear method. |
| Gear2 | M=2 implicit Gear method. |