| topologicalEntropy | R Documentation |
Computes the topological entropy of the graph of a discrete-time Markov chain: the exponential growth rate of the number of distinct admissible paths, ignoring their probabilities.
topologicalEntropy(object, base = 2)
## S4 method for signature 'markovchain'
topologicalEntropy(object, base = 2)
object |
A |
base |
A finite numeric scalar strictly greater than one. The default,
|
If A is the 0/1 adjacency matrix with A_{ij}=1 exactly when
p_{ij}>0, the topological entropy is
h_{top} = \log_b \rho(A),
where \rho(A) is the spectral radius (Perron root) of A.
Only the pattern of positive entries matters: the value depends on which
transitions are possible, not on how likely they are. It is the upper
bound of the entropy rate over all the Markov chains sharing that graph
(the variational principle, see Parry, 1964), so
entropyRate(object) <= topologicalEntropy(object) for an
irreducible chain. The bound is attained by the maximal-entropy
(Parry) chain on the same graph, and also, for instance, by a chain whose
every row is uniform over a common number of successors. A chain that is a
single cycle (deterministic dynamics) has topologicalEntropy = 0.
No irreducibility is needed: for a reducible chain the result is the
largest value over its communicating classes. A probability that is
positive but numerically tiny counts as a transition, exactly as in
is.irreducible.
The cost is one eigenvalue computation, O(n^3) time and
O(n^2) memory for a dense chain. It mirrors PyDTMC's
topological_entropy, which uses the natural logarithm.
A non-negative numeric scalar in units determined by base.
Parry, W. (1964). Intrinsic Markov chains. Transactions of the American Mathematical Society, 112, 55-66.
Cover, T. M. and Thomas, J. A. (2006). Elements of Information Theory, 2nd edition. Wiley.
entropyRate, normalizedEntropyRate
statesNames <- c("a", "b")
mc <- new("markovchain",
states = statesNames,
transitionMatrix = matrix(c(0.7, 0.3, 0.1, 0.9),
byrow = TRUE, nrow = 2,
dimnames = list(statesNames, statesNames)))
topologicalEntropy(mc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.