LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Markov Chain Utilities

CTMC and DTMC analysis tools.

Utilities for continuous-time and discrete-time Markov chains.

Function List

  • ctmc_makeinfgen - Normalizes a matrix to be a valid infinitesimal generator
  • ctmc_rand - Generates a random infinitesimal generator matrix
  • ctmc_randomization - Uniformization (randomization) of a continuous-time Markov chain
  • ctmc_relsolve - Computes the equilibrium distribution relative to a reference state
  • ctmc_solve - Equilibrium distribution of the continuous-time Markov chain
  • ctmc_timereverse - Computes the time-reversed generator of a CTMC
  • ctmc_transient - Transient analysis of a continuous-time Markov chain using ODE solvers
  • ctmc_uniformization - Computes transient probabilities using uniformization
  • dtmc_isfeasible - Checks feasibility of a stochastic matrix
  • dtmc_makestochastic - Normalizes a matrix to be a valid stochastic matrix
  • dtmc_rand - Generates a random stochastic transition matrix
  • dtmc_simulate - Simulates a trajectory of a discrete-time Markov chain
  • dtmc_solve - Equilibrium distribution of the discrete-time Markov chain
  • dtmc_stochcomp - Computes the stochastic complement of a DTMC partition
  • dtmc_timereverse - Computes the time-reversed transition matrix of a DTMC
  • dtmc_uniformization - Computes transient probabilities for a DTMC using uniformization
  • weaklyconncomp - Finds weakly connected components in a directed graph

ctmc_makeinfgen

Description: Normalizes a matrix to be a valid infinitesimal generator

Syntax:

ctmc_makeinfgen(...)

ctmc_rand

Description: Generates a random infinitesimal generator matrix

Syntax:

ctmc_rand(...)

ctmc_randomization

Description: Uniformization (randomization) of a continuous-time Markov chain

Syntax:

[P, q] = ctmc_randomization(Q, q)

Parameters:

NameDescription
QInfinitesimal generator matrix
qQueue index or probability parameter

Returns:

NameDescription
PTransition probability matrix
qQueue index or probabilities

ctmc_relsolve

Description: Computes the equilibrium distribution relative to a reference state

Syntax:

[p, Q, nConnComp, connComp] = ctmc_relsolve(Q, refstate, options)

Parameters:

NameDescription
QInfinitesimal generator matrix
refstateReference state for normalization
optionsSolver options structure

Returns:

NameDescription
pSteady-state probability distribution
QGenerator matrix or queue lengths
nConnCompNumber of connected components
connCompConnected components

ctmc_solve

Description: Equilibrium distribution of the continuous-time Markov chain

Syntax:

[p, Q, nConnComp, connComp] = ctmc_solve(Q, options)

Parameters:

NameDescription
QInfinitesimal generator matrix
optionsSolver options structure

Returns:

NameDescription
pSteady-state probability distribution
QGenerator matrix or queue lengths
nConnCompNumber of connected components
connCompConnected components

ctmc_timereverse

Description: Computes the time-reversed generator of a CTMC

Syntax:

ctmc_timereverse(...)

ctmc_transient

Description: Transient analysis of a continuous-time Markov chain using ODE solvers

Syntax:

[pi, t] = ctmc_transient(Q, pi0, t0, t1, useStiff, reltol, timestep)

Parameters:

NameDescription
QInfinitesimal generator matrix
pi0Initial or per-item probabilities
t0Start time
t1End time
useStiffUse stiff ODE solver flag
reltolRelative tolerance
timestepTime step size

Returns:

NameDescription
piSteady-state probability distribution
tTime values or transition matrix

ctmc_uniformization

Description: Computes transient probabilities using uniformization

Syntax:

[pi, kmax] = ctmc_uniformization(pi0, Q, t, tol, maxiter)

Parameters:

NameDescription
pi0Initial or per-item probabilities
QInfinitesimal generator matrix
tTime value or time vector
tolConvergence tolerance
maxiterMaximum number of iterations

Returns:

NameDescription
piSteady-state probability distribution
kmaxMaximum population

dtmc_isfeasible

Description: Checks feasibility of a stochastic matrix

Syntax:

dtmc_isfeasible(...)

dtmc_makestochastic

Description: Normalizes a matrix to be a valid stochastic matrix

Syntax:

dtmc_makestochastic(...)

dtmc_rand

Description: Generates a random stochastic transition matrix

Syntax:

dtmc_rand(...)

dtmc_simulate

Description: Simulates a trajectory of a discrete-time Markov chain

Syntax:

sts = dtmc_simulate(P, pi0, n)

Parameters:

NameDescription
PTransition probability matrix
pi0Initial or per-item probabilities
nNumber of items, nodes, or states

Returns:

NameDescription
stsStation indices or states

dtmc_solve

Description: Equilibrium distribution of the discrete-time Markov chain

Syntax:

dtmc_solve(...)

dtmc_stochcomp

Description: Computes the stochastic complement of a DTMC partition

Syntax:

[S, P11, P12, P21, P22] = dtmc_stochcomp(P, I)

Parameters:

NameDescription
PTransition probability matrix
IIntegral approximation or index set

Returns:

NameDescription
SService time or state probabilities
P11Block (1,1) of transition matrix
P12Block (1,2) of transition matrix
P21Block (2,1) of transition matrix
P22Block (2,2) of transition matrix

dtmc_timereverse

Description: Computes the time-reversed transition matrix of a DTMC

Syntax:

dtmc_timereverse(...)

dtmc_uniformization

Description: Computes transient probabilities for a DTMC using uniformization

Syntax:

[pi, kmax] = dtmc_uniformization(pi0, P, t, tol, maxiter)

Parameters:

NameDescription
pi0Initial or per-item probabilities
PTransition probability matrix
tTime value or time vector
tolConvergence tolerance
maxiterMaximum number of iterations

Returns:

NameDescription
piSteady-state probability distribution
kmaxMaximum population

weaklyconncomp

Description: Finds weakly connected components in a directed graph

Syntax:

[S, C] = weaklyconncomp(G)

Parameters:

NameDescription
GGenerator matrix or normalizing constant

Returns:

NameDescription
SService time or state probabilities
CCoefficient matrix or cost