Glossary#

This glossary defines key terms used throughout SPD Learn documentation.

BCI#

Brain-Computer Interface. A system that translates brain activity (typically EEG) into commands for external devices. Motor imagery classification is a common BCI paradigm.

BiMap#

Bilinear Mapping Layer. A neural network layer that performs the transformation \(Y = W^\top X W\) where \(W\) is constrained to the Stiefel manifold. This is the SPD analog of a linear layer.

Covariance Matrix#

A matrix capturing the pairwise statistical relationships between variables: \(\Sigma_{ij} = \text{Cov}(X_i, X_j)\). Covariance matrices are symmetric and positive semi-definite (SPD if full rank).

CSP#

Common Spatial Patterns. A spatial filtering technique for EEG that maximizes variance differences between classes. TensorCSPNet learns CSP-like filters through BiMap layers.

Domain Adaptation#

Techniques for adapting a model trained on one domain (e.g., one recording session) to perform well on a different domain (e.g., another session) [Zanini et al., 2017]. TSMNet with SPDBatchNormMeanVar enables source-free unsupervised domain adaptation.

EEGSPDNet#

A model using channel-specific (grouped) convolutions before covariance computation, allowing each EEG channel to learn independent temporal filters.

Eigendecomposition#

Factorization of a matrix as \(X = U \Lambda U^\top\) where \(U\) contains eigenvectors and \(\Lambda\) is diagonal with eigenvalues. Fundamental operation for SPD matrix computations.

ExpEig#

Exponential Eigenvalue Layer. The inverse of LogEig, mapping symmetric matrices back to the SPD manifold via matrix exponential: \(\expeig(X) = U \exp(\Lambda) U^\top\).

Filter Bank#

Decomposition of a signal into multiple frequency bands using bandpass filters. TensorCSPNet processes filter bank representations to capture frequency-specific patterns [Ju and Guan, 2023].

Fréchet Mean#

The generalization of the arithmetic mean to Riemannian manifolds. For SPD matrices, it minimizes the sum of squared geodesic distances. Used in SPDBatchNormMean and SPDBatchNormMeanVar for centering.

Geodesic#

The shortest path between two points on a manifold. On the SPD manifold, geodesics are curves that preserve the Riemannian structure. The geodesic distance measures length along these paths.

Geodesic Distance#

The length of the shortest path (geodesic) between two points on a manifold. For SPD matrices \(A\) and \(B\), the affine-invariant Riemannian distance is \(\frob{\log(A^{-1/2} B A^{-1/2})}\).

GREEN#

Gabor Riemann EEGNet. A lightweight model using learnable Gabor wavelets for time-frequency feature extraction combined with SPDNet layers for classification.

Loewner Matrix#

A matrix used in computing gradients through eigenvalue functions. For function \(f\), element \(L_{ij} = (f(\lambda_i) - f(\lambda_j)) / (\lambda_i - \lambda_j)\) when \(i \neq j\), and \(L_{ii} = f'(\lambda_i)\).

Log-Euclidean Distance#

A computationally efficient distance metric for SPD matrices: \(\frob{\log(A) - \log(B)}\). Faster than geodesic distance but less geometrically accurate.

LogEig#

Logarithmic Eigenvalue Layer. Maps SPD matrices to the tangent space via matrix logarithm: \(\logeig(X) = U \log(\Lambda) U^\top\). Converts the curved SPD manifold to flat Euclidean space for classification.

MAtt#

Manifold Attention Network. A model that applies attention mechanisms on the SPD manifold, computing attention weights based on Log-Euclidean distance between SPD matrices.

Motor Imagery#

Mental rehearsal of a motor action without physical execution. Produces characteristic EEG patterns (mu/beta desynchronization) that can be decoded for BCI applications.

Phase-Space Embedding#

Reconstruction of a dynamical system’s state space from a single time series using time-delayed copies: \([x(t), x(t-\tau), x(t-2\tau), \ldots]\). Based on Takens’ embedding theorem.

PhaseSPDNet#

A model that applies phase-space embedding (time-delay coordinates) to input signals before SPDNet processing, capturing nonlinear dynamical structure.

ReEig#

Rectified Eigenvalue Layer. A non-linearity for SPD matrices that clamps eigenvalues to be above a threshold: \(\reeig(X) = U \max(\Lambda, \varepsilon) U^\top\). Similar to ReLU in standard networks.

Riemannian Manifold#

A smooth manifold equipped with a Riemannian metric that allows measuring distances and angles. The space of SPD matrices forms a Riemannian manifold where standard Euclidean operations do not apply directly.

Sample Covariance#

An estimator of the covariance matrix from samples: \(\hat{\Sigma} = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})(x_i - \bar{x})^\top\). May not be SPD with few samples; use regularization.

SFUDA#

Source-Free Unsupervised Domain Adaptation. Domain adaptation without access to source domain data during adaptation. Achieved in SPD Learn by updating SPDBatchNormMeanVar running statistics on unlabeled target data.

Shrinkage#

A regularization technique that interpolates between the sample covariance and a structured estimate (e.g., diagonal): \(\hat{\Sigma}_{\text{shrink}} = (1-\alpha)\hat{\Sigma} + \alpha \cdot \text{target}\). Ledoit-Wolf shrinkage automatically selects optimal \(\alpha\).

SPD Matrix#

Symmetric Positive Definite Matrix. A square matrix \(X\) that is symmetric (\(X = X^\top\)) and has all positive eigenvalues. SPD matrices form a Riemannian manifold and commonly arise as covariance matrices.

SPDBatchNormMean#

Riemannian batch normalization that centers SPD matrices at their Fréchet mean: \(\tilde{P}_i = G^{-1/2} P_i G^{-1/2}\). Based on Brooks et al. (2019).

SPDBatchNormMeanVar#

Extended batch normalization for SPD matrices that normalizes both mean (via Fréchet mean) and dispersion (via power transformation). Enables domain adaptation through domain-specific statistics.

Stiefel Manifold#

The manifold of orthonormal matrices \(W\) satisfying \(W^\top W = I\). The weight matrices in BiMap are constrained to this manifold to preserve the SPD structure.

Tangent Space#

The vector space of all possible directions at a point on a manifold. For SPD matrices, the tangent space at a point is the space of symmetric matrices. The LogEig operation projects SPD matrices to the tangent space at the identity.

TensorCSPNet#

A model that stacks covariance matrices from multiple frequency bands into a tensor structure and processes them through SPDNet layers to capture temporal, spectral, and spatial information jointly.

Trivialization#

A technique for optimizing manifold-constrained parameters by mapping from unconstrained Euclidean space to the manifold. SPD Learn uses trivialization for Stiefel manifold (BiMap weights) and SPD (batch norm parameters) constraints.

TSMNet#

Tangent Space Mapping Network. A model combining convolutional features, covariance pooling, and SPDBatchNormMeanVar for domain adaptation in EEG classification.