Module Gsl_odeiv


module Gsl_odeiv: sig .. end
Ordinary Differential Equations

type system 
val make_system : (float -> float array -> float array -> unit) ->
?jac:(float -> float array -> Gsl_matrix.matrix -> float array -> unit) ->
int -> system
type step 

type step_kind =
| RK2
| RK4
| RKF45
| RKCK
| RK8PD
| RK2IMP
| RK2SIMP
| RK4IMP
| BSIMP
| GEAR1
| GEAR2
val make_step : step_kind -> dim:int -> step
val step_reset : step -> unit
val step_name : step -> string
val step_order : step -> int
val step_apply : step ->
t:float ->
h:float ->
y:float array ->
yerr:float array ->
?dydt_in:float array -> ?dydt_out:float array -> system -> unit
type control 
val make_control_standard_new : eps_abs:float ->
eps_rel:float -> a_y:float -> a_dydt:float -> control
val make_control_y_new : eps_abs:float -> eps_rel:float -> control
val make_control_yp_new : eps_abs:float -> eps_rel:float -> control
val make_control_scaled_new : eps_abs:float ->
eps_rel:float ->
a_y:float -> a_dydt:float -> scale_abs:float array -> control
val control_name : control -> string

type hadjust =
| HADJ_DEC
| HADJ_NIL
| HADJ_INC
val control_hadjust : control ->
step ->
y:float array ->
yerr:float array -> dydt:float array -> h:float -> hadjust * float
type evolve 
val make_evolve : int -> evolve
val evolve_reset : evolve -> unit
val evolve_apply : evolve ->
control ->
step ->
system ->
t:float -> t1:float -> h:float -> y:float array -> float * float