Module Lbfgs.Make
Parameters
AD : Owl_algodiff_generic_sig.Sig with type AD.A.elt = Base.floatCast : Cast with type arr := AD.A.arrP : Owl_opt.Prms.PT
Signature
type fv= AD.ttype prm= AD.ttype prms= prm P.ttype f= Base.int -> prms -> fvtype adt=|S|Mtype info= (Base.int * Base.int * Base.int Base.array * adt) P.t
val build_info : prms -> Base.int * infoval extract : (int * int * int array * adt) P.t -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> AD.t P.tval blit : ('a -> AD.t) -> (int * int * int array * 'b) P.t -> 'a P.t -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> unit
type state={mutable fv_hist : Base.float Base.list;mutable k : Base.int;work : Owl_opt_lbfgs__.Bindings.work;ps : (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t;n_prms : Base.int;info : info;}type status=|Stop of Base.float|Continue of Base.floattype stop= Base.float -> state -> Base.bool
val iter : state -> Base.intval prev_fv : state -> Base.floatval fv_hist : state -> Base.float Base.List.tval prms : state -> AD.t P.tval init : ?corrections:int -> prms0:prms -> unit -> stateval f_df : f:(Base.int -> AD.t P.t -> AD.t) -> state -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> floatval stop : Base.Float.t -> state -> boolval step : (pgtol:float -> factr:float -> work:Owl_opt_lbfgs__.Bindings.work -> ((Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> float) -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> 'a -> Owl_opt_lbfgs__.Bindings.lbfgs_status) -> ?pgtol:float -> ?factr:float -> ?stop:(Base.Float.t -> state -> bool) -> f:(Base.int -> AD.t P.t -> AD.t) -> state -> 'a -> statusval lmin : pgtol:float -> factr:float -> work:Owl_opt_lbfgs__.Bindings.work -> (Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.vec -> float) -> Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.lbfgs_statusval lmax : pgtol:float -> factr:float -> work:Owl_opt_lbfgs__.Bindings.work -> (Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.vec -> float) -> Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.vec -> Owl_opt_lbfgs__.Bindings.lbfgs_statusval optimise : (pgtol:float -> factr:float -> work:Owl_opt_lbfgs__.Bindings.work -> ((Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> float) -> (Base.float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> (float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> Owl_opt_lbfgs__.Bindings.lbfgs_status) -> ?pgtol:float -> ?factr:float -> ?stop:(Base.Float.t -> state -> bool) -> f:(Base.int -> AD.t P.t -> AD.t) -> state -> Base.floatval min : ?pgtol:float -> ?factr:float -> ?stop:(Base.Float.t -> state -> bool) -> f:(Base.int -> AD.t P.t -> AD.t) -> state -> Base.floatval max : ?pgtol:float -> ?factr:float -> ?stop:(Base.Float.t -> state -> bool) -> f:(Base.int -> AD.t P.t -> AD.t) -> state -> Base.float