Approximating the exponent of a matrix $\exp(A)$ using Taylor series

I am trying to approximate the exponential of a matrix. I want to use a tolerance but I am confused as to how to compute the error. Any ideas or hints?

• What have you tried so far? Also, what do you mean by tolerance, is it a relative/absolute error in the matrix norm? Oct 28, 2016 at 20:23
• i am trying to use scaling and squaring but I find it had to incorporate the tolerance into it. It is a relative error, next term in the Taylor series mines the previous. I think that is what you mean with relative/absolute?
– Samu
Oct 29, 2016 at 6:14

First: there is a must read on this topic

Moler, Cleve, and Charles Van Loan. "Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later." SIAM review 45.1 (2003): 3-49.

(in case you wonder, the original paper is

Moler, Cleve, and Charles Van Loan. "Nineteen dubious ways to compute the exponential of a matrix." SIAM review 20.4 (1978): 801-836.)

More to the question: The following error bound from this slides will be helpful:

For a complex $n\times n$ matrix $A$ let $$T_{r,s} = \Big(\sum_{i=0}^r \frac{1}{i!}\big(\tfrac{A}{s}\big)^i\Big)^s$$ then $$\|e^A - T_{r,s}\| \leq \frac{\|A\|^{r+1}}{s^r(r+1)!}e^{\|A\|}.$$

I have not entirely thought this through, but have you have thought about using the largest eigenvalue? If $A$ is your matrix, and $Q \Lambda Q^{-1}$ its eigendecomposition, then you can use the following identity for each term in your Taylor series: $$A^n = Q \Lambda^n Q^{-1} \quad .$$ Then, you take the largest eigenvalue, and compute from it an upper bound for the Lagrange remainder. Obviously, this works best for symmetric matrices where Q is orthogonal. But I still think this may be a good starting point.