Class RoutingErgodicity
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classNetwork.RoutingErgodicityResultwith the repairs attached, the MATLABgetReducibilityInfostruct. -
Method Summary
Modifier and TypeMethodDescriptiongetAbsorbingStations(Network model) The absorbing stations as model objects, the Sink excluded.getReducibilityInfo(Network model) The reducibility structure plus a suggested repair per absorbing station.static RoutingMatrixmakeErgodic(Network model, String targetName) A routing matrix that makes the network ergodic, by redirecting every absorbing station to TARGETNAME.
-
Method Details
-
getReducibilityInfo
The reducibility structure plus a suggested repair per absorbing station. -
getAbsorbingStations
The absorbing stations as model objects, the Sink excluded. -
makeErgodic
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
-