test_matrix_exponential
test_matrix_exponential,
an Octave 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.
test_matrix_exponential needs the C8LIB and R8LIB libraries.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
test_matrix_exponential is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Data and Programs:
test_matrix_exponential_test
jordan_matrix_random,
an Octave code which
returns a random matrix in Jordan canonical form.
matrix_exponential,
an Octave code which
demonstrates some simple approaches to the problem of computing the
exponential of a matrix.
r8lib,
an Octave code which
contains many utility routines using double precision real (R8) arithmetic.
test_matrix,
an Octave code which
defines test matrices for which the condition number, determinant,
eigenvalues, eigenvectors, inverse, null vectors, P*L*U factorization
or linear system solution are known. Examples include the
Fibonacci, Hilbert, Redheffer, Vandermonde, Wathen and Wilkinson
matrices.
Reference:
-
Alan Laub,
Review of "Linear System Theory" by Joao Hespanha,
SIAM Review,
Volume 52, Number 4, December 2010, page 779-781.
-
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.
-
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.
-
Cleve Moler,
Cleve's Corner: A Balancing Act for the Matrix Exponential,
July 23rd, 2012.
-
Roger Sidje,
EXPOKIT: Software Package for Computing Matrix Exponentials,
ACM Transactions on Mathematical Software,
Volume 24, Number 1, 1998, pages 130-156.
-
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_exp_a.m,
returns a complex test matrix.
-
c8mat_exp_expa.m,
returns the exact exponential of the complex test matrix.
-
c8mat_exp_n.m,
returns the order of a complex test matrix.
-
c8mat_exp_story.m,
prints a "story" for each complex test case.
-
c8mat_exp_test_num.m,
returns the number of complex test matrices.
-
c8mat_print.m,
prints a C8MAT;
-
c8mat_print_some.m,
prints some of a C8MAT;
-
r8mat_exp_a.m,
returns a real test matrix.
-
r8mat_exp_expa.m,
returns the exact exponential of the real test matrix.
-
r8mat_exp_n.m,
returns the order of a real test matrix.
-
r8mat_exp_story.m,
prints a "story" for each real test case.
-
r8mat_exp_test_num.m,
returns the number of real test matrices.
-
r8mat_print.m,
prints an R8MAT;
-
r8mat_print_some.m,
prints some of an R8MAT;
Last modified on 05 June 2023.