test_matrix_exponential, a Python code which contains some simple tests for software that computes 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, that is

exp(A) = sum ( 0 <= i < oo ) A^i / i!
Even for this simple case, and for a matrix of small order, it can be quite difficult to compute the matrix exponential accurately.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


test_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, a Python code which demonstrates some simple approaches to the problem of computing the exponential of a matrix.

TEST_MAT, a Python code which defines test matrices.


  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. Cleve Moler,
    Cleve's Corner: A Balancing Act for the Matrix Exponential,
    July 23rd, 2012.
  5. Roger Sidje,
    EXPOKIT: Software Package for Computing Matrix Exponentials,
    ACM Transactions on Mathematical Software,
    Volume 24, Number 1, 1998, pages 130-156.
  6. 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:

Last modified on 04 February 2017.