Lcm
LCMKernel
LCMKernel(
kernels: list[AbstractKernel],
coregionalization_matrices: list[
CoregionalizationMatrix
],
)
Bases: MultiOutputKernel
Linear Model of Coregionalization kernel.
Generalises ICM by combining Q independent latent kernels, each with its own coregionalization matrix: K = ฮฃ_q B^(q) โ k_q(X, X).
When Q=1 this is equivalent to an ICM and retains Kronecker structure. When Q>1 the sum is materialised to a dense matrix.
Parameters:
-
kernels(list[AbstractKernel]) โList of Q latent kernels.
-
coregionalization_matrices(list[CoregionalizationMatrix]) โList of Q coregionalization matrices. All must have the same num_outputs.
from_icm_components
classmethod
Build an LCM from a list of ICMKernel instances.
Parameters:
-
icm_kernels(list) โList of ICMKernel objects. Each contributes its base_kernel and coregionalization_matrix as one LCM component.
Returns:
-
LCMKernelโAn LCMKernel combining all components.
cross_covariance
Cross-covariance for multi-output kernels.
Returns shape [NP, MP] where P is num_outputs โ overrides the single-output [N, M] annotation.
gram
Compute the gram matrix of the kernel.
Parameters:
-
x(Num[Array, 'N D']) โthe input matrix of shape
(N, D).
Returns:
-
LinearOperatorโThe gram matrix of the kernel of shape
(N, N).
diagonal
Compute the diagonal of the gram matrix of the kernel.
Parameters:
-
x(Num[Array, 'N D']) โthe input matrix of shape
(N, D).
Returns:
-
LinearOperatorโThe diagonal of the gram matrix of the kernel of shape
(N,).
slice_input
Slice out the relevant columns of the input matrix.
Select the relevant columns of the supplied matrix to be used within the kernel's evaluation.
Parameters:
-
x(Float[Array, '... D']) โthe matrix or vector that is to be sliced.
Returns:
-
Float[Array, '... Q']โThe sliced form of the input matrix.
__add__
Add two kernels together. Args: other (AbstractKernel): The kernel to be added to the current kernel.
Returns:
-
AbstractKernel(AbstractKernel) โA new kernel that is the sum of the two kernels.
__mul__
Multiply two kernels together.
Parameters:
-
other(AbstractKernel) โThe kernel to be multiplied with the current kernel.
Returns:
-
AbstractKernel(AbstractKernel) โA new kernel that is the product of the two kernels.