1% [beta, B] = MinimalRepFromME(alpha, A, how, precision)
3% Returns the minimal representation of the given ME
8% alpha : vector, shape (1,M)
9% The initial vector of the matrix-exponential
11% A : matrix, shape (M,M)
12% The matrix parameter of the matrix-exponential
14% how : {
"obs",
"cont",
"obscont",
"moment"}, optional
15% Determines how the representation
is minimized.
17%
'obs': observability,
18%
'cont': controllability,
19%
'obscont': the minimum of observability and
20% controllability order,
21%
'moment': moment order (which
is the
default).
22% precision : double, optional
23% Precision used by the Staircase algorithm. The
default
28% beta : vector, shape (1,N)
29% The initial vector of the minimal representation
30% B : matrix, shape (N,N)
31% The matrix parameter of the minimal representation
35% .. [1]
P. Buchholz, M. Telek,
"On minimal representation
36% of rational arrival processes." Madrid Conference on
37% Qeueuing theory (MCQT), June 2010.
39function [beta, B] = MinimalRepFromME (alpha, A, how, precision)
41 if ~exist(
'precision',
'var')
44 if ~exist('how','var')
48 global BuToolsCheckInput;
49 if isempty(BuToolsCheckInput)
50 BuToolsCheckInput = true;
53 if BuToolsCheckInput && ~CheckMERepresentation(alpha, A)
54 error('MinimalRepFromME: Input isn''t a valid ME distribution!');
59 H1 = sum(-A,2) * alpha;
60 [B, n] = MStaircase ({H0, H1}, ones(size(A,1),1), precision);
65 elseif strcmp(how,
'obs')
67 H1 = sum(-A,2) * alpha;
68 [B, n] = MStaircase ({H0
',H1'}, alpha
', precision);
73 elseif strcmp(how,'obscont
')
74 [alphav, Av] = MinimalRepFromME (alpha, A, 'cont
', precision);
75 [beta, B] = MinimalRepFromME (alphav, Av, 'obs
', precision);
76 elseif strcmp(how,'moment
')
77 mo = MEOrder (alpha, A, 'moment
', precision);
78 [beta, B] = MEFromMoments(MomentsFromME(alpha, A, 2*mo-1));
80 error('MinimalRepFromME: Invalid
''how
'' parameter!
')