matrix_exponential
matrix_exponential,
a MATLAB code 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.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
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:
matrix_exponential_test
r8lib,
a MATLAB code which
contains many utility routines using double precision real (R8) arithmetic.
test_mat,
a MATLAB code which
defines test matrices.
test_matrix_exponential,
a MATLAB code which
defines a set of test cases for computing the matrix exponential.
Reference:

Alan Laub,
Review of "Linear System Theory" by Joao Hespanha,
SIAM Review,
Volume 52, Number 4, December 2010, page 779781.

Cleve Moler, Charles VanLoan,
Nineteen Dubious Ways to Compute the Exponential of a Matrix,
SIAM Review,
Volume 20, Number 4, October 1978, pages 801836.

Cleve Moler, Charles VanLoan,
Nineteen Dubious Ways to Compute the Exponential of a Matrix,
TwentyFive Years Later,
SIAM Review,
Volume 45, Number 1, March 2003, pages 349.

Roger Sidje,
EXPOKIT: Software Package for Computing Matrix Exponentials,
ACM Transactions on Mathematical Software,
Volume 24, Number 1, 1998, pages 130156.

Robert Ward,
Numerical computation of the matrix exponential with accuracy estimate,
SIAM Journal on Numerical Analysis,
Volume 14, Number 4, September 1977, pages 600610.
Source Code:

c8mat_expm1.m,
is essentially MATLAB's builtin 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 builtin 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.
Last modified on 17 February 2019.