pyriemann.utils.tangentspace.transport_riemann

pyriemann.utils.tangentspace.transport_riemann(X, A, B)

Parallel transport for affine-invariant Riemannian metric.

The parallel transport of matrices \(\mathbf{X}\) in tangent space from an initial SPD/HPD matrix \(\mathbf{A}\) to a final SPD/HPD matrix \(\mathbf{B}\) according to the Levi-Civita connection along the geodesic under the affine-invariant Riemannian metric is given by Eq.(3.4) of [1]:

\[\mathbf{X}_\text{new} = \mathbf{E} \mathbf{X} \mathbf{E}^H\]

where \(\mathbf{E} = (\mathbf{B} \mathbf{A}^{-1})^{1/2}\).

Warning: this function must be applied to matrices \(\mathbf{X}\) already projected in tangent space with a logarithmic map at \(\mathbf{A}\), not to SPD/HPD matrices in manifold.

Parameters:
Xndarray, shape (…, n, n)

Symmetric/Hermitian matrices in tangent space.

Andarray, shape (n, n)

Initial SPD/HPD matrix.

Bndarray, shape (n, n)

Final SPD/HPD matrix.

Returns:
X_newndarray, shape (…, n, n)

Matrices in tangent space transported from A to B.

See also

transport

Notes

Changed in version 0.8: Change input arguments.

Changed in version 0.10: Rename function and add to API.

References

[1]

Conic geometric optimisation on the manifold of positive definite matrices S. Sra and R. Hosseini. SIAM Journal on Optimization, 2015.