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
tprob : matrix
num_modes : int
|
---|---|
Returns: | timescales : array_like, float
amplitudes : array_like, float
|
Notes
The stationary mode is always discarded The eigenvalues/vectors are calculated from scratch, so this function
may take a little while to run