Calculates expm(A) %*% v
using plain series summation. The number of terms is determined adaptively when uniformization=TRUE
.
The uniformization method essentially pushes the spectrum of the operator inside a zero centered disc, within which a uniform error bound is available.
If A
is a generator matrix (i.e. expm(A)
is a probability matrix) and if v
is a probability vector, then the relative error of the result is bounded by tol
.
expAv(A, v, transpose = FALSE, uniformization = TRUE, tol = 1e-08, ...)
Vector (or matrix)
Sparse matrix (usually a generator)
Vector (or matrix)
Calculate expm(t(A)) %*% v
? (faster due to the way sparse matrices are stored)
Use uniformization method?
Accuracy if A is a generator matrix and v a probability vector.
Extra configuration parameters
Additional supported arguments via ...
currently include:
Nmax
Use no more than this number of terms even if the spcified accuracy cannot be met.
warn
Give warning if number of terms is truncated by Nmax
.
trace
Trace the number of terms when it adaptively changes.
Grassmann, W. K. (1977). Transient solutions in Markovian queueing systems. Computers & Operations Research, 4(1), 47--53.
Sherlock, C. (2021). Direct statistical inference for finite Markov jump processes via the matrix exponential. Computational Statistics, 36(4), 2863--2887.