Geometric Concepts#

This page provides a comprehensive introduction to the geometric foundations underlying Riemannian methods for EEG/MEG analysis and deep learning with covariance matrices on the SPD (Symmetric Positive Definite) manifold.

The SPD Manifold#

What is an SPD Matrix?#

A Symmetric Positive Definite (SPD) matrix \(X \in \reals^{n \times n}\) satisfies two conditions:

  1. Symmetry: \(X = X^\top\)

  2. Positive Definiteness: \(z^\top X z > 0\) for all non-zero vectors \(z \in \reals^n\)

Equivalently, an SPD matrix has all positive eigenvalues [Bhatia, 2007]. The set of all \(n \times n\) SPD matrices is denoted \(\spd\) [Congedo et al., 2017].

Eigendecomposition:

For any SPD matrix \(X\), there exists an orthogonal matrix \(U\) such that:

\[X = U \, \text{diag}(\lambda_1, \ldots, \lambda_n) \, U^\top\]

where \(\lambda_i > 0\) are the positive eigenvalues. This decomposition is fundamental to computing matrix functions on SPD matrices.

Why SPD Matrices Form a Manifold, or why not a Vector Space?#

SPD matrices do not form a vector space because:

  1. Not closed under subtraction: If \(A, B\) are SPD, \(A - B\) may not be SPD (positive definiteness can be violated).

  2. Not closed under negative scaling: If \(A\) is SPD, \(-A\) is negative definite.

  3. The “swelling effect”: The Euclidean mean of SPD matrices can have larger determinant than any of the original matrices, which is geometrically undesirable for covariance estimation.

Instead, SPD matrices form an open cone in the space of symmetric matrices. This cone has a natural manifold structure with well-defined notions of distance, geodesics, and curvature. These geometric properties require specialized tools to work with, which is the focus of SPD Learn!

The SPD Cone (2x2 Example)#

For \(2 \times 2\) matrices, we can visualize the SPD cone. A symmetric \(2 \times 2\) matrix has three free parameters:

\[\begin{split}X = \begin{pmatrix} a & b \\ b & c \end{pmatrix}\end{split}\]

The positive definiteness constraints are:

  • \(a > 0\) (first leading minor)

  • \(ac - b^2 > 0\) (determinant, second leading minor)

This defines an open cone in \((a, b, c)\) space, where the boundary corresponds to singular (rank-deficient) matrices.

The interactive visualization below shows the SPD cone with sample EEG covariance matrices plotted as points. The identity matrix serves as a reference point, and the tangent space at the identity (the space of symmetric matrices) is shown as a plane.

Tip

Use your mouse to rotate, zoom, and explore the 3D visualization. Hover over points to see their details.

Tangent Spaces and Exponential Maps#

Tangent Space at a Point#

At any point \(P\) on the SPD manifold, the tangent space \(\tangent{P}\) can be identified with symmetric matrices [Congedo et al., 2017]. This is a vector space where we can perform standard linear algebra operations.

\[\tangentspd{P} \cong \sym = \{ S \in \reals^{n \times n} : S = S^\top \}\]

The tangent space at the identity \(\I\) is particularly important because many operations are simplified there.

The Exponential Map#

The exponential map \(\Exp{P}: \tangent{P} \to \manifold\) projects tangent vectors back onto the manifold. At the identity:

\[\Exp{\I}(S) = \exp(S)\]

where \(\exp\) is the matrix exponential. This maps any symmetric matrix to an SPD matrix, ensuring we stay on the manifold.

For a symmetric matrix \(S\) with eigendecomposition \(S = U \Lambda U^\top\):

\[\exp(S) = U \, \text{diag}(\exp(\lambda_1), \ldots, \exp(\lambda_n)) \, U^\top\]

Since \(\exp(\lambda_i) > 0\) for all real \(\lambda_i\), the result is always SPD.

The Logarithmic Map#

The logarithmic map \(\Log{P}: \manifold \to \tangent{P}\) is the inverse, projecting from the manifold to the tangent space:

\[\Log{\I}(X) = \log(X)\]

For an SPD matrix \(X\) with eigendecomposition \(X = U \Lambda U^\top\):

\[\log(X) = U \, \text{diag}(\log(\lambda_1), \ldots, \log(\lambda_n)) \, U^\top\]

Warning

