Section 30.4 Concepts
The example explored in Section 30.2 is typical — generalized eigenspaces always form a complete set of independent, invariant subspaces, and so creating a transition matrix that consists of linearly independent generalized eigenvectors, grouped by eigenvalue and ordered by eigensubspace (as in the scalar-triangularization procedure) will take the matrix to a block-diagonal form where each block is in scalar-triangular form. We will call this form triangular block form.
In Section 30.5, we will further explore the theory of generalized eigenvectors and how they are the precise tool needed to realize such a triangular block form, and below we will provide a procedure for putting a matrix in triangular block form. But first, an important point about working with real scalars versus working with complex scalars. To be able to put a matrix in triangular block form, we need all of its eigenvalues available. The Fundamental Theorem of Algebra (Complex Version) guarantees that every characteristic equation can be solved completely. But for real matrices, we sometimes may not want to allow complex solutions to the characteristic equation, or complex transition matrices. In which case, some real matrices will not be similar to a triangular block form. We'll restate this in the following remark.
Remark 30.4.1.
If one is willing to work with complex scalars, then every matrix is similar to one in triangular block form. Otherwise, if one is only willing to work with real scalars, then matrices with complex eigenvalues will not be similar to any real matrix in triangular block form.
Procedure 30.4.2. To put a matrix in triangular block form.
Suppose \(A\) is a square matrix whose characteristic polynomial factors completely into linear factors. Write \(\lambda_1, \lambda_2, \dotsc, \lambda_\ell \) for the complete list of the eigenvalues of \(A\text{,}\) with no duplicates, and with corresponding multiplicities \(m_1, m_2, \dotsc, m_\ell \text{.}\)
- For each eigenvalue \(\lambda_j\) in turn, determine a basis for the generalized eigenspace \(G_{\lambda_j}(A)\) as in the scalar-triangularization procedure (Procedure 29.4.1): determine a basis for the eigenspace \(E_{\lambda_j}(A)\text{,}\) then extend to a basis for the generalized eigensubspace \(E_{\lambda_j}^2(A)\text{,}\) and then to a basis for \(E_{\lambda_j}^3(A)\text{,}\) and so on, until you have \(m_j\) generalized eigenvectors in your basis.
- Take \(P\) to be the matrix whose first \(m_1\) columns are the basis vectors for \(G_{\lambda_1}(A)\) obtained in the first step, in order, and whose next \(m_2\) columns are the basis vectors for \(G_{\lambda_2}(A)\text{,}\) and so on.
Then \(\inv{P} A P\) will be in triangular-block form. Along the block-diagonal, there will be one block for each eigenvalue \(\lambda_j\text{,}\) of size equal to the algebraic multiplicity \(m_j\text{,}\) and with \(\lambda_j\) repeated down the diagonal of that block.