class LaplacianKernel

class deeptime.kernels.LaplacianKernel(sigma)

Implementation of the Laplacian kernel

κ(x,y)=exp(xy2/σ),\kappa (x,y) = \exp \left( \| x-y \|_2 / \sigma\right),

where σ\sigma is the bandwidth of the kernel.

Methods

apply(data_1, data_2)

Applies the kernel to data arrays.

gram(data)

Computes the corresponding Gram matrix, see also apply().

__call__(x, y)

Computes the value of the kernel at two specific points.

Parameters:
  • x ((d,) ndarray) – X point.

  • y ((d,) ndarray) – Y point.

Returns:

kxy – The kernel evaluation κ(x,y)\kappa (x, y).

Return type:

float

Notes

This dispatches to _evaluate() which is an interface method intended to be overridden by a specific kernel implementation.

apply(data_1: ndarray, data_2: ndarray) ndarray

Applies the kernel to data arrays.

Given xRT1×dx\in\mathbb{R}^{T_1 \times d} and yRT2×dy\in\mathbb{R}^{T_2\times d}, it yields a kernel matrix

K=(κ(xi,yj))i,jRT1×T2.K = (\kappa(x_i, y_j))_{i,j}\in\mathbb{R}^{T_1\times T_2}.

Note that this corresponds to the kernel Gramian in case x=yx = y.

Parameters:
  • data_1 ((T_1, d) ndarray) – Data array.

  • data_2 ((T_2, d) ndarray) – Data array.

Returns:

K – The kernel matrix.

Return type:

(T_1, T_2) ndarray

gram(data: ndarray) ndarray

Computes the corresponding Gram matrix, see also apply().

Parameters:

data ((T, d) ndarray) – The data array.

Returns:

G – The kernel Gramian with G[i, j] = k(x[i], x[j]).

Return type:

(T, T) ndarray