function spd_eig

deeptime.numeric.spd_eig(W, epsilon=1e-10, method='QR', canonical_signs=False, check_sym: bool = False)

Rank-reduced eigenvalue decomposition of symmetric positive definite matrix.

Removes all negligible eigenvalues

Parameters:
  • W (ndarray((n, n), dtype=float)) – Symmetric positive-definite (spd) matrix.

  • epsilon (float) – Truncation parameter. Eigenvalues with norms smaller than this cutoff will be removed.

  • method (str) –

    Method to perform the decomposition of \(W\) before inverting. Options are:

    • ’QR’: QR-based robust eigenvalue decomposition of W

    • ’schur’: Schur decomposition of W

  • canonical_signs (bool, default = False) – Fix signs in V, such that the largest element in every column of V is positive.

  • check_sym (bool, default = False) – Check whether the input matrix is (almost) symmetric.

Returns:

  • s (ndarray(k)) – k non-negligible eigenvalues, sorted by descending norms

  • V (ndarray(n, k)) – k leading eigenvectors