Skip to main content
\(\newcommand{\orderof}[1]{\sim #1} \newcommand{\Z}{\mathbb{Z}} \newcommand{\reals}{\mathbb{R}} \newcommand{\real}[1]{\mathbb{R}^{#1}} \newcommand{\complexes}{\mathbb{C}} \newcommand{\complex}[1]{\mathbb{C}^{#1}} \newcommand{\conjugate}[1]{\overline{#1}} \newcommand{\modulus}[1]{\left\lvert#1\right\rvert} \newcommand{\zerovector}{\vect{0}} \newcommand{\zeromatrix}{\mathcal{O}} \newcommand{\innerproduct}[2]{\left\langle#1,\,#2\right\rangle} \newcommand{\norm}[1]{\left\lVert#1\right\rVert} \newcommand{\dimension}[1]{\dim\left(#1\right)} \newcommand{\nullity}[1]{n\left(#1\right)} \newcommand{\rank}[1]{r\left(#1\right)} \newcommand{\ds}{\oplus} \newcommand{\detname}[1]{\det\left(#1\right)} \newcommand{\detbars}[1]{\left\lvert#1\right\rvert} \newcommand{\trace}[1]{t\left(#1\right)} \newcommand{\sr}[1]{#1^{1/2}} \newcommand{\spn}[1]{\left\langle#1\right\rangle} \newcommand{\nsp}[1]{\mathcal{N}\!\left(#1\right)} \newcommand{\csp}[1]{\mathcal{C}\!\left(#1\right)} \newcommand{\rsp}[1]{\mathcal{R}\!\left(#1\right)} \newcommand{\lns}[1]{\mathcal{L}\!\left(#1\right)} \newcommand{\per}[1]{#1^\perp} \newcommand{\augmented}[2]{\left\lbrack\left.#1\,\right\rvert\,#2\right\rbrack} \newcommand{\linearsystem}[2]{\mathcal{LS}\!\left(#1,\,#2\right)} \newcommand{\homosystem}[1]{\linearsystem{#1}{\zerovector}} \newcommand{\rowopswap}[2]{R_{#1}\leftrightarrow R_{#2}} \newcommand{\rowopmult}[2]{#1R_{#2}} \newcommand{\rowopadd}[3]{#1R_{#2}+R_{#3}} \newcommand{\leading}[1]{\boxed{#1}} \newcommand{\rref}{\xrightarrow{\text{RREF}}} \newcommand{\elemswap}[2]{E_{#1,#2}} \newcommand{\elemmult}[2]{E_{#2}\left(#1\right)} \newcommand{\elemadd}[3]{E_{#2,#3}\left(#1\right)} \newcommand{\scalarlist}[2]{{#1}_{1},\,{#1}_{2},\,{#1}_{3},\,\ldots,\,{#1}_{#2}} \newcommand{\vect}[1]{\mathbf{#1}} \newcommand{\colvector}[1]{\begin{bmatrix}#1\end{bmatrix}} \newcommand{\vectorcomponents}[2]{\colvector{#1_{1}\\#1_{2}\\#1_{3}\\\vdots\\#1_{#2}}} \newcommand{\vectorlist}[2]{\vect{#1}_{1},\,\vect{#1}_{2},\,\vect{#1}_{3},\,\ldots,\,\vect{#1}_{#2}} \newcommand{\vectorentry}[2]{\left\lbrack#1\right\rbrack_{#2}} \newcommand{\matrixentry}[2]{\left\lbrack#1\right\rbrack_{#2}} \newcommand{\lincombo}[3]{#1_{1}\vect{#2}_{1}+#1_{2}\vect{#2}_{2}+#1_{3}\vect{#2}_{3}+\cdots +#1_{#3}\vect{#2}_{#3}} \newcommand{\matrixcolumns}[2]{\left\lbrack\vect{#1}_{1}|\vect{#1}_{2}|\vect{#1}_{3}|\ldots|\vect{#1}_{#2}\right\rbrack} \newcommand{\transpose}[1]{#1^{t}} \newcommand{\inverse}[1]{#1^{-1}} \newcommand{\submatrix}[3]{#1\left(#2|#3\right)} \newcommand{\adj}[1]{\transpose{\left(\conjugate{#1}\right)}} \newcommand{\adjoint}[1]{#1^\ast} \newcommand{\set}[1]{\left\{#1\right\}} \newcommand{\setparts}[2]{\left\lbrace#1\,\middle|\,#2\right\rbrace} \newcommand{\card}[1]{\left\lvert#1\right\rvert} \newcommand{\setcomplement}[1]{\overline{#1}} \newcommand{\charpoly}[2]{p_{#1}\left(#2\right)} \newcommand{\eigenspace}[2]{\mathcal{E}_{#1}\left(#2\right)} \newcommand{\eigensystem}[3]{\lambda&=#2&\eigenspace{#1}{#2}&=\spn{\set{#3}}} \newcommand{\geneigenspace}[2]{\mathcal{G}_{#1}\left(#2\right)} \newcommand{\algmult}[2]{\alpha_{#1}\left(#2\right)} \newcommand{\geomult}[2]{\gamma_{#1}\left(#2\right)} \newcommand{\indx}[2]{\iota_{#1}\left(#2\right)} \newcommand{\ltdefn}[3]{#1\colon #2\rightarrow#3} \newcommand{\lteval}[2]{#1\left(#2\right)} \newcommand{\ltinverse}[1]{#1^{-1}} \newcommand{\restrict}[2]{{#1}|_{#2}} \newcommand{\preimage}[2]{#1^{-1}\left(#2\right)} \newcommand{\rng}[1]{\mathcal{R}\!\left(#1\right)} \newcommand{\krn}[1]{\mathcal{K}\!\left(#1\right)} \newcommand{\compose}[2]{{#1}\circ{#2}} \newcommand{\vslt}[2]{\mathcal{LT}\left(#1,\,#2\right)} \newcommand{\isomorphic}{\cong} \newcommand{\similar}[2]{\inverse{#2}#1#2} \newcommand{\vectrepname}[1]{\rho_{#1}} \newcommand{\vectrep}[2]{\lteval{\vectrepname{#1}}{#2}} \newcommand{\vectrepinvname}[1]{\ltinverse{\vectrepname{#1}}} \newcommand{\vectrepinv}[2]{\lteval{\ltinverse{\vectrepname{#1}}}{#2}} \newcommand{\matrixrep}[3]{M^{#1}_{#2,#3}} \newcommand{\matrixrepcolumns}[4]{\left\lbrack \left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{1}}}\right|\left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{2}}}\right|\left.\vectrep{#2}{\lteval{#1}{\vect{#3}_{3}}}\right|\ldots\left|\vectrep{#2}{\lteval{#1}{\vect{#3}_{#4}}}\right.\right\rbrack} \newcommand{\cbm}[2]{C_{#1,#2}} \newcommand{\jordan}[2]{J_{#1}\left(#2\right)} \newcommand{\hadamard}[2]{#1\circ #2} \newcommand{\hadamardidentity}[1]{J_{#1}} \newcommand{\hadamardinverse}[1]{\widehat{#1}} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)

SectionODOrthonormal Diagonalization

We have seen in Section SD that under the right conditions a square matrix is similar to a diagonal matrix. We recognize now, via Theorem SCB, that a similarity transformation is a change of basis on a matrix representation. So we can now discuss the choice of a basis used to build a matrix representation, and decide if some bases are better than others for this purpose. This will be the tone of this section. We will also see that every matrix has a reasonably useful matrix representation, and we will discover a new class of diagonalizable linear transformations. First we need some basic facts about triangular matrices.

SubsectionTMTriangular Matrices

An upper, or lower, triangular matrix is exactly what it sounds like it should be, but here are the two relevant definitions.

DefinitionUTMUpper Triangular Matrix

The \(n\times n\) square matrix \(A\) is upper triangular if \(\matrixentry{A}{ij}=0\) whenever \(i\gt j\text{.}\)

DefinitionLTMLower Triangular Matrix

The \(n\times n\) square matrix \(A\) is lower triangular if \(\matrixentry{A}{ij}=0\) whenever \(i\lt j\text{.}\)

Obviously, properties of a lower triangular matrices will have analogues for upper triangular matrices. Rather than stating two very similar theorems, we will say that matrices are “triangular of the same type” as a convenient shorthand to cover both possibilities and then give a proof for just one type.

Proof

The inverse of a triangular matrix is triangular, of the same type.

Proof

SubsectionUTMRUpper Triangular Matrix Representation

Not every matrix is diagonalizable, but every linear transformation has a matrix representation that is an upper triangular matrix, and the basis that achieves this representation is especially pleasing. Here is the theorem.

Proof

A key step in this proof was the construction of the subspace \(W\) with dimension strictly less than that of \(V\text{.}\) This required an eigenvalue/eigenvector pair, which was guaranteed to us by Theorem EMHE. Digging deeper, the proof of Theorem EMHE requires that we can factor polynomials completely, into linear factors. This will not always happen if our set of scalars is the reals, \(\reals\text{.}\) So this is our final explanation of our choice of the complex numbers, \(\complexes\text{,}\) as our set of scalars. In \(\complexes\) polynomials factor completely, so every matrix has at least one eigenvalue, and an inductive argument will get us to upper triangular matrix representations.

In the case of linear transformations defined on \(\complex{m}\text{,}\) we can use the inner product (Definition IP) profitably to fine-tune the basis that yields an upper triangular matrix representation. Recall that the adjoint of matrix \(A\) (Definition A) is written as \(\adjoint{A}\text{.}\)

Proof

SubsectionNMNormal Matrices

Normal matrices comprise a broad class of interesting matrices, many of which we have met already. But they are most interesting since they define exactly which matrices we can diagonalize via a unitary matrix. This is the upcoming Theorem OD. Here is the definition.

DefinitionNRMLNormal Matrix

The square matrix \(A\) is normal if \(\adjoint{A}A=A\adjoint{A}\text{.}\)

So a normal matrix commutes with its adjoint. Part of the beauty of this definition is that it includes many other types of matrices. A diagonal matrix will commute with its adjoint, since the adjoint is again diagonal and the entries are just conjugates of the entries of the original diagonal matrix. A Hermitian (self-adjoint) matrix (Definition HM) will trivially commute with its adjoint, since the two matrices are the same. A real, symmetric matrix is Hermitian, so these matrices are also normal. A unitary matrix (Definition UM) has its adjoint as its inverse, and inverses commute (Theorem OSIS), so unitary matrices are normal. Another class of normal matrices is the skew-symmetric matrices. However, these broad descriptions still do not capture all of the normal matrices, as the next example shows.

SubsectionODOrthonormal Diagonalization

A diagonal matrix is very easy to work with in matrix multiplication (Example HPDM) and an orthonormal basis also has many advantages (Theorem COB). How about converting a matrix to a diagonal matrix through a similarity transformation using a unitary matrix (i.e. build a diagonal matrix representation with an orthonormal matrix)? That'd be fantastic! When can we do this? We can always accomplish this feat when the matrix is normal, and normal matrices are the only ones that behave this way. Here is the theorem.

Proof

We can rearrange the conclusion of this theorem to read \(A=UD\adjoint{U}\text{.}\) Recall that a unitary matrix can be viewed as a geometry-preserving transformation (isometry), or more loosely as a rotation of sorts. Then a matrix-vector product, \(A\vect{x}\text{,}\) can be viewed instead as a sequence of three transformations. \(\adjoint{U}\) is unitary, and so is a rotation. Since \(D\) is diagonal, it just multiplies each entry of a vector by a scalar. Diagonal entries that are positive or negative, with absolute values bigger or smaller than 1 evoke descriptions like reflection, expansion and contraction. Generally we can say that \(D\) “stretches” a vector in each component. Final multiplication by \(U\) undoes (inverts) the rotation performed by \(\adjoint{U}\text{.}\) So a normal matrix is a rotation-stretch-rotation transformation.

The orthonormal basis formed from the columns of \(U\) can be viewed as a system of mutually perpendicular axes. The rotation by \(\adjoint{U}\) allows the transformation by \(A\) to be replaced by the simple transformation \(D\) along these axes, and then \(D\) brings the result back to the original coordinate system. For this reason Theorem OD is known as the Principal Axis Theorem.

The columns of the unitary matrix in Theorem OD create an especially nice basis for use with the normal matrix. We record this observation as a theorem.

Proof

In a vague way Theorem OBNM is an improvement on Theorem HMOE which said that eigenvectors of a Hermitian matrix for different eigenvalues are always orthogonal. Hermitian matrices are normal and we see that we can find at least one basis where every pair of eigenvectors is orthogonal. Notice that this is not a generalization, since Theorem HMOE states a weak result which applies to many (but not all) pairs of eigenvectors, while Theorem OBNM is a seemingly stronger result, but only asserts that there is one collection of eigenvectors with the stronger property.

Given an \(n\times n\) matrix \(A\text{,}\) an orthonormal basis for \(\complex{n}\text{,}\) comprised of eigenvectors of \(A\) is an extremely useful basis to have at the service of the matrix \(A\text{.}\) Why do we say this? We can consider the vectors of a basis as a preferred set of directions, known as “axes,” which taken together might also be called a “coordinate system.” The standard basis of Definition SUV could be considered the default, or prototype, coordinate system. When a basis is orthornormal, we can consider the directions to be standardized to have unit length, and we can consider the axes as being mutually perpendicular. But there is more — let us be a bit more formal.

Suppose \(U\) is a matrix whose columns are an orthonormal basis of eigenvectors of the \(n\times n\) matrix \(A\text{.}\) So, in particular \(U\) is a unitary matrix (Theorem CUMOS). For a vector \(\vect{x}\in\complex{n}\text{,}\) use the notation \(\hat{\vect{x}}\) for the vector representation of \(\vect{x}\) relative to the orthonormal basis. So the entries of \(\hat{\vect{x}}\text{,}\) used in a linear combination of the columns of \(U\) will create \(\vect{x}\text{.}\) With Definition MVP, we can write this relationship as \begin{gather*} U\hat{\vect{x}} = \vect{x}\text{.} \end{gather*} Since \(\adjoint{U}\) is the inverse of \(U\) (Definition UM), we can rearrange this equation as \begin{gather*} \hat{\vect{x}} = \adjoint{U}\vect{x}\text{.} \end{gather*} This says we can easily create the vector representation relative to the orthonormal basis with a matrix-vector product of the adjoint of \(U\text{.}\) Note that the adjoint is much easier to compute than a matrix inverse, which would be one general way to obtain a vector representation. This is our first observation about coordinatization relative to orthonormal basis. However, we already knew this, as we just have Theorem COB in disguise (see Exercise OD.T20).

We also know that orthonormal bases play nicely with inner products. Theorem UMPIP says unitary matrices preserve inner products (and hence norms). More geometrically, lengths and angles are preserved by multiplication by a unitary matrix. Using our notation, this becomes \begin{gather*} \innerproduct{\vect{x}}{\vect{y}} =\innerproduct{U\hat{\vect{x}}}{U\hat{\vect{y}}} =\innerproduct{\hat{\vect{x}}}{\hat{\vect{y}}}\text{.} \end{gather*} So we can compute inner products with the original vectors, or with their representations, and obtain the same result. It follows that norms, lengths, and angles can all be computed with the original vectors or with the representations in the new coordinate system based on an orthonormal basis.

So far we have not really said anything new, nor has the matrix \(A\text{,}\) or its eigenvectors, come into play. We know that a matrix is really a linear transformation, so we express this view of a matrix as a function by writing generically that \(A\vect{x}=\vect{y}\text{.}\) The matrix \(U\) will diagonalize \(A\text{,}\) creating the diagonal matrix \(D\) with diagonal entries equal to the eigenvalues of \(A\text{.}\) We can write this as \(\adjoint{U}AU = D\) and convert to \(\adjoint{U}A=D\adjoint{U}\text{.}\) Then we have \begin{gather*} \hat{\vect{y}} =\adjoint{U}\vect{y} =\adjoint{U}A\vect{x} =D\adjoint{U}\vect{x} =D\hat{\vect{x}}\text{.} \end{gather*} So with the coordinatized vectors, the transformation by the matrix \(A\) can be accomplished with multiplication by a diagonal matrix \(D\text{.}\) A moment's thought should convince you that a matrix-vector product with a diagonal matrix is exeedingly simple computationally. Geometrically, this is simply stretching, contracting and/or reflecting in the direction of each basis vector (“axis”). And the multiples used for these changes are the diagonal entries of the diagonal matrix, the eigenvalues of \(A\text{.}\)

So the new coordinate system (provided by the orthonormal basis of eigenvectors) is a collection of mutually perpendicular unit vectors where inner products are preserved, and the action of the matrix \(A\) is described by multiples (eigenvalues) of the entries of the coordinatized versions of the vectors. Nice.

SubsectionReading Questions

1

Name three broad classes of normal matrices that we have studied previously. No set that you give should be a subset of another on your list.

3

Given an \(n\times n\) matrix \(A\text{,}\) why would you desire an orthonormal basis of \(\complex{n}\) composed entirely of eigenvectors of \(A\text{?}\)

SubsectionExercises

T10

Exercise MM.T35 asked you to show that \(A\adjoint{A}\) is Hermitian. Prove directly that \(A\adjoint{A}\) is a normal matrix.

T20

In the discussion following Theorem OBNM we comment that the equation \(\hat{\vect{x}} = \adjoint{U}\vect{x}\) is just Theorem COB in disguise. Formulate this observation more formally and prove the equivalence.

T30

For the proof of Theorem PTMT we only show that the product of two lower triangular matrices is again lower triangular. Provide a proof that the product of two upper triangular matrices is again upper triangular. Look to the proof of Theorem PTMT for guidance if you need a hint.