The matrix logarithm is only defined for SPD matrices. If any eigenvalue \(\lambda_i \leq 0\), the logarithm is undefined or complex-valued.

This is the key operation in SPD Learn’s LogEig layer, which maps SPD matrices to a vector space for classification.

Riemannian Metrics on SPD Manifolds#

A Riemannian metric defines inner products on tangent spaces, enabling us to measure distances and angles on the manifold. The space of SPD matrices can be equipped with various Riemannian metrics, each leading to distinct geometric structures. This section reviews four principal Riemannian metrics that are widely used in the analysis and learning of SPD matrices.

Affine-Invariant Riemannian Metric (AIRM)#

The Affine-Invariant Riemannian Metric [Pennec et al., 2006] endows the SPD manifold with a geometry that is invariant under congruence transformations. Specifically, for any non-singular matrix \(W \in \gl\) and SPD matrices \(P, Q \in \spd\):

\[\dairm{WPW^\top}{WQW^\top} = \dairm{P}{Q}\]

Riemannian inner product: At \(P \in \spd\), for tangent vectors \(v, w \in \tangentspd{P}\):

\[\gairm{P}(v, w) = \frobinner{P^{-1/2} v P^{-1/2}}{P^{-1/2} w P^{-1/2}}\]

Geodesic distance:

\[\dairm{A}{B} = \frob{\log(A^{-1/2} B A^{-1/2})}\]

Geodesic (shortest path):

\[\gamma(t) = A^{1/2} (A^{-1/2} B A^{-1/2})^t A^{1/2}\]

Note

Extrapolation property: Unlike many metrics, the AIRM geodesic \(\gamma(t) = A^{1/2} (A^{-1/2} B A^{-1/2})^t A^{1/2}\) remains SPD for all \(t \in \reals\), not just \(t \in [0, 1]\). This allows extrapolation beyond the endpoints, which can be useful for data augmentation or exploring the manifold structure.

Distance to identity: \(\dairm{P}{\I} = \frob{\log(P)}\)

Key Properties:

  • Geodesically complete: The SPD manifold with AIRM forms a Hadamard manifold (complete, simply connected with non-positive sectional curvature), guaranteeing unique geodesics between any two SPD matrices.

  • Boundary avoidance: Geodesics between SPD matrices never reach singular matrices (zero eigenvalues are infinitely distant).

  • Affine-invariant: \(d(GAG^\top, GBG^\top) = d(A, B)\) for invertible \(G\).

  • Fréchet mean uniqueness: The Fréchet mean of a finite set of SPD matrices always exists and is unique.

  • Computationally expensive: Requires eigendecomposition; computing the exact Fréchet mean requires iterative solvers such as the Karcher flow.

from spd_learn.functional import (
    airm_distance,
    airm_geodesic,
)

# Distance between SPD matrices
dist = airm_distance(A, B)

# Geodesic interpolation (t=0 gives A, t=1 gives B)
midpoint = airm_geodesic(A, B, t=0.5)

Properties of the Geometric Mean#

The Riemannian (geometric) mean under AIRM satisfies all 10 axiomatic properties established by Ando et al. [2004]:

  1. Consistency with scalars: Reduces to ordinary geometric mean for 1×1 matrices

  2. Joint homogeneity: \(\geomean(\alpha P_1, \ldots, \alpha P_k) = \alpha \geomean(P_1, \ldots, P_k)\)

  3. Permutation invariance: Independent of matrix ordering

  4. Monotonicity: If \(P_i \leq Q_i\), then \(\geomean(P_1, \ldots) \leq \geomean(Q_1, \ldots)\)

  5. Continuity from above: Continuous under decreasing sequences

  6. Congruence invariance: \(\geomean(B^\top P_1 B, \ldots) = B^\top \geomean(P_1, \ldots) B\)

  7. Joint concavity: The mean function is jointly concave

  8. Self-duality: \(\geomean(P_1^{-1}, \ldots, P_k^{-1}) = \geomean(P_1, \ldots, P_k)^{-1}\)

  9. AGH inequality: Harmonic mean \(\leq\) Geometric mean \(\leq\) Arithmetic mean

  10. Determinant identity: \(\det \geomean = (\prod_i \det P_i)^{1/k}\) (unweighted case)

Riccati Equation Characterization:

The geometric mean \(\geomean\) of two SPD matrices \(P\) and \(Q\) is the unique positive definite solution to the Riccati equation:

