multigeom.analysis.subspace_alignment#

multigeom.analysis.subspace_alignment(eigvecs_A, eigvecs_B, top_k=None)[source]#

Compute 𝒜_k = (1/k) ‖V_Aᵀ V_B‖_F² where V_A, V_B are the top-k eigenvectors of two PSD matrices.

Parameters:
  • eigvecs_A (torch.Tensor) – [k, P] tensors with eigenvectors as rows.

  • eigvecs_B (torch.Tensor) – [k, P] tensors with eigenvectors as rows.

  • top_k (int | None) – if given, restrict both inputs to their top-top_k rows.

Returns:

Scalar in [0, 1]. 1.0 ↔ identical subspaces.

Return type:

float