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.

It calculates the kernel matrix \(\mathbf{K}\) of pairwise inner products of two sets \(\mathbf{X}\) and \(\mathbf{Y}\) of matrices on the tangent space at \(\mathbf{C}_\text{ref}\), 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 matrix.

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

When Y is None, 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)

Kernel matrix between X and Y.

Notes

Added in version 0.3.