LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
ctmc_timereverse.m
1%{ @file ctmc_timereverse.m
2 % @brief Computes the time-reversed generator of a CTMC
3 %
4 % @author LINE Development Team
5%}
6
7%{
8 % @brief Computes the time-reversed generator of a CTMC
9 %
10 % @details
11 % Computes the infinitesimal generator of the time-reversed process.
12 %
13 % @par Syntax:
14 % @code
15 % Qrev = ctmc_timereverse(Q)
16 % @endcode
17 %
18 % @par Parameters:
19 % <table>
20 % <tr><th>Name<th>Description
21 % <tr><td>Q<td>Infinitesimal generator matrix of the original process
22 % </table>
23 %
24 % @par Returns:
25 % <table>
26 % <tr><th>Name<th>Description
27 % <tr><td>Qrev<td>Infinitesimal generator matrix of the time-reversed process
28 % </table>
29%}
30function Qrev=ctmc_timereverse(Q)
31K=length(Q);
32Qrev=Q;
33pie=ctmc_solve(Q);
34for i=1:K
35 for j=1:K
36 Qrev(i,j)=Q(i,j)*pie(i)/pie(j);
37 end
38end
39Qrev=Qrev';
40end