Powered Exponential
PoweredExponential
PoweredExponential(active_dims=None, lengthscale=1.0, variance=1.0, power=1.0, n_dims=None, compute_engine=DenseKernelComputation())
Bases: StationaryKernel
The powered exponential family of kernels.
Computes the covariance for pairs of inputs \((x, y)\) with length-scale parameter \(\ell\), \(\sigma\) and power \(\kappa\). $$ k(x, y)=\sigma^2\exp\Bigg(-\Big(\frac{\lVert x-y\rVert^2}{\ell^2}\Big)^\kappa\Bigg) $$
This also equivalent to the symmetric generalized normal distribution. See Diggle and Ribeiro (2007) - "Model-based Geostatistics". and https://en.wikipedia.org/wiki/Generalized_normal_distribution#Symmetric_version
Parameters:
-
active_dims
(Union[list[int], slice, None]
, default:None
) βthe indices of the input dimensions that the kernel operates on.
-
lengthscale
(Union[LengthscaleCompatible, Variable[Lengthscale]]
, default:1.0
) βthe lengthscale(s) of the kernel β. If a scalar or an array of length 1, the kernel is isotropic, meaning that the same lengthscale is used for all input dimensions. If an array with length > 1, the kernel is anisotropic, meaning that a different lengthscale is used for each input.
-
variance
(Union[ScalarFloat, Variable[ScalarArray]]
, default:1.0
) βthe variance of the kernel Ο.
-
power
(Union[ScalarFloat, Variable[ScalarArray]]
, default:1.0
) βthe power of the kernel ΞΊ.
-
n_dims
(Union[int, None]
, default:None
) βthe number of input dimensions. If
lengthscale
is an array, this argument is ignored. -
compute_engine
(AbstractKernelComputation
, default:DenseKernelComputation()
) βthe computation engine that the kernel uses to compute the covariance matrix.
spectral_density
property
The spectral density of the kernel.
Returns:
-
Distribution
βCallable[[Float[Array, "D"]], Float[Array, "D"]]: The spectral density function.
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:
-
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:
-
Float[Array, ' N']
β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.