# SPD Learn: A Geometric Deep Learning Python Library for Neural Decoding Through Trivialization

arXiv: https://arxiv.org/abs/2602.22895 · HTML: https://mlsanity.com/paper/2602.22895/

## Key facts

- Cited by 2 papers in the map (data through 14 Oct 2026).
- Builds on 9 of its 19 references that are in the map.
- First posted on arXiv 26 Feb 2026.

## Builds on (most cited first, 9 of 9)

- [A Riemannian Network for SPD Matrix Learning](https://mlsanity.com/paper/1608.04233/) (2016)
- [Trivializations for Gradient-Based Optimization on Manifolds](https://mlsanity.com/paper/1909.09501/) (2019)
- [SPD domain-specific batch normalization to crack interpretable unsupervised domain adaptation in EEG](https://mlsanity.com/paper/2206.01323/) (2022)
- [MAtt: A Manifold Attention Network for EEG Decoding](https://mlsanity.com/paper/2210.01986/) (2022)
- [Tensor-CSPNet: A Novel Geometric Deep Learning Framework for Motor Imagery Classification](https://mlsanity.com/paper/2202.02472/) (2022)
- [Riemannian Flow Matching for Brain Connectivity Matrices via Pullback Geometry](https://mlsanity.com/paper/2505.18193/) (2025)
- [Deep Riemannian Networks for End-to-End EEG Decoding](https://mlsanity.com/paper/2212.10426/) (2022)
- [SPD Matrix Learning for Neuroimaging Analysis: Perspectives, Methods, and Challenges](https://mlsanity.com/paper/2504.18882/) (2025)
- [Geometric Neural Network based on Phase Space for BCI-EEG decoding](https://mlsanity.com/paper/2403.05645/) (2024)

## Built on by (most cited first, 2 of 2)

- [Escaping the Capacity Ceiling: Routing on the Stiefel Manifold for Bilinear SPD Layers](https://mlsanity.com/paper/2605.31043/) (2026)
- [Benchmarking External Generalization of SPD Matrix Learning for Resting-State fMRI Connectome Prediction](https://mlsanity.com/paper/2608.30418/) (2026)

## Abstract (arXiv)

Implementations of symmetric positive definite (SPD) matrix-based neural networks for neural decoding remain fragmented across research codebases and Python packages. Existing implementations often employ ad hoc handling of manifold constraints and non-unified training setups, which hinders reproducibility and integration into modern deep-learning workflows. To address this gap, we introduce SPD Learn, a unified and modular Python package for geometric deep learning with SPD matrices. SPD Learn provides core SPD operators and neural-network layers, including numerically stable spectral operators, and enforces Stiefel/SPD constraints via trivialization-based parameterizations. This design enables standard backpropagation and optimization in unconstrained Euclidean spaces while producing manifold-constrained parameters by construction. The package also offers reference implementations of representative SPDNet-based models and interfaces with widely used brain computer interface/neuroimaging toolkits and modern machine-learning libraries (e.g., MOABB, Braindecode, Nilearn, and SKADA), facilitating reproducible benchmarking and practical deployment.
