sig
type system
val make_system :
(float -> float array -> float array -> unit) ->
?jac:(float -> float array -> Gsl_matrix.matrix -> float array -> unit) ->
int -> Gsl_odeiv.system
type step
type step_kind =
RK2
| RK4
| RKF45
| RKCK
| RK8PD
| RK2IMP
| RK2SIMP
| RK4IMP
| BSIMP
| GEAR1
| GEAR2
val make_step : Gsl_odeiv.step_kind -> dim:int -> Gsl_odeiv.step
external step_reset : Gsl_odeiv.step -> unit = "ml_gsl_odeiv_step_reset"
external step_name : Gsl_odeiv.step -> string = "ml_gsl_odeiv_step_name"
external step_order : Gsl_odeiv.step -> int = "ml_gsl_odeiv_step_order"
external step_apply :
Gsl_odeiv.step ->
t:float ->
h:float ->
y:float array ->
yerr:float array ->
?dydt_in:float array -> ?dydt_out:float array -> Gsl_odeiv.system -> unit
= "ml_gsl_odeiv_step_apply_bc" "ml_gsl_odeiv_step_apply"
type control
val make_control_standard_new :
eps_abs:float ->
eps_rel:float -> a_y:float -> a_dydt:float -> Gsl_odeiv.control
val make_control_y_new :
eps_abs:float -> eps_rel:float -> Gsl_odeiv.control
val make_control_yp_new :
eps_abs:float -> eps_rel:float -> Gsl_odeiv.control
val make_control_scaled_new :
eps_abs:float ->
eps_rel:float ->
a_y:float -> a_dydt:float -> scale_abs:float array -> Gsl_odeiv.control
external control_name : Gsl_odeiv.control -> string
= "ml_gsl_odeiv_control_name"
type hadjust = HADJ_DEC | HADJ_NIL | HADJ_INC
external control_hadjust :
Gsl_odeiv.control ->
Gsl_odeiv.step ->
y:float array ->
yerr:float array ->
dydt:float array -> h:float -> Gsl_odeiv.hadjust * float
= "ml_gsl_odeiv_control_hadjust_bc" "ml_gsl_odeiv_control_hadjust"
type evolve
val make_evolve : int -> Gsl_odeiv.evolve
external evolve_reset : Gsl_odeiv.evolve -> unit
= "ml_gsl_odeiv_evolve_reset"
external evolve_apply :
Gsl_odeiv.evolve ->
Gsl_odeiv.control ->
Gsl_odeiv.step ->
Gsl_odeiv.system ->
t:float -> t1:float -> h:float -> y:float array -> float * float
= "ml_gsl_odeiv_evolve_apply_bc" "ml_gsl_odeiv_evolve_apply"
end