\[\geomean \, Q^{-1} \, \geomean = P\]

This characterization provides an algebraic interpretation of the geometric mean and connects it to control theory.

Log-Euclidean Metric (LEM)#

The Log-Euclidean Metric [Arsigny et al., 2007] simplifies computations by exploiting the matrix logarithm to map the SPD manifold diffeomorphically to the Euclidean vector space of symmetric matrices \(\syms\). The mapping \(\log: \spd \to \syms\) is a global diffeomorphism (a smooth, invertible map with smooth inverse).

Riemannian inner product: The LEM is defined as the pullback of the Euclidean metric through the logarithm. For any \(P \in \spd\) and tangent vectors \(v, w\):

\[\glem{P}(v, w) = \frobinner{D_P \log(v)}{D_P \log(w)}\]

where \(D_P \log\) denotes the differential of the logarithm at \(P\).

Distance:

\[\dlem{A}{B} = \frob{\log(A) - \log(B)}\]

Distance to identity: \(\dlem{P}{\I} = \frob{\log(P)}\) (same as AIRM at identity)

Fréchet mean (closed-form):

\[\bar{X} = \exp\left( \frac{1}{n} \sum_{i=1}^n \log(X_i) \right)\]

Key Properties:

  • Lie group structure: Gives SPD matrices the structure of a commutative Lie group.

  • Computationally efficient: Enables computations in the log-domain using standard Euclidean operations.

  • Not affine-invariant: Unlike AIRM, LEM is only invariant under orthogonal transformations (rotations), not general affine transformations.

  • Closed-form mean: The Fréchet mean can be computed directly without iteration.

from spd_learn.functional import (
    log_euclidean_distance,
    log_euclidean_mean,
)

# Distance
dist = log_euclidean_distance(A, B)

# Weighted mean (using uniform weights for unweighted mean)
weights = torch.ones(batch_size, batch_size) / batch_size
mean = log_euclidean_mean(weights, batch_of_spd_matrices)

Bures-Wasserstein Metric (BWM)#

The Bures-Wasserstein Metric [Bhatia et al., 2019] originates from quantum information theory and optimal transport. It corresponds to the 2-Wasserstein distance between centered Gaussian distributions.

Riemannian inner product: At \(P \in \spd\), for tangent matrices \(V, W\):

\[\gbw{P}(V, W) = \tr(\lyap{P}[V] W)\]

where \(\lyap{P}\) is the Lyapunov operator that assigns to each \(V \in \syms\) the unique solution \(X\) of the Lyapunov equation:

\[PX + XP = V\]

Distance:

\[\dbw{A}{B}^2 = \tr(A) + \tr(B) - 2\tr\left((A^{1/2} B A^{1/2})^{1/2}\right)\]

Distance to identity: \(\dbw{P}{\I}^2 = \tr(P) + n - 2\tr(P^{1/2})\)

Geodesic:

\[\gamma(t) = (1-t)^2 A + t^2 B + t(1-t)(M + M^\top)\]

where \(M = (A^{1/2} B A^{1/2})^{1/2}\).

Key Properties:

  • Positively curved: Unlike AIRM (non-positive curvature), BWM endows \(\spd\) with a positively curved Riemannian structure.

  • Optimal transport interpretation: The distance equals the 2-Wasserstein distance between \(\mathcal{N}(0, A)\) and \(\mathcal{N}(0, B)\).

  • Closed-form expressions: Distances, geodesics, and Fréchet means have closed-form solutions (Fréchet means via fixed-point iteration).

  • No eigendecomposition: Avoids eigenvalue decomposition, using matrix square roots.

  • Not affine-invariant: Invariant only under unitary transformations.

from spd_learn.functional import bures_wasserstein_distance, bures_wasserstein_mean

# Distance
dist = bures_wasserstein_distance(A, B)

# Fréchet mean (fixed-point iteration)
mean = bures_wasserstein_mean(matrices, weights)

Log-Cholesky Metric (LCM)#

The Log-Cholesky Metric [Lin, 2019] builds upon the Cholesky decomposition \(P = LL^\top\), where \(L\) is a lower-triangular matrix with positive diagonal entries. There exists a smooth bijection (diffeomorphism) \(\varphi: \choleskyspace \to \spd\), where \(\choleskyspace\) denotes the Cholesky space of lower-triangular matrices with positive diagonals.

