School of Mathematics
Search site
A Krylov subspace algorithm for evaluating the φ-functions appearing in exponential integrators
Jitse Niesen and
Will M.
Wright.
"Algorithm 919: A Krylov subspace algorithm for evaluating the
φ-functions appearing in exponential integrators".
ACM Trans.
Math. Software, 38(3), Article 22, 2012;
doi:10.1145/2168773.2168781;
arXiv:0907.4631.
Download preprint in
gzipped PostScript (260 kB),
uncompressed PostScript (580 kB),
or PDF format (320 kB).
Abstract
We develop an algorithm for computing the solution of a large system of linear ordinary differential equations (ODEs) with polynomial inhomogeneity. This is equivalent to computing the action of a certain matrix function on the vector representing the initial condition. The matrix function is a linear combination of the matrix exponential and other functions related to the exponential (the so-called φ-functions). Such computations are the major computational burden in the implementation of exponential integrators, which can solve general ODEs. Our approach is to compute the action of the matrix function by constructing a Krylov subspace using Arnoldi or Lanczos iteration and projecting the function on this subspace. This is combined with time-stepping to prevent the Krylov subspace from growing too large. The algorithm is fully adaptive: it varies both the size of the time steps and the dimension of the Krylov subspace to reach the required accuracy. We implement this algorithm in the Matlab function phipm and we give instructions on how to obtain and use this function. Various numerical experiments show that the phipm function is often significantly more efficient than the state-of-the-art.
Software
To install the phipm function described in the paper, copy the files phipm.m and expmnorm.m to a directory where Matlab can find them. Alternatively, download phipm.tar.gz (8.4 MB) which contains these files and scripts to reproduce the plots in the paper.
Jitse Niesen
© Jitse Niesen, last updated: 15 May 2012
