msmbuilder.msm_analysis.get_eigenvectors

msmbuilder.msm_analysis.get_eigenvectors(t_matrix, n_eigs, epsilon=0.001, dense_cutoff=50, right=False, tol=1e-30, normalized=False)[source]

Get the left eigenvectors of a transition matrix, sorted by eigenvalue magnitude

Parameters:

t_matrix : sparse or dense matrix

transition matrix. if T is sparse, the sparse eigensolver will be used

n_eigs : int

How many eigenvalues to calculate

epsilon : float, optional

Throw error if T is not a stochastic matrix, with tolerance given by Epsilon

dense_cutoff : int, optional

use dense eigensolver if dimensionality is below this

right : bool, optional

if true, compute the right eigenvectors instead of the left

tol : float, optional

Convergence criterion for sparse eigenvalue solver.

normalized : bool, optional

normalize the vectors such that

\[\phi_i^T \psi_j = \delta_{ij}\]

where \(\phi_i\) is the :math`i^{th}` left eigenvector, and \(\psi_j\) is the \(j^{th}\) right eigenvector

Returns:

eigenvalues : ndarray

1D array of eigenvalues

eigenvectors : ndarray

2D array of eigenvectors

Notes

  • Left eigenvectors satisfy the relation \(V \mathbf{T} = \lambda V\)
  • Vectors are returned in columns of matrix.
  • Too large a value of tol may lead to unstable results. See GitHub issue #174.
Versions