module Test: sig
.. end
Module for testing derivative code
val check_deriv_hyper : ?eps:float ->
?tol:float ->
Eval.Spec.Kernel.t ->
Eval.Spec.Inducing.t ->
Eval.Spec.Inputs.t -> Interfaces.Sigs.Deriv.Deriv.Spec.Hyper.t -> unit
check_deriv_hyper ?eps ?tol kernel inducing_points points hyper
will raise Failure
if the derivative code provided in the
specification of the covariance function given parameter hyper
,
the kernel
, inducing_points
and input points
exceeds the
tolerance tol
when compared to finite differences using epsilon
eps
. The failure exception will contain details on which
derivative matrix was incorrect and indicate the matrix element.
eps
: default = 1e-8
tol
: default = 1e-2
val self_test : ?eps:float ->
?tol:float ->
Eval.Spec.Kernel.t ->
Eval.Spec.Inducing.t ->
Eval.Spec.Inputs.t ->
sigma2:float ->
targets:Lacaml.D.vec ->
[ `Hyper of Interfaces.Sigs.Deriv.Deriv.Spec.Hyper.t | `Sigma2 ] -> unit
self_test ?eps ?tol kernel inducing_points points ~sigma2 ~targets
hyper
will raise Failure
if the internal derivative code for the
log evidence given parameter hyper
, the kernel
,
inducing_points
, input points
, noise level sigma2
and
targets
exceeds the tolerance tol
when compared to finite
differences using epsilon eps
.
eps
: default = 1e-8
tol
: default = 1e-2