I am interested in computing the solution of a lage system of ODEs using a krylov method as in [1]. Such method involve functions related to the exponential (the so-called $\varphi$-functions). It essentially consists of computing the action of the matrix function by constructing a Krylov subspace using Arnoldi iteration and projecting the function on this subspace. This reduce the problem to compute the exponential of a much smaller Hessenberg matrix.

I am aware that there are several algorithms to compute the exponential (see [2][3] and references therein). I wonder if there is a special algorithm to calculate the exponential that can takes advantage of the fact that the matrix is Hessenberg ?

[1] Sidje, R. B. (1998). Expokit: a software package for computing matrix exponentials. ACM Transactions on Mathematical Software (TOMS), 24(1), 130-156.

[2] Moler, C., & Van Loan, C. (1978). Nineteen dubious ways to compute the exponential of a matrix. SIAM review, 20(4), 801-836.

[3] Moler, C., & Van Loan, C. (2003). Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later. SIAM review, 45(1), 3-49.

  • $\begingroup$ There's been some newer work by Jitse Niesen you might also want to look at. $\endgroup$ Jun 24 '14 at 19:19
  • $\begingroup$ Is the small-scale exponential really the bottleneck of your algorithm? I would expect its cost to be negligible with respect to the Arnoldi part. $\endgroup$ Jun 28 '14 at 20:31

Since expokit seems to use a Krylov subspace method, usually (at least, the hope is that) the upper Hessenberg matrices are of small dimension, say $m \sim 100$. For matrices of these sizes, there should not be any major difference in computational time by using any method for dense matrix exponential computation. For example, 'expm' in MATLAB seems to use scaling and squaring method with a Pade approximation near zero.

If the dimension of the Krylov subspace is large, then you might consider either preconditioning http://link.springer.com/article/10.1023%2FA%3A1023219016301 or restarting the Krylov subspace method http://www.mathe.tu-freiberg.de/~Ernst/PubArchive/eiermannErnstKrylovExp.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.