deeptime.markov.tools.analysis.expected_counts_stationary

deeptime.markov.tools.analysis.expected_counts_stationary(T, N, mu=None)

Expected transition counts for Markov chain in equilibrium.

Parameters:
  • T ((M, M) ndarray or sparse matrix) – Transition matrix.

  • N (int) – Number of steps for chain.

  • mu ((M,) ndarray (optional)) – Stationary distribution for T. If mu is not specified it will be computed from T.

Returns:

EC – Expected value for transition counts after N steps.

Return type:

(M, M) ndarray or sparse matrix

Notes

Since \(\mu\) is stationary for \(T\) we have

\[\mathbb{E}[C^{(N)}]=N D_{\mu}T.\]

\(D_{\mu}\) is a diagonal matrix. Elements on the diagonal are given by the stationary vector \(\mu\)

Examples

>>> import numpy as np
>>> from deeptime.markov.tools.analysis import expected_counts_stationary
>>> T = np.array([[0.9, 0.1, 0.0], [0.5, 0.0, 0.5], [0.0, 0.1, 0.9]])
>>> N = 100
>>> EC = expected_counts_stationary(T, N)
>>> EC
array([[40.90909091,  4.54545455,  0.        ],
       [ 4.54545455,  0.        ,  4.54545455],
       [ 0.        ,  4.54545455, 40.90909091]])