Package jline.api.mam

Class LdqbdCensor

java.lang.Object
jline.api.mam.LdqbdCensor

public final class LdqbdCensor extends Object
Stationary distribution of a chain of connected LDQBDs by successive censoring.

Port of matlab/src/api/mam/ldqbd_censor.m, implementing the algorithm of N. Baer, A. Al Hanbali, R. J. Boucherie, J. C. W. van Ommeren, "A successive censoring algorithm for a system of connected LDQBD-processes", Annals of Operations Research 310:389-410, 2022.

The state space is split into S sets, each a level-dependent QBD on its own; set s has levels 1..L_s and level l of set s has phases.get(s)[l] phases. States are ordered by (set, level, phase). Transitions between sets are arbitrary. Sets 1..S-1 are censored out in turn, the last LDQBD is solved by level reduction, and the vector is expanded back. Each transient LDQBD is factored once by block-tridiagonal LU. If a censored diagonal block is no longer block tridiagonal by level, LINE:unsupported:Structure is thrown (another order of the sets may succeed).

  • Method Details

    • ldqbdCensor

      public static LdqbdCensorResult ldqbdCensor(Matrix Q, List<int[]> phases)
    • ldqbdCensor

      public static LdqbdCensorResult ldqbdCensor(Matrix Q, List<int[]> phases, double tol)
      Parameters:
      Q - infinitesimal generator ordered by (set, level, phase)
      phases - phases.get(s)[l] is the number of phases of level l of set s
      tol - relative tolerance on the generator row sums