Class CTMCKt

  • All Implemented Interfaces:

    
    public final class CTMCKt
    
                        
    • Constructor Detail

    • Method Detail

      • ctmc_makeinfgen

         final static Matrix ctmc_makeinfgen(Matrix Q)

        Normalizes a matrix to be a valid infinitesimal generator. Sets diagonal elements such that row sums are zero.

        Parameters:
        Q - Input matrix
        Returns:

        Valid infinitesimal generator matrix where rows sum to zero

      • ctmc_rand

         final static Matrix ctmc_rand(Integer n)

        Generates a random infinitesimal generator matrix.

        Parameters:
        n - Size of the matrix (n x n)
        Returns:

        Random infinitesimal generator

      • weaklyconncomp

         final static ConnectedComponents weaklyconncomp(Matrix G)

        Finds weakly connected components in a directed graph.

        Parameters:
        G - Adjacency matrix of the graph
        Returns:

        ConnectedComponents with number of components and component assignment vector

      • ctmc_solve

         final static DoubleArray ctmc_solve(Matrix Q)

        Computes the equilibrium distribution of a continuous-time Markov chain.

        Parameters:
        Q - Infinitesimal generator matrix
        Returns:

        Equilibrium distribution vector

      • ctmc_solveFull

         final static CTMCSolveResult ctmc_solveFull(Matrix Q)

        Computes the equilibrium distribution with full details.

        Parameters:
        Q - Infinitesimal generator matrix
        Returns:

        CTMCSolveResult with equilibrium distribution and component info

      • ctmc_timereverse

         final static Matrix ctmc_timereverse(Matrix Q)

        Computes the time-reversed generator of a CTMC.

        Parameters:
        Q - Infinitesimal generator matrix
        Returns:

        Infinitesimal generator matrix of the time-reversed process

      • ctmc_randomization

         final static Pair<Matrix, Double> ctmc_randomization(Matrix Q, Double q)

        Applies uniformization (randomization) to transform a CTMC into a DTMC.

        Parameters:
        Q - Infinitesimal generator matrix
        q - Uniformization rate (if null, uses max|diag(Q)| + random)
        Returns:

        Pair of (uniformized stochastic matrix, uniformization rate)

      • ctmc_uniformization

         final static Pair<DoubleArray, Integer> ctmc_uniformization(DoubleArray pi0, Matrix Q, Double t, Double tol, Integer maxiter)

        Computes transient probabilities using uniformization method.

        Parameters:
        pi0 - Initial probability distribution vector
        Q - Infinitesimal generator matrix
        t - Time point for transient analysis
        tol - Error tolerance (default: 1e-12)
        maxiter - Maximum iterations (default: 100)
        Returns:

        Pair of (probability distribution at time t, number of iterations)

      • ctmc_relsolve

         final static DoubleArray ctmc_relsolve(Matrix Q, Integer refstate)

        Computes the equilibrium distribution relative to a reference state. Solves global balance equations with p(refstate) = 1 normalization.

        Parameters:
        Q - Infinitesimal generator matrix
        refstate - Index of reference state (0-based, default: 0)
        Returns:

        Relative equilibrium distribution vector