Classroom Tips and Techniques: Jordan Normal Form of a Matrix
Robert J. Lopez
Emeritus Professor of Mathematics and Maple Fellow
Maplesoft
Introduction
A square matrix is similar either to a diagonal matrix or to a Jordan matrix, that is, a diagonal matrix with a mix of 1s and 0s on the superdiagonal. The columns of the transition matrix for a diagonalizable matrix are the eigenvectors of the matrix. The nondiagonalizable square matrix doesn't have "enough" linearly independent eigenvectors and is similar to its Jordan matrix via a transition matrix composed of eigenvectors and generalized eigenvectors.
Selecting the "correct" eigenvectors and finding the generalized eigenvectors require considerable care. The theory underlying the structure supporting the Jordan form is some of the most abstract mathematics encountered in the first linear algebra course. In fact, many leading undergraduate texts today simply omit this discussion.
This month's article explores computations by which the matrix of transition to Jordan form can be constructed, and in so doing, illustrates some of the underlying theory.
Initializations
A Matrix and Its Jordan Form
Table 1 displays the 7x7 matrix , its Jordan normal form , and the transition matrix for the similarity transform . The Jordan matrix is a blockdiagonal matrix with four distinct blocks of orders 2x2, 3x3, 1x1, 1x1. The eigenvalues of appear on the main diagonal of ; the eigenvalue 2 has algebraic multiplicity 7 but geometric multiplicity 4, the same number as the number of blocks in . Each block accounts for one of the four eigenvectors.
To determine the columns of , it is first necessary to know the sizes of the blocks in . Thus, something must be learned about the structure of before one can find the transition matrix that converts to .



Table 1 The matrix , its transition matrix , and its Jordan normal form

Eigenvectors and Generalized Eigenvectors
An eigenvector of a matrix is a vector that remains invariant under multiplication by . In particular, it is a vector that satisfies the equation , for a specific value of the constant called the eigenvalue. Clearly, if is an eigenpair for , then so is , for any scalar multiple . Thus, an eigenvector is really an "eigendirection," that is, a direction that remains unchanged under multiplication by .
If is a transition matrix by which is similar to its Jordan form , then we have , or . The eigenvectors and generalized eigenvectors of are the columns of . To see what does to these columns, it is sufficient to compare to the product , as provided in Table 2.
Careful inspection of the matrices in Table 2 would reveal that if , then
Columns 1, 3, 6, and 7 of the transition matrix are eigenvectors; columns 2, 3, and 5 are generalized eigenvectors. Table 3 states this in terms of the matrix .







Table 3 Eigenvectors and generalized eigenvectors of

The eigenspace is spanned by the four eigenvectors . The generalized eigenvectors are "chained" to the eigenvectors. There are chains of lengths 2, 3, 1, and 1. At the base of each chain is an eigenvector. Any remaining members of a chain are generalized eigenvectors.
To determine the structure of the Jordan form , one must know the number of chains, and the length of each chain.
Determining the Structure of
Table 4 defines the matrix , with the eigenvalue set equal to 2, and being the identity matrix.
For the x = 7x7 matrix , let be the algebraic multiplicity of the eigenvalue 2, and determine the integer . Let be the smallest integer for which the rank of equals . The integer is called the index of . Table 5 shows that for the matrix in Table 4.
The index of can also be found from the minimal polynomial for . The CayleyHamilton theorem states that , the characteristic polynomial of , annihilates (i.e., is the zero matrix). The minimal polynomial is the lowestdegree polynomial for which .
The characteristic and minimal polynomials for are given in Table 6.
In the minimal polynomial, the degree of the factor containing a particular eigenvalue gives the index of the matrix . The index of is the length of the longest chain.
Before we can make more progress in deconstructing the structure of , we need the following definition.
In essence, the chainmember x has rank if x is in the null space of , not not in the null space of . Assigning a rank to a member of a chain of generalized eigenvectors is simply a way of recording in which null space that vector falls.
Finding the lengths of chains shorter than the longest requires the numbers
Table 7 provides the values of , for the matrix in Table 1. Since , the rank of is 7.

