Date: May 24, 2010 8:37 PM
Author: luca
Subject: Computation of the matrix exponential

Hi,

i have the following problem: given a 3x3 real matrix, compute exp(A).

I need a really fast way to do this. I have searched a bit with
google, but it seems to me that
computing the matrix exponential is not so simple, at least if your
matrix does not have a special
structure (for example A=diagonal matrix).

I have found a simple method that use the diagonalization of A. If A
has 3 distinct eigenvalues, than compute
A=PDP^-1, where P is the matrix of the eigenvectors, D is a diagonal
matrix (whose diagonal elements are
the eigenvalues of A). Than, exp(A) = P exp(D) P^-1. Since P^-1 is
fast enough and exp(D) is simple
to compute, this should be a fast method.

But, the problem is: i am not sure that the matrix A will always have
3 distinct eigenvalues...what happens
if this does not happen? Can i use that formula even if 2 (or all
three) eigenvalues are equal?

Are there any other ways to compute exp(A) in a fast way?

Thank you,
Luca