class tinygp.solvers.quasisep.core.LowerTriQSM(diag: tinygp.solvers.quasisep.core.DiagQSM, lower: tinygp.solvers.quasisep.core.StrictLowerTriQSM)[source]#

Bases: tinygp.solvers.quasisep.core.QSM

A lower triangular quasiseparable matrix

  • diag – The diagonal elements.

  • lower – The strictly lower triangular elements.

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.

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

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

property shape: Tuple[int, int]#

The shape of the matrix

solve(y: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

Solve a linear system with this matrix

If this matrix is called L, this solves L @ x = y for x given y, using forward substitution.


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

to_dense() tinygp.helpers.JAXArray#

Render this representation to a dense matrix

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

transpose() UpperTriQSM[source]#

The matrix transpose as a QSM