Module Interfaces

module Interfaces: sig .. end
Representations of (sparse) derivative matrices



Representations of (sparse) derivative matrices

module Sparse_indices: Gpr_utils.Int_vec
Representation of indices into sparse matrices
type common_mat_deriv = [ `Const of float
| `Dense of Lacaml.D.mat
| `Factor of float
| `Sparse_rows of Lacaml.D.mat * Sparse_indices.t ]
Derivative representations for both symmetric and unsymmetric matrices.


type mat_deriv = [ `Const of float
| `Dense of Lacaml.D.mat
| `Factor of float
| `Sparse_cols of Lacaml.D.mat * Sparse_indices.t
| `Sparse_rows of Lacaml.D.mat * Sparse_indices.t ]
Only general matrices support sparse column representations.


type symm_mat_deriv = [ `Const of float
| `Dense of Lacaml.D.mat
| `Diag_const of float
| `Diag_vec of Lacaml.D.vec
| `Factor of float
| `Sparse_rows of Lacaml.D.mat * Sparse_indices.t ]
Only symmetric (square) matrices support diagonal vectors and diagonal constants as derivatives.

Note that sparse rows do not need to compute or store all elements for symmetric matrices. Entries that have already appeared in previous rows by symmetry can be left uninitialized.
type diag_deriv = [ `Const of float
| `Factor of float
| `Sparse_vec of Lacaml.D.vec * Sparse_indices.t
| `Vec of Lacaml.D.vec ]
Derivatives of diagonal matrices.


module Specs: sig .. end
Specifications of covariance functions (= kernels) and their derivatives
module Sigs: sig .. end
Signatures for learning sparse Gaussian processes with inducing inputs