Package jline.lang

Class RoutingErgodicity

java.lang.Object
jline.lang.RoutingErgodicity

public final class RoutingErgodicity extends Object
The repair side of routing reducibility: what to do once Network.isRoutingErgodic() has said the routing is reducible.

Port of the MATLAB @MNetwork methods getReducibilityInfo, getAbsorbingStations and makeErgodic. The DETECTION half, isRoutingErgodic, was already in Network and is reused as is -- there is one adjacency build and one SCC decomposition, not two.

The whole family inspects the ROUTING STRUCTURE ONLY, not the state space. Ergodic routing is NECESSARY but not sufficient for the chain to be ergodic: state-dependent routing, finite buffers and blocking can still make the CTMC reducible. The converse is the useful direction -- reducible routing is a defect the modeller can see and fix before any solver runs, and it is what otherwise surfaces as "the generator has no recurrent state" inside ctmc_solve.

  • Method Details

    • getReducibilityInfo

      public static RoutingErgodicity.ReducibilityInfo getReducibilityInfo(Network model)
      The reducibility structure plus a suggested repair per absorbing station.
    • getAbsorbingStations

      public static List<Station> getAbsorbingStations(Network model)
      The absorbing stations as model objects, the Sink excluded.
    • makeErgodic

      public static RoutingMatrix makeErgodic(Network model, String targetName)
      A routing matrix that makes the network ergodic, by redirecting every absorbing station to TARGETNAME.

      Does NOT relink: the caller applies it with model.link(P). That is deliberate -- relinking rebuilds the struct, and the modeller should see the repair before it is applied.

      Parameters:
      targetName - node to route absorbing stations to, or null to take the first Delay, else the first non-absorbing station