MultiOutputKernel#

class gpjax.kernels.MultiOutputKernel(active_dims=None, n_dims=None, compute_engine=<gpjax.kernels.computations.dense.DenseKernelComputation object>)[source]#

Bases: AbstractKernel

Base class for multi-output kernels.

Multi-output kernels produce structured covariance matrices (Kronecker, BlockDiag, etc.) over the joint input-output space. They do not support point-pair evaluation via __call__; all computation goes through the compute engine’s gram() and cross_covariance() methods.

Parameters:
  • active_dims (list[int] | slice)

  • n_dims (int | None)

  • compute_engine (AbstractKernelComputation)

abstract property components: tuple[tuple[CoregionalizationMatrix, AbstractKernel], ...]#

Paired (coregionalization_matrix, kernel) components.

cross_covariance(x, y)[source]#

Cross-covariance for multi-output kernels.

Returns shape [NP, MP] where P is num_outputs — overrides the single-output [N, M] annotation.

Parameters:
  • x (Num[Array, 'N D'])

  • y (Num[Array, 'M D'])

Return type:

Float[Array, …]

abstract property latent_kernels: tuple[AbstractKernel, ...]#

Tuple of latent kernels.

abstract property num_latent_gps: int#

Number of latent GP functions.

abstract property num_outputs: int#

Number of output dimensions.