msmbuilder.msm_analysis.project_observable_onto_transition_matrix¶
- msmbuilder.msm_analysis.project_observable_onto_transition_matrix(observable, tprob, num_modes=25)[source]¶
Projects an observable vector onto a probability transition matrix’s eigenmodes.
The function first decomposes the matrix tprob into num_modes different eigenvectors, sorted by eigenvalue. Then, it returns the amplitude of the projection of the observable onto each of those eigenmodes.
This projection gives an estimate of how strong an experimental signal will be see at each timescale - though the actual experimental response will also be modulated by the populations of states at play.
Parameters: observable : array_like, float
a one-dimensional array of the values of a given observable for each state in the MSM
tprob : matrix
the transition probability matrix
num_modes : int
the number of eigenmodes to calculate (the top ones, sorted by mag.)
Returns: timescales : array_like, float
the timescales of each eigenmode, in units of the lagtime of tprob
amplitudes : array_like, float
the amplitudes of the projection of observable onto each mode
Notes
The stationary mode is always discarded The eigenvalues/vectors are calculated from scratch, so this function
may take a little while to run