
Last chance! 50% off unlimited learning
Sale ends in
expm(x)
dMatrix
class.x
.expm(A) = I + A + A^2/2! + A^3/3! + ...
(although this is
definitely not the way to compute it). The method for the
dgeMatrix
class uses Ward's diagonal Pade' approximation with
three step preconditioning. Cleve Moler and Charles Van Loan (2003)
Nineteen dubious ways to compute the exponential of a matrix,
twenty-five years later. SIAM Review 45, 1, 3--49. Eric W. Weisstein et al. (1999) Matrix Exponential.
From MathWorld,
Schur
(m1 <- Matrix(c(1,0,1,1), nc = 2))
(e1 <- expm(m1)) ; e <- exp(1)
stopifnot(all.equal(e1@x, c(e,0,e,e), tol = 1e-15))
(m2 <- Matrix(c(-49, -64, 24, 31), nc = 2))
(e2 <- expm(m2))
(m3 <- Matrix(cbind(0,rbind(6*diag(3),0)), nc = 4))# sparse!
(e3 <- expm(m3))
Run the code above in your browser using DataLab