# MATRIX_EXPONENTIAL Algorithms for the Matrix Exponential

MATRIX_EXPONENTIAL, a MATLAB library which exhibits and compares some algorithms for approximating the matrix exponential function.

Formally, for a square matrix A and scalar t, the matrix exponential exp(A*t) can be defined as the sum:

exp(A*t) = sum ( 0 <= i < oo ) A^i t^i / i!

The simplest form of the matrix exponential problem asks for the value when t = 1. Even for this simple case, and for a matrix of small order, it can be quite difficult to compute the matrix exponential accurately.

MATRIX_EXPONENTIAL needs the R8LIB library. The test code for MATRIX_EXPONENTIAL requires the TEST_MATRIX_EXPONENTIAL library.

### Languages:

MATRIX_EXPONENTIAL is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

R8LIB, a MATLAB library which contains many utility routines using double precision real (R8) arithmetic.

TEST_MAT, a MATLAB library which defines test matrices.

TEST_MATRIX_EXPONENTIAL, a MATLAB library which defines a set of test cases for computing the matrix exponential.

### Reference:

1. Alan Laub,
Review of "Linear System Theory" by Joao Hespanha,
SIAM Review,
Volume 52, Number 4, December 2010, page 779-781.
2. Cleve Moler, Charles VanLoan,
Nineteen Dubious Ways to Compute the Exponential of a Matrix, SIAM Review,
Volume 20, Number 4, October 1978, pages 801-836.
3. Cleve Moler, Charles VanLoan,
Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-Five Years Later,
SIAM Review,
Volume 45, Number 1, March 2003, pages 3-49.
4. Roger Sidje,
EXPOKIT: Software Package for Computing Matrix Exponentials,
ACM Transactions on Mathematical Software,
Volume 24, Number 1, 1998, pages 130-156.
5. Robert Ward,
Numerical computation of the matrix exponential with accuracy estimate,
SIAM Journal on Numerical Analysis,
Volume 14, Number 4, September 1977, pages 600-610.

### Source Code:

• c8mat_expm1.m, is essentially MATLAB's built-in matrix exponential algorithm.
• c8mat_expm2.m, estimates the matrix exponential using a Taylor series.
• c8mat_expm3.m, estimates the matrix exponential using information from an eigenvalue decomposition.
• r8mat_expm1.m, is essentially MATLAB's built-in matrix exponential algorithm.
• r8mat_expm2.m, estimates the matrix exponential using a Taylor series.
• r8mat_expm3.m, estimates the matrix exponential using information from an eigenvalue decomposition.