multigeom.analysis.bures_wasserstein#

multigeom.analysis.bures_wasserstein(eigvals_A, eigvecs_A, eigvals_B, eigvecs_B, top_k=None)[source]#

Compute the Bures–Wasserstein distance d_BW(A, B) on the cone of PSD matrices, using truncated eigendecompositions.

Parameters:
  • eigvals_* – [k] tensors of eigenvalues (descending order).

  • eigvecs_* – [k, P] tensors of eigenvectors as rows.

  • top_k (int | None) – if given, restrict to top-top_k eigenpairs of each.

  • eigvals_A (torch.Tensor)

  • eigvecs_A (torch.Tensor)

  • eigvals_B (torch.Tensor)

  • eigvecs_B (torch.Tensor)

Returns:

d_BW(A, B) ≥ 0. Returns 0 iff A = B.

Return type:

float