pyriemann.utils.kernel.kernel

pyriemann.utils.kernel.kernel(X, Y=None, *, Cref=None, metric='riemann', reg=1e-10)

Kernel matrix between matrices according to a specified metric.

Calculates the kernel matrix K of inner products of two sets X and Y of matrices on the tangent space at Cref according to a specified metric.

Parameters:
Xndarray, shape (n_matrices_X, n, n)

First set of matrices.

YNone | ndarray, shape (n_matrices_Y, n, n), default=None

Second set of matrices. If None, Y is set to X.

CrefNone | ndarray, shape (n, n), default=None

Reference point for the tangent space and inner product calculation. Only used if metric=”riemann”.

metricstring | callable, default=”riemann”

Metric used for tangent space and mean estimation, can be: “euclid”, “logeuclid”, “riemann”, or a callable function.

regfloat, default=1e-10

Regularization parameter to mitigate numerical errors in kernel matrix estimation, to provide a positive-definite kernel matrix.

Returns:
Kndarray, shape (n_matrices_X, n_matrices_Y)

The kernel matrix between X and Y.

Notes

New in version 0.3.