module Interfaces:`sig`

..`end`

`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.

- Dense: matrix is dense.
- Sparse_rows: matrix is zero everywhere except for rows whose index is stored in the sparse index argument. The rows in the matrix correspond to the given indices.
- Const: matrix is constant everywhere.
- Factor: matrix is the non-derived matrix times the given factor (useful with exponential functions).

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.

- Sparse_cols: matrix is zero everywhere except for columns whose index is stored in the sparse index argument. The columns in the matrix correspond to the given indices.

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.

- Diag_vec: matrix is zero everywhere except for the diagonal whose values are given in the argument.
- Diag_const: matrix is zero everywhere except for the diagonal whose values are set to the given constant.

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.

- Vec: the derivatives of the diagonal given in a dense vector.
- Sparse_vec: matrix is zero everywhere except at those indices along the diagonal that are mentioned in the sparse indices argument. The element associated with such an index is stored in the vector argument.
- Const: the derivative of the diagonal matrix is a constant.
- Factor: the derivative of the diagonal is the the non-derived diagonal matrix times the given factor (useful with exponential functions).

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