butools.dmap.MarginalDistributionFromDMRAP

butools.dmap.MarginalDistributionFromDMRAP()
Matlab: [alpha, A] = MarginalDistributionFromDMRAP(H, precision)
Mathematica: {alpha, A} = MarginalDistributionFromDMRAP[H, precision]
Python/Numpy: alpha, A = MarginalDistributionFromDMRAP(H, precision)

Returns the matrix geometrically distributed marginal distribution of a discrete marked rational arrival process.

Parameters:

H : list/cell of matrices of shape(M,M), length(N)

The H0...HN matrices of the DMRAP

precision : double, optional

Numerical precision for checking if the input is valid. The default value is 1e-14

Returns:

alpha : matrix, shape (1,M)

The initial vector of the matrix geometrically distributed marginal distribution

A : matrix, shape (M,M)

The matrix parameter of the matrix geometrically distributed marginal distribution

Examples

For Matlab:

>>> H0 = [0.15, 0.2, 0.18; -0.23, 0.17, 0.22; 0.19, 0.15, 0.16];
>>> H1 = [0.01, 0.08, 0.16; 0.02, 0.2, 0.07; 0.02, 0.15, 0.17];
>>> H2 = [0.14, 0.07, 0.01; 0.19, 0.02, 0.34; 0.06, 0.1, 0];
>>> [a, A] = MarginalDistributionFromDMRAP({H0, H1, H2});
>>> disp(a);
      0.22615      0.35424      0.41962
>>> disp(A);
         0.15          0.2         0.18
        -0.23         0.17         0.22
         0.19         0.15         0.16

For Mathematica:

>>> H0 = {{0.15, 0.2, 0.18},{-0.23, 0.17, 0.22},{0.19, 0.15, 0.16}};
>>> H1 = {{0.01, 0.08, 0.16},{0.02, 0.2, 0.07},{0.02, 0.15, 0.17}};
>>> H2 = {{0.14, 0.07, 0.01},{0.19, 0.02, 0.34},{0.06, 0.1, 0}};
>>> {a, A} = MarginalDistributionFromDMRAP[{H0, H1, H2}];
>>> Print[a];
{0.22614580596765838, 0.3542378174211745, 0.4196163766111672}
>>> Print[A];
{{0.15, 0.2, 0.18},
 {-0.23, 0.17, 0.22},
 {0.19, 0.15, 0.16}}

For Python/Numpy:

>>> H0 = ml.matrix([[0.15, 0.2, 0.18],[-0.23, 0.17, 0.22],[0.19, 0.15, 0.16]])
>>> H1 = ml.matrix([[0.01, 0.08, 0.16],[0.02, 0.2, 0.07],[0.02, 0.15, 0.17]])
>>> H2 = ml.matrix([[0.14, 0.07, 0.01],[0.19, 0.02, 0.34],[0.06, 0.1, 0]])
>>> a, A = MarginalDistributionFromDMRAP([H0, H1, H2])
>>> print(a)
[[ 0.22615  0.35424  0.41962]]
>>> print(A)
[[ 0.15  0.2   0.18]
 [-0.23  0.17  0.22]
 [ 0.19  0.15  0.16]]