class tinygp.noise.Banded(diag: tinygp.helpers.JAXArray, off_diags: tinygp.helpers.JAXArray)[source]#

Bases: tinygp.noise.Noise

A banded observation noise model

This model captures noise that can be represented by a small number of off-diagonal elements in the observation matrix. One practical example of such an observation model is discussed by Delisle et al. (2020). This matrix is defined by two arrays: diag and off_diags, with shapes (N,) and (N, J) respectively, where N is the number of data points and J is the number of non-zero off-diagonals required.

For example, the following matrix has N = 4 and J = 2:

\[\begin{split}N = \left(\begin{array}{cccc} n_{11} & n_{12} & n_{13} & 0 \\ n_{12} & n_{22} & n_{23} & n_{24} \\ n_{13} & n_{23} & n_{33} & n_{34} \\ 0 & n_{24} & n_{34} & n_{44} \end{array}\right)\end{split}\]

and it would be represented by the following arrays:

diag = [n11, n22, n33, n44]


off_diags = [
    [n12, n13],
    [n23, n24],
    [n34,  * ],
    [ *,   * ],

Where * represents an element that can have any arbitrary value, since it won’t ever be accessed.

diagonal() tinygp.helpers.JAXArray[source]#

The diagonal elements of the noise model as an array

to_qsm() SymmQSM[source]#

This noise model represented as a quasiseparable matrix