sig
module Params :
sig
type params = {
d : int;
log_sf2 : float;
tproj : Lacaml.D.mat option;
log_hetero_skedasticity : Lacaml.D.vec option;
log_multiscales_m05 : Lacaml.D.mat option;
}
type t = private Gpr_cov_se_fat.Params.params
val create : Gpr_cov_se_fat.Params.params -> Gpr_cov_se_fat.Params.t
end
module Eval :
sig
module Kernel :
sig
type t
type params = Params.t
val create : params -> t
val get_params : t -> params
end
module Inducing :
sig
type t = Lacaml.D.mat
val get_n_points : t -> int
val calc_upper : Kernel.t -> t -> Lacaml.D.mat
end
module Input :
sig
type t = Lacaml.D.vec
val eval : Kernel.t -> t -> Inducing.t -> Lacaml.D.vec
val weighted_eval :
Kernel.t -> t -> Inducing.t -> coeffs:Lacaml.D.vec -> float
val eval_one : Kernel.t -> t -> float
end
module Inputs :
sig
type t = Lacaml.D.mat
val create : Input.t array -> t
val get_n_points : t -> int
val choose_subset : t -> Gpr_utils.Int_vec.t -> t
val create_inducing : Kernel.t -> t -> Inducing.t
val create_default_kernel_params :
t -> n_inducing:int -> Kernel.params
val calc_upper : Kernel.t -> t -> Lacaml.D.mat
val calc_diag : Kernel.t -> t -> Lacaml.D.vec
val calc_cross :
Kernel.t -> inputs:t -> inducing:Inducing.t -> Lacaml.D.mat
val weighted_eval :
Kernel.t ->
inputs:t ->
inducing:Inducing.t -> coeffs:Lacaml.D.vec -> Lacaml.D.vec
end
end
module Proj_hyper : sig type t = { big_dim : int; small_dim : int; } end
module Dim_hyper : sig type t = int end
module Inducing_hyper : sig type t = { ind : int; dim : int; } end
module Hyper_repr :
sig
type t =
[ `Inducing_hyper of Gpr_cov_se_fat.Inducing_hyper.t
| `Log_hetero_skedasticity of Gpr_cov_se_fat.Dim_hyper.t
| `Log_multiscale_m05 of Gpr_cov_se_fat.Inducing_hyper.t
| `Log_sf2
| `Proj of Gpr_cov_se_fat.Proj_hyper.t ]
end
module Deriv :
sig
module Eval :
sig
module Kernel :
sig
type t = Eval.Kernel.t
type params = Params.t
val create : params -> t
val get_params : t -> params
end
module Inducing :
sig
type t = Lacaml.D.mat
val get_n_points : t -> int
val calc_upper : Kernel.t -> t -> Lacaml.D.mat
end
module Input :
sig
type t = Lacaml.D.vec
val eval : Kernel.t -> t -> Inducing.t -> Lacaml.D.vec
val weighted_eval :
Kernel.t -> t -> Inducing.t -> coeffs:Lacaml.D.vec -> float
val eval_one : Kernel.t -> t -> float
end
module Inputs :
sig
type t = Lacaml.D.mat
val create : Input.t array -> t
val get_n_points : t -> int
val choose_subset : t -> Gpr_utils.Int_vec.t -> t
val create_inducing : Kernel.t -> t -> Inducing.t
val create_default_kernel_params :
t -> n_inducing:int -> Kernel.params
val calc_upper : Kernel.t -> t -> Lacaml.D.mat
val calc_diag : Kernel.t -> t -> Lacaml.D.vec
val calc_cross :
Kernel.t -> inputs:t -> inducing:Inducing.t -> Lacaml.D.mat
val weighted_eval :
Kernel.t ->
inputs:t ->
inducing:Inducing.t -> coeffs:Lacaml.D.vec -> Lacaml.D.vec
end
end
module Hyper :
sig
type t = Hyper_repr.t
val get_all :
Eval.Kernel.t -> Eval.Inducing.t -> Eval.Inputs.t -> t array
val get_value :
Eval.Kernel.t -> Eval.Inducing.t -> Eval.Inputs.t -> t -> float
val set_values :
Eval.Kernel.t ->
Eval.Inducing.t ->
Eval.Inputs.t ->
t array ->
Lacaml.D.vec -> Eval.Kernel.t * Eval.Inducing.t * Eval.Inputs.t
end
module Inducing :
sig
type upper
val calc_shared_upper :
Eval.Kernel.t -> Eval.Inducing.t -> Lacaml.D.mat * upper
val calc_deriv_upper :
upper -> Hyper.t -> Gpr_interfaces.symm_mat_deriv
end
module Inputs :
sig
type diag
type cross
val calc_shared_diag :
Eval.Kernel.t -> Eval.Inputs.t -> Lacaml.D.vec * diag
val calc_shared_cross :
Eval.Kernel.t ->
inputs:Eval.Inputs.t ->
inducing:Eval.Inducing.t -> Lacaml.D.mat * cross
val calc_deriv_diag : diag -> Hyper.t -> Gpr_interfaces.diag_deriv
val calc_deriv_cross : cross -> Hyper.t -> Gpr_interfaces.mat_deriv
end
end
end