Documentation
Mathematica
Built-in Functions
Advanced Documentation
Linear Algebra
Matrix Computations

Functions of Matrices
The 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.