Riemannian inner product: At \(P = LL^\top \in \spd\):

\[\glcm{P}(v, w) = \bar{g}_L\left(L(L^{-1}vL^{-\top})_\triangle, L(L^{-1}wL^{-\top})_\triangle\right)\]

where \((\cdot)_\triangle\) extracts the lower-triangular part and scales diagonal elements by \(\frac{1}{2}\). The metric \(\bar{g}_L\) on \(\choleskyspace\) is:

\[\bar{g}_L(X, Y) = \sum_{i>j} X_{ij}Y_{ij} + \sum_{j=1}^{n} X_{jj}Y_{jj}L_{jj}^{-2}\]

Distance:

\[\dlcm{A}{B} = \frob{\logchol(L_A) - \logchol(L_B)}\]

where \(\logchol(L) = \tril{L, -1} + \diag(\log(\diag(L)))\).

Key Properties:

  • Fastest computation: Complexity \(O(n^3/3)\) vs \(O(n^3)\) for eigendecomposition.

  • Numerically stable: Cholesky decomposition is well-conditioned for SPD matrices.

  • Globally flat geometry: Inherits Euclidean structure from Cholesky space.

  • Closed-form geodesics and means: No iterative optimization required.

  • Not affine-invariant: Invariant under lower-triangular transformations with positive diagonal.

  • Ideal for optimization: Avoids explicit matrix inversions and logarithms, yielding improved differentiability for deep learning.

from spd_learn.functional import log_cholesky_distance, log_cholesky_mean

# Fast distance computation
dist = log_cholesky_distance(A, B)

# Closed-form mean
mean = log_cholesky_mean(matrices)

Metric Comparison Summary#

These four metrics capture distinct geometric perspectives on \(\spd\) and serve different computational and modeling goals:

Metric

Complexity

Invariance

Curvature

Best For

AIRM

\(O(n^3)\)

Full affine

Non-positive

Theoretical analysis, domain adaptation [Zanini et al., 2017]

Log-Euclidean

\(O(n^3)\)

Orthogonal

Flat

General use, closed-form mean

Bures-Wasserstein

\(O(n^3)\)

Unitary

Positive

Optimal transport, ill-conditioned matrices

Log-Cholesky

\(O(n^3/3)\)

Lower-triangular

Flat

Speed-critical, deep learning

Choosing a metric:

  • Use AIRM when affine invariance is important (e.g., domain adaptation across subjects/sessions where the covariance scale may differ).

  • Use LEM for general-purpose applications where a closed-form mean is desirable and affine invariance is not critical.

  • Use BWM when working with ill-conditioned matrices or when an optimal transport interpretation is meaningful.

  • Use LCM when computational speed is paramount or in deep learning where gradient stability is important

Invariance Properties#

Different metrics satisfy different invariance properties, which determine their behavior under geometric transformations:

Metric

Rotation

Affinity

Inversion

Notes

AIRM

Yes

Yes

Yes

Full invariance

Log-Euclidean

Yes

No

Yes

Orthogonal only; inversion invariant

Bures-Wasserstein

Yes

No

No

Unitary only

Log-Cholesky

No

No

No

Lower-triangular only

Definitions:

  • Rotation invariance: \(d(U^\top P U, U^\top Q U) = d(P, Q)\) for orthogonal \(U\)

  • Affinity (congruence) invariance: \(d(B^\top P B, B^\top Q B) = d(P, Q)\) for invertible \(B\)

  • Inversion invariance: \(d(P^{-1}, Q^{-1}) = d(P, Q)\)

Parallel Transport#

Parallel transport moves tangent vectors between different tangent spaces while preserving their geometric properties [Zanini et al., 2017]. This is essential for:

  • Domain adaptation (transferring learned representations)

  • Comparing tangent vectors at different reference points

Under the AIRM, parallel transport from \(\tangent{P}\) to \(\tangent{Q}\):

\[\Gamma_{P \to Q}(V) = E \cdot V \cdot E^\top\]

where \(E = (Q P^{-1})^{1/2}\).

from spd_learn.functional import parallel_transport_airm

# Transport tangent vector V from T_P to T_Q
V_transported = parallel_transport_airm(V, P, Q)

Trivialization#

