TransientModes computes the first transient modes for a Continuous Time Markov Chain generator or sub-generator G. These are given by the equations

phi

By "first" modes, we mean that the eigenvalues have with the largest real parts

If G is a generator, then the first mode is the stationary mode. Then the first left mode right mode is trivial, i.e., the constant function, while the first left mode is the stationary distribution. The second value is one divided by the decorrelation time.

TransientModes(G, k = 5)

Arguments

G

(Sub-)generator of a CTMC: A quadratic matrix with non-negative off-diagonal elements and non-positive row sums

k

Number of modes.

Value

A list containing: phi, a matrix so that each of the k rows contains a transient mode of the forward Kolmogorov equation psi, a matrix so that each of the k columns contains a transient mode of the backward Kolmogorov equation lambda, a vector of the k eigenvalues

Examples

## Modes for the Ornstein-Uhlenbeck process
xgrid <- seq(-3,3,0.01)
xc <- cell.centers(xgrid)
G <- fvade(u=function(x)-x,D=function(x)1,xgrid=xgrid,bc="r")
modes <- TransientModes(G,3)
par(mfrow=c(3,2))
for(i in 1:3)
{
  plot(xc,modes$phi[i,],type="l",main=modes$lambda[i])
  plot(xc,modes$psi[,i],type="l",main=modes$lambda[i])
}