LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
solver_ctmc_ratecomplement.m
1function r = solver_ctmc_ratecomplement(D, nonimm, imm, Q12, Q22)
2% R = SOLVER_CTMC_RATECOMPLEMENT(D, NONIMM, IMM, Q12, Q22)
3%
4% Long-run rate of an action, as seen from each tangible (non-vanishing) state,
5% given the action's rate filter D over the full state space.
6%
7% Vanishing states are removed from the generator by stochastic complementation,
8% so an action that fires only in vanishing states (a fork firing, a join
9% departure, or the firing of an immediate SPN mode) would be lost if its rate
10% were read off the tangible rows alone. The rate observed from tangible state s
11% is the direct exit rate via the action plus the expected number of firings
12% along the vanishing chain entered from s:
13%
14% r = D(nonimm,:)*1 + Q12*(-Q22)^(-1)*(D(imm,:)*1)
15%
16% where Q12 and Q22 are the tangible-to-vanishing and vanishing-to-vanishing
17% blocks returned by ctmc_stochcomp.
18%
19% Copyright (c) 2012-2026, Imperial College London
20% All rights reserved.
21
22r = full(sum(D(nonimm,:),2));
23if ~isempty(imm)
24 r = r + Q12*((-Q22) \ full(sum(D(imm,:),2)));
25end
26end
Definition Station.m:245