When optimizing functions on manifolds (like the SPD manifold of covariance matrices), we face a fundamental challenge: manifolds are curved spaces where standard Euclidean gradient descent doesn’t directly apply.

Trivialization is a technique that transforms manifold-constrained optimization into unconstrained optimization by parametrizing the manifold through its tangent space.

The animation below illustrates the concept of Trivialization from Lezcano-Casado [2019]:

Trivialization Animation

Key concepts illustrated:

  1. Manifold \(\manifold\) — The curved space where our data lives (e.g., SPD matrices representing EEG spatial covariance)

  2. Tangent Space \(\tangent{p} \cong \reals^n\) — A flat Euclidean approximation at point \(p\), where standard optimization algorithms can be applied

  3. Exponential Map \(\phi_p\) — Projects points from the tangent space back onto the manifold

  4. Dynamic Update — When optimization moves too far from the base point, we update: \(p_{i+1} := \phi_{p_i}(y_{i,k})\) and continue optimizing in the new tangent space

Practical Implications#

  1. Distance computation: Use log_euclidean_distance() for speed, airm_distance() for affine invariance, bures_wasserstein_distance() for ill-conditioned matrices.

  2. Averaging: Always use geometric means (log_euclidean_mean(), bures_wasserstein_mean(), or log_cholesky_mean()) instead of arithmetic means for SPD matrices.

  3. Classification: Project to tangent space (LogEig) before applying standard classifiers.

  4. Domain adaptation: Use parallel transport (parallel_transport_airm()) to align representations across subjects or sessions.

SPD Layer Visualizations#

Understanding how SPD network layers transform data on the manifold is crucial for building intuition about geometric deep learning. The visualizations below show each layer’s operation using 2x2 SPD matrices represented as ellipsoids.

CovLayer — Transforms time series into SPD covariance matrices:

\[\Sigma = \frac{1}{T-1} (X - \bar{X})(X - \bar{X})^T\]

See CovLayer Animation

BiMap — Bilinear mapping that reduces/expands dimensionality:

\[Y = W^T X W\]

where \(W\) is constrained to the Stiefel manifold (\(W^T W = I\)). See BiMap Layer Animation

ReEig — Eigenvalue rectification (ReLU for SPD matrices):

\[\reeig(X) = U \max(\Lambda, \epsilon) U^\top\]

See ReEig Layer Animation

LogEig — Projects SPD matrices to the tangent space:

\[\logeig(X) = U \log(\Lambda) U^\top\]

See LogEig: Linearization and the Swelling Effect

SPDBatchNormMeanVar — Riemannian batch normalization:

\[\tilde{X}_i = \frechet^{-1/2} X_i \frechet^{-1/2}\]

where \(\frechet\) is the Fréchet mean of the batch. See SPD Batch Normalization Animation

Batch Normalization on SPD Manifolds#

In Euclidean deep learning, batch normalization centers activations to zero mean and unit variance, stabilizing gradient flow and accelerating convergence. On the SPD manifold, the same principle applies — but “mean” and “variance” must respect the curved Riemannian geometry.

Why Euclidean BN Fails for SPD Matrices#

Standard batch normalization computes \(\hat{x} = (x - \mu) / \sigma\). For SPD matrices this is problematic:

  • Subtraction breaks SPD: \(X - M\) (with \(M\) the arithmetic mean) may not be positive definite.

  • The swelling effect: The Euclidean mean of SPD matrices can have a larger determinant than any individual matrix, distorting the data distribution.

  • Scale mismatch: SPD matrices from different subjects or sessions can have vastly different spectral profiles; Euclidean normalization ignores this geometric structure.

Riemannian Batch Normalization#

SPDBatchNormMeanVar addresses these issues by replacing Euclidean operations with their Riemannian counterparts under the AIRM:

  1. Centering: Compute the Fréchet mean \(\frechet\) of the batch, then apply congruence \(\tilde{X}_i = \frechet^{-1/2} X_i \frechet^{-1/2}\) to center the batch around the identity matrix.

  2. Variance scaling: Compute a scalar dispersion and normalize by a learnable weight.

  3. Biasing: Apply a learnable SPD bias via congruence.

This preserves the SPD structure at every step.

Lie Group Batch Normalization (LieBN)#

SPDBatchNormLie [Chen et al., 2024] generalizes Riemannian BN by exploiting the Lie group structure of \(\spd\). The key insight is that each Riemannian metric induces a different group action for centering and biasing.

