Product#
- class tinygp.kernels.quasisep.Product(kernel1: Quasisep, kernel2: Quasisep)[source]#
Bases:
QuasisepA helper to represent the product of two quasiseparable kernels
- coord_to_sortable(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#
We assume that both kernels use the same coordinates
- evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray#
The kernel evaluated via the quasiseparable representation
- evaluate_diag(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray#
For quasiseparable kernels, the variance is simple to compute
- observation_model(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#
The observation model for the process
- to_general_qsm(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) GeneralQSM#
The generalized quasiseparable representation of this kernel
- to_symm_qsm(X: tinygp.helpers.JAXArray) SymmQSM#
The symmetric quasiseparable representation of this kernel
- transition_matrix(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#
The adjoint transition matrix between two coordinates.
If a column-state mean propagates from
X1toX2asm2 = F @ m1, this method must returnF.T. Equivalently, tinygp’s Kalman implementation propagates means usingtransition_matrix(X1, X2).T @ m1.