Class CtmcStationary

java.lang.Object
jline.solvers.ctmc.CtmcStationary

public class CtmcStationary extends Object
Single entry point for the stationary distribution of a CTMC generated from a NetworkStruct.

All the stationary mass of a reducible chain lives in its bottom strongly connected components, each weighted by the probability of being absorbed in it from the declared initial state; every other state is transient and carries zero. The block decomposition handles the irreducible case as the degenerate one BSCC / no transient states, so every CTMC solve in the solver goes through it and there is no dispatch that can disagree with the algorithm about whether a chain is reducible.

See _kb/11-conventions-and-gotchas.md.

  • Method Details

    • solve

      public static Matrix solve(Matrix Q, Matrix stateSpace, NetworkStruct sn, SolverOptions options)
      Stationary distribution of Q, seeded from the initial state of sn when that state can be located in stateSpace.
      Parameters:
      Q - infinitesimal generator
      stateSpace - enumerated state space, rows aligned with Q
      sn - network struct carrying the per-node initial state
      options - solver options, used for debug reporting only
      Returns:
      row vector of stationary probabilities, full length of Q
    • initialDistribution

      public static Matrix initialDistribution(Matrix Q, Matrix stateSpace, NetworkStruct sn, SolverOptions options)
      Point mass at the initial state of sn, or null when that state is absent from stateSpace (stochastic complementation may have removed it, e.g. an SPN whose immediate ENABLE states were eliminated). A null seed makes the block decomposition start in the SCCs with no incoming transition.