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 requires the test_matrix_exponential() code.
    
    
      Licensing:
    
    
      The information on this web page is 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
      an Octave 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_matrix,
      a MATLAB 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.
    
    
      
      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 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.
         
        - 
          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_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.
        
 
      
    
    
    
      Last modified on 17 February 2019.