=


=


=

Table 7 Determination of

The data in Table 7 indicate that there are four vectors of rank 1 (the four eigenvectors); two vectors of rank 2, and 1 vector of rank 3. These vectors are arranged in four chains, depicted in Figure 1.

Figure 1 Overlapping subspaces in induced by the matrix

The vectors and are eigenvectors, and no chain of generalized eigenvectors emanates from either of these two vectors. The vector is an eigenvector, and it is the start of a chain of length 2. Thus, the vector is the generalized eigenvector at the end of this chain of length 2. The vector is an eigenvector, the start of the chain of length 3. The generalized eigenvector is the second member of this chain, and the generalized eigenvector is the end of the longest chain.
The eigenspace is the null space of the matrix . The subspace is the null space of , but , that is, the eigenspace is a subspace of . Likewise, so that is a subspace of . In this example, , the whole space, so we have .
Table 3, therefore, can be expressed by the equations in Table 8.



Table 8 Generalized eigenvector chains and the matrix

Finding the Generalized Eigenvectors
The chainlength for the generalized eigenvectors tells us from which to select the end of the chain. As can be seen from Table 8, if the generalized eigenvector at the end of the chain is known, the complete chain can be computed by successively multiplying by . Therefore, we first obtain bases for the null spaces .
The eigenspace is spanned by the four eigenvectors in . The enveloping space is spanned by the six basis vectors in . We should have anticipated the seven vectors in since ; hence, the most general vector in will be
> 


The Chain of Length 3
The chain of length 3 "ends" with a generalized eigenvector of rank 3. This vector lies in so that , but must not be the zero vector. Clearly, , as we see from
> 

We must insure that for to be a generalize eigenvector of rank 3. Consequently, we compute
> 

The vector will be nonzero provided
> 


(1) 
Assuming this to be the case, we take , that is
> 

as the chain member in , and as the member in the eigenspace . Provided the condition in prevails, we thus have the length3 chain .
An alternate way of looking at the condition is to observe that must lie in but not in . This means the component of X that is in the orthogonal complement of must not be zero. So, to project X onto , we form the projection matrix , where is a matrix whose columns are the vectors that span .
> 

The component of X orthogonal to is then
> 

The condition generates seven homogeneous equations, from which can be eliminated by giving it the value
> 

The vector is nonzero provided
> 

does not hold. The conditions are the same!
The Chain of Length 2
The chain of length 2 "ends" at a generalized eigenvector in that is distinct from the vector . To find a vector in that is distinct from , consider as candidates the six basis vectors in . We test the rank of each matrix whose first column is and whose second column is one of these basis vectors. If the rank of any of these matrices is 2, then the corresponding basis vector is a candidate for the generalized eigenvector of rank 2 that ends the chain of length 2.
The relevant calculations are then
> 

The ranks of the six possible matrices are all 2; any of the six basis vectors in can be selected. The anchor of this chain is then the eigenvector
> 

where the vector selected from is
> 

The Transition Matrix
We now have five of the seven columns of the transition matrix. The remaining two columns are eigenvectors taken from the subspace . There are
> 

ways to pick two different vectors from a set of four. The explicit combinations are
> 

A bruteforce method for picking two that flesh out a linearlyindependent set of seven vectors for the columns of the transition matrix simply tests the rank of each possible transition matrix that can be constructed from the five vectors we already have. The resulting transition matrix is the first such matrix whose rank is 7.
To verify that the transition matrix puts into its Jordan form, we show rather than . The matrix is difficult to invert because it contains many indeterminates; the following test that shows is the zero matrix, is therefore more efficient.
> 

A BruteForce Calculation of the Transition Matrix
There is a certain amount of flexibility in the choices of the generalized eigenvectors in the chains whose members make up the columns of the transition matrix. As an experiment, let's start with the transition matrix
> 

all of whose 7?7 = 49 members are indeterminate. By bruteforce, set up and solve the equations inherent in . The equations are
> 

The solution is
> 

That brings the transition matrix to the form
> 

containing the indeterminates
> 

whose number is
> 

