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?
-
$\begingroup$ What have you tried so far? Also, what do you mean by tolerance, is it a relative/absolute error in the matrix norm? $\endgroup$ – nicoguaro♦ Oct 28 '16 at 20:23
-
$\begingroup$ 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? $\endgroup$ – Samu Oct 29 '16 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: \begin{equation} A^n = Q \Lambda^n Q^{-1} \quad . \end{equation} 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.