SymmQSM#
- class tinygp.solvers.quasisep.core.SymmQSM(diag: DiagQSM, lower: StrictLowerTriQSM)[source]#
Bases:
QSMA symmetric order
mquasiseparable matrix- Parameters:
diag – The diagonal elements.
lower – The strictly lower triangular elements with order
m.
- cholesky(*, parallel: bool = False) LowerTriQSM[source]#
The Cholesky decomposition of this matrix
If this matrix is called
A, this method returns theLowerTriQSMLsuch thatL @ L.T = A.- Parameters:
parallel – If
True, use a parallel associative-scan algorithm.
- inv(*, parallel: bool = False) SymmQSM[source]#
The inverse of this matrix
- Parameters:
parallel – If
True, use a parallel associative-scan algorithm.
- matmul(x: tinygp.helpers.JAXArray, *, parallel: bool = False) tinygp.helpers.JAXArray[source]#
The dot product of this matrix with a dense vector or matrix
- Parameters:
x (n, ...) – A matrix or vector with leading dimension matching this matrix.
parallel – If
True, use a parallel associative-scan algorithm instead of the default sequential scan.
- scale(other: tinygp.helpers.JAXArray) SymmQSM[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#
Render this representation to a dense matrix
This implementation is not optimized and should really only ever be used for testing purposes.