That represents a considerable amount of choice as one selects generalized eigenvectors. How much flexibility is left in choosing these 21 parameters? Let's randomly assign the following values to these 21 unknowns via
> 

to these 21 unknowns. The resulting transition matrix will then be
> 

whose rank we check with
> 

and which we test with
> 

If the rank of is not 7, a different list would need to be generated.
From Eigenvector to Generalized Eigenvector
An even more interesting question is whether the process of building chains of generalized eigenvectors can be reversed. In other words, can we start with an eigenvector E and march up the chain by solving equations of the form for a generalized eigenvector u? Well, the answer is a qualified yes, and the relevant calculations, provided below, show how this might be done.
For the equation to have a solution, the vector E has to be in the column space of . Thus, E must be in the null space of because it is an eigenvector, and it has to be in the column space of in order to support a chain of generalized eigenvectors. To find a basis for the subspace of that is common to the column space of , we first find
> 


(2) 
a basis for the column space of , then use
> 


(3) 
to find a basis for the intersection of with the column space of . Thus, the most general eigenvector that can support a chain of generalized eigenvectors is
> 


(4) 
The most general solution of the equation is
> 


(5) 
However, the chain can't be advanced to a vector in because U is not in the column space of . The free parameters in U show that it contains components from the null space of . Even if these components were not there, U still would not lie in the column space of , as we can verify by showing the component of U orthogonal to the column space of is nonzero. The matrix of projection is
> 


(6) 
and the component of U orthogonal to this space is
> 


(7) 
In general, this is not the zero vector, even if the free parameters , were all to vanish. Another way to see that U is not in the column space of is to try to solve the equation for .
> 

The system is inconsistent precisely because U is not in the column space of .
An alternate solution of the equation is obtained with , the pseudoinverse of , obtained in Maple as
> 


(8) 
If were invertible, we would have . Instead, we have , the leastsquares solution of minimal length. In effect, the vector U is projected onto the column space of , and the inverse image of minimal length is found. Thus, use of the pseudoinverse allows us to ignore components of U not in the column space of .
The Maple version of is
> 


(9) 
That is in is verified by the vanishing of , as we see from
> 


(10) 
However, is not the end of a length3 chain that starts with the vector . The chain still needs to be generated back down from , as .
The length2 chain can also be generated with the pseudoinverse by starting from , computing as the end of the chain in , and backing down to the eigenvector in . These calculations lead to a transition matrix constructed by the same devices used earlier.

(11) 
As we also showed earlier, verification that is a transition matrix that puts into its Jordan form consists in the vanishing of the matrix .
> 


(12) 
Generating a Matrix with a Given Jordan Form
Finally, we address the question of generating a matrix with a known Jordan form . This is done by defining the matrix as , where is the given Jordan form, and is a transition matrix whose columns will be eigenvectors and generalized eigenvectors.
The Jordan matrix is built in Maple with the JordanBlockMatrix command whose use for generating the Jordan matrix in Table 1 is illustrated below.
> 


(13) 
The size of a subblock and its associated eigenvalue are given by a list, and a list of such lists determines the full matrix.
The transition matrix can be any nonsingular comformable matrix. However, if the determinant of is not , the matrix will most likely contain fractions, making the calculations more tedious. Hence, we select from randomly generated matrices with determinant and integer entries or 2. This is done with code such as the following.
A suitable matrix is recovered from the index printed in front of the matrix. For example, if the last matrix is chosen for , it can be extracted via
> 


(15) 
All that would remain is the construction of .
The basis that puts into its Jordan form is not unique. Hence, the transition matrix is not unique. Table 1 shows the matrix that was used to construct for this exploration. The transition matrices we generated with the various bases we constructed were not necessarily the same as this .
Legal Notice: ? Maplesoft, a division of Waterloo Maple Inc. 2009. Maplesoft and Maple are trademarks of Waterloo Maple Inc. This application may contain errors and Maplesoft is not liable for any damages resulting from the use of this material. This application is intended for noncommercial, nonprofit use only. Contact Maplesoft for permission if you wish to use this application in forprofit activities.