White
White
White(
active_dims: list[int] | slice | None = None,
variance: ScalarFloat | AbstractUnwrappable = 1.0,
n_dims: int | None = None,
compute_engine: AbstractKernelComputation = ConstantDiagonalKernelComputation(),
)
Bases: StationaryKernel
The White noise kernel.
Computes the covariance for pairs of inputs \((x, y)\) with variance \(\sigma^2\): $$ k(x, y) = \sigma^2 \delta(x-y) $$
Parameters:
-
active_dims(list[int] | slice | None, default:None) βThe indices of the input dimensions that the kernel operates on.
-
variance(ScalarFloat | AbstractUnwrappable, default:1.0) βthe variance of the kernel Ο.
-
n_dims(int | None, default:None) βThe number of input dimensions.
-
compute_engine(AbstractKernelComputation, default:ConstantDiagonalKernelComputation()) βThe computation engine that the kernel uses to compute the covariance matrix
spectral_density
property
The normalised spectral measure \(p(\boldsymbol{\omega})\) of the kernel.
By Bochner's theorem, a stationary kernel is the Fourier transform of a finite measure. This property returns that measure normalised to a probability distribution over \(\mathbb{R}^D\), so that
The measure depends on the lengthscale \(\ell\) (as an inverse scale) but not on the variance \(\sigma^2\): the variance is the measure's total mass, which normalisation divides out, and it re-enters as the explicit prefactor above. The unnormalised spectral density of Rasmussen & Williams (2006, Β§4.2.1) is recovered as \(S(\boldsymbol{\omega}) = \sigma^2 (2\pi)^D p(\boldsymbol{\omega})\) under the convention \(k(\boldsymbol{\tau}) = (2\pi)^{-D}\int S(\boldsymbol{\omega}) e^{i\boldsymbol{\omega}^\top\boldsymbol{\tau}}\,d\boldsymbol{\omega}\).
Returns:
-
MultivariateNormal | MultivariateStudentTβThe spectral measure as a \(D\)-dimensional numpyro distribution.
cross_covariance
Compute the cross-covariance matrix of the kernel.
Parameters:
-
x(Num[Array, 'N D']) βthe first input matrix of shape
(N, D). -
y(Num[Array, 'M D']) βthe second input matrix of shape
(M, D).
Returns:
-
Float[Array, 'N M']βThe cross-covariance matrix of the kernel of shape
(N, M).
gram
Compute the gram matrix of the kernel.
Parameters:
-
x(Num[Array, 'N D']) βthe input matrix of shape
(N, D).
Returns:
-
AbstractLinearOperatorβ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:
-
AbstractLinearOperatorβ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.