Matrix exponentiation – what’s that?

Most people have heard of the exponential function that maps an arbitrary real (or even complex) number x to but what happens if x is not a number but a matrix? Does the expression
with a square matrix
even make sense?
The answer is: Yes, it does!
In order to understand what the expression means, we take a step back to the exponential function for scalars. When we have a look at the power series of the exponential function,
with
,
we can see that there are only multiplications, additions and divisions by a scalar involved. These operations can be generalized to matrices easily. Hence, we can define the exponential of a matrix as
.
The next question is: How can we compute the matrix exponential for a general complex matrix?
There exist several different algorithms, our project focuses on two of them: Taylor series and diagonalization.
The most intuitive one is using the representation above and replace the infinite sum by a finite one to obtain the Taylor series. The number of summands that one has to compute depends on the accuracy that is needed – although it is only an approximation, it serves its purpose in many applications.
The second approach to compute the exponential of a matrix in our project is diagonalization. At first the matrix is decomposed to a product of three matrices
,
and
,
,
where the columns of the matrix contain the eigenvectors of
, the matrix
is a diagonal matrix with the corresponding eigenvalues stored at the diagonal and
is the inverse matrix of
. With this decomposition, the computation of the matrix exponential is very easy because the following equality holds
.
The only expression that has not been calculated is and this matrix is again a diagonal matrix with the exponential of the diagonal entries of
. If we multiply the matrices
,
and
, we obtain the matrix exponential of
.
But this is not HPC, right?
Wait and see…
Leave a Reply