Matrix logarithm and exponential
For a symmetric matrix the matrix functions are defined through the eigendecomposition: if M = U diag(lambda_i) U^T, then f(M) = U diag(f(lambda_i)) U^T. The matrix logarithm log(M) (real only when all lambda_i > 0, i.e. M is SPD) and the matrix exponential exp(S) (which maps any symmetric S to an SPD matrix) are the elementary operations behind essentially every Riemannian BCI formula: geodesic distances, the tangent-space log and exp maps, log-Euclidean means, and the matrix square root M^{1/2} = U diag(sqrt(lambda_i)) U^T.
Recognizing that these are eigenvalue-wise operations clarifies both cost and fragility: each is an O(C^3) eigendecomposition, and the logarithm blows up as any eigenvalue approaches zero, which is precisely why well-conditioned (shrinkage-regularized) covariances matter. The matrix logarithm and exponential are inverse maps between the SPD cone and its tangent (symmetric) space.