1%{ @file ctmc_randomization.m
2 % @brief Uniformization (randomization) of a continuous-time Markov chain
4 % @author LINE Development Team
8 % @brief Uniformization (randomization) of a continuous-time Markov chain
11 % Applies uniformization to transform a CTMC into a DTMC.
15 % [
P, q] = ctmc_randomization(Q)
16 % [
P, q] = ctmc_randomization(Q, q)
21 % <tr><th>Name<th>Description
22 % <tr><td>Q<td>Infinitesimal generator matrix
23 % <tr><td>q<td>(Optional) Uniformization rate. Default: max(|diag(Q)|) + rand
28 % <tr><th>Name<th>Description
29 % <tr><td>P<td>Uniformized discrete-time stochastic matrix
30 % <tr><td>q<td>The rate used for uniformization
33function [P, q] = ctmc_randomization(Q, q)
35 q = (max(max(abs(Q)))) + rand;
38 P = Q / q + speye(size(Q));
40 P = Q / q + eye(size(Q));
42 P = dtmc_makestochastic(
P);