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