expokit


expokit, a FORTRAN77 code which handles various forms of the matrix exponential problem, by Roger Sidje.

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.

EXPOKIT provides a set of routines aimed at the accurate computation of the matrix exponential itself, or of computing the product of the matrix exponential with a given vector, or the solution of a system of linear ODE's of the form w' = A*w(t) + B*u(t).

The software can handle real or complex matrices, and has special interfaces for symmetric or Hermitian matrices.

The version of EXPOKIT exhibited here has been modified from the original. Persons interested in using EXPOKIT are urged to consult the original source, available at "http://www.maths.uq.edu.au/expokit"

Licensing:

Permission to use, copy, modify, and distribute EXPOKIT and its supporting documentation for non-commercial purposes, is hereby granted without fee, provided that this permission message and copyright notice appear in all copies. Approval must be sought for commercial purposes.

Neither the Institution (University of Queensland) nor the Authors make any representations about the suitability of this software for any purpose. This software is provided ``as is'' without express or implied warranty.

Languages:

expokit is available in a FORTRAN77 version.

Related Data and Programs:

expokit_test

arpack, a FORTRAN90 library which computes eigenvalues for large matrices;

DLAP, a data directory which contains examples of DLAP files, a sparse matrix file format used by DLAP;

DSP, a data directory which contains examples of DSP files, a sparse matrix file format, storing just (I,J,A(I,J)), and using one-based indexing.

HB, a data directory which contains examples of HB files, the Harwell Boeing sparse matrix file format;

HBSMC, a dataset directory which contains the Harwell Boeing Sparse Matrix Collection;

MM, a data directory which contains examples of MM files, the Matrix Market Sparse Matrix File Format;

SPARSE_CC, a data directory which contains examples of SPARSE CC files, a three-file format for the sparse compressed column matrix format;

SPARSE_CR, a data directory which contains examples of SPARSE CR files, a three-file format for the sparse compressed row matrix format;

ST, a data directory which contains examples of ST files, the Sparse Triplet format, a sparse matrix file format, storing just (I,J,A(I,J)), and using zero-based indexing.

TEST_MAT, a FORTRAN77 library which defines test matrices.

Author:

Roger Sidje,
Department of Mathematics,
University of Queensland,
Brisbane, Australia.

Reference:

  1. 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.
  2. 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.
  3. Roger Sidje,
    EXPOKIT: Software Package for Computing Matrix Exponentials,
    ACM Transactions on Mathematical Software,
    Volume 24, Number 1, March 1998, pages 130-156.

Source Code:


Last revised on 05 October 2023.