sig
module type Kernel =
sig
type t
type params
val create :
Gpr_interfaces.Specs.Kernel.params -> Gpr_interfaces.Specs.Kernel.t
val get_params :
Gpr_interfaces.Specs.Kernel.t -> Gpr_interfaces.Specs.Kernel.params
end
module type Eval =
sig
module Kernel : Kernel
module Inducing :
sig
type t
val get_n_points : Gpr_interfaces.Specs.Eval.Inducing.t -> int
val calc_upper :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inducing.t -> Lacaml.D.mat
end
module Input :
sig
type t
val eval :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Input.t ->
Gpr_interfaces.Specs.Eval.Inducing.t -> Lacaml.D.vec
val weighted_eval :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Input.t ->
Gpr_interfaces.Specs.Eval.Inducing.t ->
coeffs:Lacaml.D.vec -> float
val eval_one :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Input.t -> float
end
module Inputs :
sig
type t
val create :
Gpr_interfaces.Specs.Eval.Input.t array ->
Gpr_interfaces.Specs.Eval.Inputs.t
val get_n_points : Gpr_interfaces.Specs.Eval.Inputs.t -> int
val choose_subset :
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_utils.Int_vec.t -> Gpr_interfaces.Specs.Eval.Inputs.t
val create_inducing :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Eval.Inducing.t
val create_default_kernel_params :
Gpr_interfaces.Specs.Eval.Inputs.t ->
n_inducing:int -> Gpr_interfaces.Specs.Kernel.params
val calc_upper :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inputs.t -> Lacaml.D.mat
val calc_diag :
Gpr_interfaces.Specs.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inputs.t -> Lacaml.D.vec
val calc_cross :
Gpr_interfaces.Specs.Kernel.t ->
inputs:Gpr_interfaces.Specs.Eval.Inputs.t ->
inducing:Gpr_interfaces.Specs.Eval.Inducing.t -> Lacaml.D.mat
val weighted_eval :
Gpr_interfaces.Specs.Kernel.t ->
inputs:Gpr_interfaces.Specs.Eval.Inputs.t ->
inducing:Gpr_interfaces.Specs.Eval.Inducing.t ->
coeffs:Lacaml.D.vec -> Lacaml.D.vec
end
end
module type Deriv =
sig
module Eval : Eval
module Hyper :
sig
type t
val get_all :
Eval.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inducing.t ->
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Deriv.Hyper.t array
val get_value :
Eval.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inducing.t ->
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Deriv.Hyper.t -> float
val set_values :
Eval.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inducing.t ->
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Deriv.Hyper.t array ->
Lacaml.D.vec ->
Eval.Kernel.t * Gpr_interfaces.Specs.Eval.Inducing.t *
Gpr_interfaces.Specs.Eval.Inputs.t
end
module Inducing :
sig
type upper
val calc_shared_upper :
Eval.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inducing.t ->
Lacaml.D.mat * Gpr_interfaces.Specs.Deriv.Inducing.upper
val calc_deriv_upper :
Gpr_interfaces.Specs.Deriv.Inducing.upper ->
Gpr_interfaces.Specs.Deriv.Hyper.t ->
Gpr_interfaces.symm_mat_deriv
end
module Inputs :
sig
type diag
type cross
val calc_shared_diag :
Eval.Kernel.t ->
Gpr_interfaces.Specs.Eval.Inputs.t ->
Lacaml.D.vec * Gpr_interfaces.Specs.Deriv.Inputs.diag
val calc_shared_cross :
Eval.Kernel.t ->
inputs:Gpr_interfaces.Specs.Eval.Inputs.t ->
inducing:Gpr_interfaces.Specs.Eval.Inducing.t ->
Lacaml.D.mat * Gpr_interfaces.Specs.Deriv.Inputs.cross
val calc_deriv_diag :
Gpr_interfaces.Specs.Deriv.Inputs.diag ->
Gpr_interfaces.Specs.Deriv.Hyper.t -> Gpr_interfaces.diag_deriv
val calc_deriv_cross :
Gpr_interfaces.Specs.Deriv.Inputs.cross ->
Gpr_interfaces.Specs.Deriv.Hyper.t -> Gpr_interfaces.mat_deriv
end
end
module type Optimizer =
sig
module Eval : Eval
module Var : sig type t end
module Input :
sig
val get_vars :
Gpr_interfaces.Specs.Eval.Input.t ->
Gpr_interfaces.Specs.Optimizer.Var.t array
val get_value :
Gpr_interfaces.Specs.Eval.Input.t ->
Gpr_interfaces.Specs.Optimizer.Var.t -> float
val set_values :
Gpr_interfaces.Specs.Eval.Input.t ->
Gpr_interfaces.Specs.Optimizer.Var.t array ->
Lacaml.D.vec -> Gpr_interfaces.Specs.Eval.Input.t
end
module Inputs :
sig
val get_vars :
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Optimizer.Var.t array
val get_value :
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Optimizer.Var.t -> float
val set_values :
Gpr_interfaces.Specs.Eval.Inputs.t ->
Gpr_interfaces.Specs.Optimizer.Var.t array ->
Lacaml.D.vec -> Gpr_interfaces.Specs.Eval.Inputs.t
end
end
end