# expm: Matrix Exponential In Matrix: Sparse and Dense Matrix Classes and Methods

## Description

Compute the exponential of a matrix.

## Usage

 `1` ```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.

## Value

The matrix exponential of `x`.

## Note

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

## 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.

## References

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

## See Also

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

## Examples

 ```1 2 3 4 5 6 7``` ```(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 ```

### Example output

```2 x 2 Matrix of class "dtrMatrix"
[,1] [,2]
[1,]    1    1
[2,]    .    1
2 x 2 Matrix of class "dtrMatrix"
[,1]     [,2]
[1,] 2.718282 2.718282
[2,]        . 2.718282
2 x 2 Matrix of class "dgeMatrix"
[,1] [,2]
[1,]  -49   24
[2,]  -64   31
2 x 2 Matrix of class "dgeMatrix"
[,1]      [,2]
[1,] -0.7357588 0.5518191
[2,] -1.4715176 1.1036382
4 x 4 sparse Matrix of class "dtCMatrix"

[1,] . 6 . .
[2,] . . 6 .
[3,] . . . 6
[4,] . . . .
4 x 4 Matrix of class "dtrMatrix"
[,1] [,2] [,3] [,4]
[1,]    1    6   18   36
[2,]    .    1    6   18
[3,]    .    .    1    6
[4,]    .    .    .    1
```

Matrix documentation built on June 11, 2021, 3 p.m.