Functions of MatricesThe computation of functions of matrices is a general problem with applications in many areas such as control theory. The function of a square matrix is not the same as the application of the function to each element in the matrix. Clearly element-wise application would not maintain properties consistent with the application of the function to a scale. For example, each element of the following matrix is raised to the zero power. In[1]:=  |
Out[2]=
|
However, a much better result would be the identity matrix. Mathematica has a function for raising a matrix to a power, and when a matrix is raised to the zero power the result is the identity matrix. In[3]:=  |
Out[3]=
|
There are a number of ways to define functions of matrices; one useful way is to consider a series expansion. For the exponential function this works as follows. One way to compute this series involves diagonalizing , so that and . Therefore, the exponential of can be computed as follows. This technique can be generalized to functions of the eigenvalues of . Note that while this is one way to define functions of matrices, it does not provide a good way to compute them. Mathematica does not have a function for computing general functions of matrices, but it has some specific functions. Here is a sample matrix. In[4]:=  |
This raises the matrix to the fourth power. In[5]:=  |
Out[5]=
|
The result is equivalent to squaring the square of the matrix. In[6]:=  |
Out[6]=
|
This computes the exponential of the matrix. In[7]:=  |
Out[7]=
|
It is equivalent to the computation that uses the eigensystem of the matrix. (It should be noted that this is not an efficient way to compute a function of a matrix, the example here is only for exposition.) In[8]:=  |
Out[11]=
|
A technique for computing parametrized functions of matrices by solving differential equations is given in the section Examples: Matrix Functions with NDSolve.
|