The LieBN forward pass follows five steps:

  1. Deformation — Map SPD matrices to a codomain via the metric (e.g., \(\log(X)\) for LEM, Cholesky + log-diagonal for LCM, \(X^\theta\) for AIM).

  2. Centering — Translate the batch to zero/identity mean using the group action.

  3. Scaling — Normalize variance by a learnable dispersion parameter.

  4. Biasing — Translate by a learnable location parameter.

  5. Inverse deformation — Map back to the SPD manifold.

Metric

Deformation

Mean Computation

Group Action

LEM

\(\log(X)\)

Euclidean (closed-form)

Additive

LCM

Cholesky + log-diag

Euclidean (closed-form)

Additive

AIM

\(X^\theta\)

Karcher (iterative)

Cholesky congruence

Choosing a metric for batch normalization:

  • LEM: Fastest (closed-form mean), good default for most tasks.

  • AIM: Full affine invariance, best when data scale varies (e.g., cross-subject EEG).

  • LCM: Fast like LEM, with Cholesky-based numerical stability.

from spd_learn.modules import SPDBatchNormLie

# LEM is the fastest — good default
bn_lem = SPDBatchNormLie(num_features=32, metric="LEM")

# AIM for affine-invariant normalization
bn_aim = SPDBatchNormLie(num_features=32, metric="AIM", theta=1.0)

# LCM for Cholesky stability
bn_lcm = SPDBatchNormLie(num_features=32, metric="LCM")

See also

Batch Normalization on SPD Manifolds — Hands-on tutorial comparing all BN strategies, How to Add Batch Normalization to an SPDNet — Quick integration guide, Reproducing LieBN Paper Results (Table 4) — Full benchmark reproduction across 3 datasets

References#

[1]

Zhenhua Lin. Riemannian geometry of symmetric positive definite matrices via cholesky decomposition. SIAM Journal on Matrix Analysis and Applications, 40(4):1353–1370, 2019. doi:10.1137/18M1221084.

[2]

Mario Lezcano-Casado. Trivializations for gradient-based optimization on manifolds. In Advances in Neural Information Processing Systems, volume 32, 9154–9164. 2019. URL: https://proceedings.neurips.cc/paper/2019/hash/1b33d16fc562464579b7199ca3114982-Abstract.html.

[3]

Rajendra Bhatia. Positive Definite Matrices. Princeton University Press, 2007. doi:10.1515/9781400827787.

[4] (1,2)

Marco Congedo, Alexandre Barachant, and Rajendra Bhatia. Riemannian geometry for eeg-based brain-computer interfaces; a primer and a review. Brain-Computer Interfaces, 4(3):155–174, 2017. doi:10.1080/2326263X.2017.1297192.

[5]

Xavier Pennec, Pierre Fillard, and Nicholas Ayache. A riemannian framework for tensor computing. International Journal of Computer Vision, 66(1):41–66, 2006. doi:10.1007/s11263-005-3222-z.

[6]

Tsuyoshi Ando, Chi-Kwong Li, and Roy Mathias. Geometric means. Linear Algebra and its Applications, 385:305–334, 2004. doi:10.1016/j.laa.2003.11.019.

[7]

Vincent Arsigny, Pierre Fillard, Xavier Pennec, and Nicholas Ayache. Geometric means in a novel vector space structure on symmetric positive-definite matrices. SIAM Journal on Matrix Analysis and Applications, 29(1):328–347, 2007. doi:10.1137/050637996.

[8]

Rajendra Bhatia, Tanvi Jain, and Yongdo Lim. On the bures-wasserstein distance between positive definite matrices. Expositiones Mathematicae, 37(2):165–191, 2019. doi:10.1016/j.exmath.2018.01.002.

[9] (1,2)

Paolo Zanini, Marco Congedo, Christian Jutten, Salem Said, and Yannick Berthoumieu. Transfer learning: a riemannian geometry framework with applications to brain–computer interfaces. IEEE Transactions on Biomedical Engineering, 65(5):1107–1116, 2017.

[10]

Ziheng Chen, Yue Song, Yunmei Xu, and Nicu Sebe. A lie group approach to riemannian batch normalization. In International Conference on Learning Representations. 2024. URL: https://openreview.net/forum?id=okYdj8Ysru.

See also