class tinygp.solvers.quasisep.core.QSM(*args: Any, **kwargs: Any)[source]#

Bases: object

The base class for all square quasiseparable matrices

This class has blanket implementations of the standard operations that are implemented for all QSMs, like addtion, subtraction, multiplication, and matrix multiplication.

abstract matmul(x: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

The dot product of this matrix with a dense vector or matrix


x (n, ...) – A matrix or vector with leading dimension matching this matrix.

abstract scale(other: tinygp.helpers.JAXArray) QSM[source]#

The multiplication of this matrix times a scalar, as a QSM

property shape: Tuple[int, int]#

The shape of the matrix

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

Render this representation to a dense matrix

This implementation is not optimized and should really only ever be used for testing purposes.

abstract transpose() Any[source]#

The matrix transpose as a QSM