Skip to Content

expm {Matrix}

Matrix Exponential
Package: 
Matrix
Version: 
1.1-2

Description

Compute the exponential of a matrix.

Usage

expm(x)

Arguments

x
a matrix, typically inheriting from the dMatrix class.

Details

The exponential of a matrix is defined as the infinite Taylor series 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.

Values

The matrix exponential of x.

References

http://en.wikipedia.org/wiki/Matrix_exponential

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, http://mathworld.wolfram.com/MatrixExponential.html

Note

The expm package contains newer (partly faster and more accurate) algorithms for expm() and includes logm and sqrtm.

See Also

Schur; additionally, expm, logm, etc in package expm.

Examples

(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), tolerance = 1e-15))
(m2 <- Matrix(c(-49, -64, 24, 31), nc = 2))
(e2 <- expm(m2))
(m3 <- Matrix(cbind(0,rbind(6*diag(3),0))))# sparse!
(e3 <- expm(m3)) # upper triangular

Author(s)

This is a translation of the implementation of the corresponding Octave function contributed to the Octave project by A. Scottedward Hodel A.S.Hodel@Eng.Auburn.EDU. A bug in there has been fixed by Martin Maechler.

Documentation reproduced from package Matrix, version 1.1-2. License: GPL (>= 2)