spd_learn.functional.geodesic_chol#
- spd_learn.functional.geodesic_chol(A, B, alpha=0.5)[source]#
Cholesky geodesic between SPD/HPD matrices.
The matrix at position \(\alpha\) on the Cholesky geodesic between two SPD/HPD matrices \(\mathbf{A}\) and \(\mathbf{B}\) is \(\mathbf{C} = \mathbf{L} \mathbf{L}^H\), where \(\mathbf{L}\) is computed as [1]:
\[\mathbf{L} = (1-\alpha) \text{chol}(\mathbf{A}) + \alpha \text{chol}(\mathbf{B})\]\(\mathbf{C}\) is equal to \(\mathbf{A}\) if \(\alpha\) = 0, and \(\mathbf{B}\) if \(\alpha\) = 1.
- Parameters:
A (ndarray, shape (..., n, n)) – First SPD/HPD matrices.
B (ndarray, shape (..., n, n)) – Second SPD/HPD matrices.
alpha (float | ndarray, shape (...,), default=0.5) –
Position on the geodesic. If ndarray, one value per matrix pair.
Changed in version 0.12.
- Returns:
C – SPD/HPD matrices on the Cholesky geodesic.
- Return type:
ndarray, shape (…, n, n)
Notes
Added in version 0.10.
Changed in version 0.12: Add support for NumPy and PyTorch. Add support for array-valued alpha.
See also
References
[1]Non-Euclidean statistics for covariance matrices, with applications to diffusion tensor imaging I.L. Dryden, A. Koloydenko, D. Zhou. Ann Appl Stat, 2009, 3(3), pp. 1102-1123.