spd_learn.functional.exp_map_olm#
- spd_learn.functional.exp_map_olm(X: Tensor, max_iter: int = 15, tol: float = 1e-06) Tensor[source]#
Off-Log Metric (OLM) exponential map [Hu et al., 2025].
Maps a hollow symmetric matrix \(X \in \text{Hol}(\mathcal{S}^n)\) to the correlation manifold \(\mathcal{C}_{++}^n\) by finding a diagonal scaling vector \(d\) such that \(\text{diag}(\exp(X + \text{diag}(d))) = I\).
The diagonal vector \(d\) is solved via fixed-point iteration, and gradients flow cleanly through \(X\) via
matrix_exp()andcov_to_corr().- Parameters:
X (torch.Tensor) – Hollow symmetric tangent matrices of shape (…, n, n).
max_iter (int, default=15) – Maximum number of fixed-point iterations.
tol (float, default=1e-6) – Convergence tolerance on the maximum diagonal deviation.
- Returns:
Correlation matrix with unit diagonal, shape (…, n, n).
- Return type: