package owl-ode-base

  1. Overview
  2. Docs

Parameters

module M : Owl_types_ndarray_algodiff.Sig with type elt = float

Signature

type f_t = M.arr -> float -> M.arr
val prepare : ('a -> dt:float -> M.arr -> float -> M.arr * float) -> 'a -> M.arr -> Types.tspec -> unit -> M.arr * M.arr
val adaptive_prepare : (dtmax:float -> 'a -> dt:float -> M.arr -> float -> M.arr * float * float * bool) -> 'a -> M.arr -> Types.tspec -> unit -> M.arr * M.arr
val euler_s : f_t -> dt:float -> M.arr -> float -> M.arr * float
val midpoint_s : f_t -> dt:float -> M.arr -> float -> M.arr * float
val rk4_s : f_t -> dt:float -> M.arr -> float -> M.arr * float
val rk23_s : tol:float -> dtmax:float -> f_t -> dt:float -> M.arr -> float -> M.arr * float * float * bool
val rk45_s : tol:float -> dtmax:float -> f_t -> dt:float -> M.arr -> float -> M.arr * float * float * bool
val euler : (module Types.Solver with type f = M.arr -> float -> M.arr and type solve_output = M.arr * M.arr and type state = M.arr and type step_output = M.arr * float)
val midpoint : (module Types.Solver with type f = M.arr -> float -> M.arr and type solve_output = M.arr * M.arr and type state = M.arr and type step_output = M.arr * float)
val rk4 : (module Types.Solver with type f = M.arr -> float -> M.arr and type solve_output = M.arr * M.arr and type state = M.arr and type step_output = M.arr * float)
val rk23 : tol:float -> dtmax:float -> (module Types.Solver with type f = M.arr -> float -> M.arr and type solve_output = M.arr * M.arr and type state = M.arr and type step_output = M.arr * float * float * bool)
val rk45 : tol:float -> dtmax:float -> (module Types.Solver with type f = M.arr -> float -> M.arr and type solve_output = M.arr * M.arr and type state = M.arr and type step_output = M.arr * float * float * bool)
val to_state_array : ?axis:int -> (int * int) -> M.arr -> M.arr array