6
$\begingroup$

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?

$\endgroup$
  • $\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
11
$\begingroup$

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\|}. $$

$\endgroup$
0
$\begingroup$

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.

$\endgroup$

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.