# API reference¶

## Covariance Estimation¶

 Covariances([estimator]) Estimation of covariance matrix. ERPCovariances([classes, estimator, svd]) Estimate special form covariance matrix for ERP. XdawnCovariances([nfilter, applyfilters, ...]) Compute xdawn, project the signal and compute the covariances CospCovariances([window, overlap, fmin, ...]) compute the cospectral covariance matrices HankelCovariances([delays, estimator]) Estimation of covariance matrix with time delayed hankel matrices.

## Classification¶

 MDM([metric, n_jobs]) Classification by Minimum Distance to Mean. FgMDM([metric, tsupdate, n_jobs]) Classification by Minimum Distance to Mean with geodesic filtering. TSclassifier([metric, tsupdate, clf, ...]) Classification in the tangent space. KNearestNeighbor([n_neighbors, metric, n_jobs]) Classification by K-NearestNeighbor.

## Clustering¶

 Kmeans([n_clusters, max_iter, metric, ...]) Kmean clustering using Riemannian geometry. KmeansPerClassTransform([n_clusters]) Run kmeans for each class. Potato([metric, threshold, n_iter_max]) Artefact detection with the Riemannian Potato.

## Tangent Space¶

 TangentSpace([metric, tsupdate]) Tangent space project TransformerMixin. FGDA([metric, tsupdate]) Fisher Geodesic Discriminant analysis.

## Spatial Filtering¶

 Xdawn([nfilter, classes, estimator]) Implementation of the Xdawn Algorithm. CSP([nfilter, metric, log]) Implementation of the CSP spatial Filtering with Covariance as input. SPoC([nfilter, metric, log]) Implementation of the SPoC spatial filtering with Covariance as input.

## Channel selection¶

 ElectrodeSelection([nelec, metric, n_jobs]) Channel selection based on a Riemannian geometry criterion.

## Stats¶

 PermutationTest([n_perms, sep_index, ...]) PermutationTestTwoWay([n_perms, sep_index, ...]) SeparabilityIndex([method, metric, estimator]) SeparabilityIndexTwoFactor([method, metric])

## Utils function¶

Utils functions are low level functions that implement most base components of Riemannian Geometry.

### Distances¶

 distance(A, B[, metric]) Distance between two covariance matrices A and B according to the metric. distance_euclid(A, B) Euclidean distance between two covariance matrices A and B. distance_riemann(A, B) Riemannian distance between two covariance matrices A and B. distance_logeuclid(A, B) Log Euclidean distance between two covariance matrices A and B. distance_logdet(A, B) Log-det distance between two covariance matrices A and B. distance_kullback(A, B) Kullback leibler divergence between two covariance matrices A and B. distance_kullback_sym(A, B) Symetrized kullback leibler divergence. distance_wasserstein(A, B) Wasserstein distance between two covariances matrices.

### Mean¶

 mean_covariance(covmats[, metric, sample_weight]) Return the mean covariance matrix according to the metric mean_euclid(covmats[, sample_weight]) Return the mean covariance matrix according to the euclidean metric : mean_riemann(covmats[, tol, maxiter, init, ...]) Return the mean covariance matrix according to the Riemannian metric. mean_logeuclid(covmats[, sample_weight]) Return the mean covariance matrix according to the log-euclidean metric. mean_logdet(covmats[, tol, maxiter, init, ...]) Return the mean covariance matrix according to the logdet metric. mean_wasserstein(covmats[, tol, maxiter, ...]) Return the mean covariance matrix according to the wasserstein metric. mean_ale(covmats[, tol, maxiter, sample_weight]) Return the mean covariance matrix according using the AJD-based log-Euclidean Mean (ALE). mean_harmonic(covmats[, sample_weight]) Return the harmonic mean of a set of covariance matrices. mean_kullback_sym(covmats[, sample_weight]) Return the mean covariance matrix according to KL divergence.

### Geodesic¶

 geodesic(A, B, alpha[, metric]) Return the matrix at the position alpha on the geodesic between A and B according to the metric : geodesic_riemann(A, B[, alpha]) Return the matrix at the position alpha on the riemannian geodesic between A and B : geodesic_euclid(A, B[, alpha]) Return the matrix at the position alpha on the euclidean geodesic between A and B : geodesic_logeuclid(A, B[, alpha]) Return the matrix at the position alpha on the log euclidean geodesic between A and B :

### Tangent Space¶

 tangent_space(covmats, Cref) Project a set of covariance matrices in the tangent space according to the given reference point Cref untangent_space(T, Cref) Project a set of Tangent space vectors in the manifold according to the given reference point Cref

### Base¶

 sqrtm(Ci) Return the matrix square root of a covariance matrix defined by : invsqrtm(Ci) Return the inverse matrix square root of a covariance matrix defined by : expm(Ci) Return the matrix exponential of a covariance matrix defined by : logm(Ci) Return the matrix logarithm of a covariance matrix defined by : powm(Ci, alpha) Return the matrix power $$\alpha$$ of a covariance matrix defined by :

### Aproximate Joint Diagonalization¶

 rjd(X[, eps, n_iter_max]) Approximate joint diagonalization based on jacobi angle. ajd_pham(X[, eps, n_iter_max]) Approximate joint diagonalization based on pham’s algorithm. uwedge(X[, init, eps, n_iter_max]) Approximate joint diagonalization algorithm UWEDGE.