Skip to main content
Contents Index
Dark Mode Prev Up Next
\(\require{cancel}
\newcommand{\bigcdot}{\mathbin{\large\boldsymbol{\cdot}}}
\newcommand{\basisfont}[1]{\mathcal{#1}}
\newcommand{\iddots}{{\mkern3mu\raise1mu{.}\mkern3mu\raise6mu{.}\mkern3mu \raise12mu{.}}}
\DeclareMathOperator{\RREF}{RREF}
\DeclareMathOperator{\adj}{adj}
\DeclareMathOperator{\proj}{proj}
\DeclareMathOperator{\matrixring}{M}
\DeclareMathOperator{\poly}{P}
\DeclareMathOperator{\Span}{Span}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\nullity}{nullity}
\DeclareMathOperator{\nullsp}{null}
\DeclareMathOperator{\uppermatring}{U}
\DeclareMathOperator{\trace}{trace}
\DeclareMathOperator{\dist}{dist}
\DeclareMathOperator{\negop}{neg}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\im}{im}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\ci}{\mathrm{i}}
\newcommand{\cconj}[1]{\bar{#1}}
\newcommand{\lcconj}[1]{\overline{#1}}
\newcommand{\cmodulus}[1]{\left\lvert #1 \right\rvert}
\newcommand{\bbrac}[1]{\bigl(#1\bigr)}
\newcommand{\Bbrac}[1]{\Bigl(#1\Bigr)}
\newcommand{\irst}[1][1]{{#1}^{\mathrm{st}}}
\newcommand{\ond}[1][2]{{#1}^{\mathrm{nd}}}
\newcommand{\ird}[1][3]{{#1}^{\mathrm{rd}}}
\newcommand{\nth}[1][n]{{#1}^{\mathrm{th}}}
\newcommand{\leftrightlinesubstitute}{\scriptstyle \overline{\phantom{xxx}}}
\newcommand{\inv}[2][1]{{#2}^{-{#1}}}
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}
\newcommand{\degree}[1]{{#1}^\circ}
\newcommand{\blank}{-}
\newenvironment{sysofeqns}[1]
{\left\{\begin{array}{#1}}
{\end{array}\right.}
\newcommand{\iso}{\simeq}
\newcommand{\absegment}[1]{\overline{#1}}
\newcommand{\abray}[1]{\overrightarrow{#1}}
\newcommand{\abctriangle}[1]{\triangle #1}
\newcommand{\abcdquad}[1]{\square\, #1}
\newenvironment{abmatrix}[1]
{\left[\begin{array}{#1}}
{\end{array}\right]}
\newenvironment{avmatrix}[1]
{\left\lvert\begin{array}{#1}}
{\end{array}\right\rvert}
\newcommand{\mtrxvbar}{\mathord{|}}
\newcommand{\utrans}[1]{{#1}^{\mathrm{T}}}
\newcommand{\rowredarrow}{\xrightarrow[\text{reduce}]{\text{row}}}
\newcommand{\bidentmattwo}{\begin{bmatrix} 1 \amp 0 \\ 0 \amp 1 \end{bmatrix}}
\newcommand{\bidentmatthree}{\begin{bmatrix} 1 \amp 0 \amp 0 \\ 0 \amp 1 \amp 0 \\ 0 \amp 0 \amp 1 \end{bmatrix}}
\newcommand{\bidentmatfour}{\begin{bmatrix} 1 \amp 0 \amp 0 \amp 0 \\ 0 \amp 1 \amp 0 \amp 0 \\ 0 \amp 0 \amp 1 \amp 0
\\ 0 \amp 0 \amp 0 \amp 1 \end{bmatrix}}
\newcommand{\uvec}[1]{\mathbf{#1}}
\newcommand{\zerovec}{\uvec{0}}
\newcommand{\bvec}[2]{#1\,\uvec{#2}}
\newcommand{\ivec}[1]{\bvec{#1}{i}}
\newcommand{\jvec}[1]{\bvec{#1}{j}}
\newcommand{\kvec}[1]{\bvec{#1}{k}}
\newcommand{\injkvec}[3]{\ivec{#1} - \jvec{#2} + \kvec{#3}}
\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}
\newcommand{\unorm}[1]{\norm{\uvec{#1}}}
\newcommand{\dotprod}[2]{#1 \bigcdot #2}
\newcommand{\udotprod}[2]{\dotprod{\uvec{#1}}{\uvec{#2}}}
\newcommand{\crossprod}[2]{#1 \times #2}
\newcommand{\ucrossprod}[2]{\crossprod{\uvec{#1}}{\uvec{#2}}}
\newcommand{\uproj}[2]{\proj_{\uvec{#2}} \uvec{#1}}
\newcommand{\adjoint}[1]{{#1}^\ast}
\newcommand{\matrixOfplain}[2]{{\left[#1\right]}_{#2}}
\newcommand{\rmatrixOfplain}[2]{{\left(#1\right)}_{#2}}
\newcommand{\rmatrixOf}[2]{\rmatrixOfplain{#1}{\basisfont{#2}}}
\newcommand{\matrixOf}[2]{\matrixOfplain{#1}{\basisfont{#2}}}
\newcommand{\invmatrixOfplain}[2]{\inv{\left[#1\right]}_{#2}}
\newcommand{\invrmatrixOfplain}[2]{\inv{\left(#1\right)}_{#2}}
\newcommand{\invmatrixOf}[2]{\invmatrixOfplain{#1}{\basisfont{#2}}}
\newcommand{\invrmatrixOf}[2]{\invrmatrixOfplain{#1}{\basisfont{#2}}}
\newcommand{\stdmatrixOf}[1]{\left[#1\right]}
\newcommand{\ucobmtrx}[2]{P_{\basisfont{#1} \to \basisfont{#2}}}
\newcommand{\uinvcobmtrx}[2]{\inv{P}_{\basisfont{#1} \to \basisfont{#2}}}
\newcommand{\uadjcobmtrx}[2]{\adjoint{P}_{\basisfont{#1} \to \basisfont{#2}}}
\newcommand{\coordmapplain}[1]{C_{#1}}
\newcommand{\coordmap}[1]{\coordmapplain{\basisfont{#1}}}
\newcommand{\invcoordmapplain}[1]{\inv{C}_{#1}}
\newcommand{\invcoordmap}[1]{\invcoordmapplain{\basisfont{#1}}}
\newcommand{\similar}{\sim}
\newcommand{\inprod}[2]{\left\langle\, #1,\, #2 \,\right\rangle}
\newcommand{\uvecinprod}[2]{\inprod{\uvec{#1}}{\uvec{#2}}}
\newcommand{\orthogcmp}[1]{{#1}^{\perp}}
\newcommand{\vecdual}[1]{{#1}^\ast}
\newcommand{\vecddual}[1]{{#1}^{\ast\ast}}
\newcommand{\change}[1]{\Delta #1}
\newcommand{\dd}[2]{\frac{d{#1}}{d#2}}
\newcommand{\ddx}[1][x]{\dd{}{#1}}
\newcommand{\ddt}[1][t]{\dd{}{#1}}
\newcommand{\dydx}{\dd{y}{x}}
\newcommand{\dxdt}{\dd{x}{t}}
\newcommand{\dydt}{\dd{y}{t}}
\newcommand{\intspace}{\;}
\newcommand{\integral}[4]{\int^{#2}_{#1} #3 \intspace d{#4}}
\newcommand{\funcdef}[3]{#1\colon #2\to #3}
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\definecolor{fillinmathshade}{gray}{0.9}
\newcommand{\fillinmath}[1]{\mathchoice{\colorbox{fillinmathshade}{$\displaystyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\textstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptstyle \phantom{\,#1\,}$}}{\colorbox{fillinmathshade}{$\scriptscriptstyle\phantom{\,#1\,}$}}}
\)
Section B.3 Diagonal form
In this example we apply the diagonalization procedure to a \(3 \times 3\)
\begin{equation*}
A = \begin{bmatrix} 7 \amp -12 \amp -4 \\ 4 \amp -9 \amp -4 \\ -4 \amp 12 \amp 7 \end{bmatrix} \text{.}
\end{equation*}
Eigenvalues.
We can calculate the characteristic polynomial ourselves.
Or we can have Sage do it.
So the eignevalues are
\(\lambda = -1\) and
\(\lambda = 3\text{.}\) But we could have had Sage do this for us.
Notice that the output is a list of eigenvalues, with each eigenvalue repeated in the list according to its algebraic multiplicity.
Eigenvectors.
Let’s analyze
\(\lambda = 3\text{,}\) since this eigenvalue had algebraic multiplicity
\(2\text{.}\) We also need geometric multiplicity
\(2\) in order for matrix
\(A\) to be diagonalizable; if this geometric multiplicity is only
\(1\text{,}\) then analyzing
\(\lambda = -1\) would be a waste of time.
As desired, two parameters are required, so we may proceed. Assigning \(x_2 = s\) and \(x_3 = t\) leads to independent eigenvectors
\begin{align*}
\uvec{p}_1 \amp = (3,1,0) \text{,} \amp \uvec{p}_2 \amp = (1,0,1) \text{.}
\end{align*}
Notice that
\(A \uvec{p}_j = 3 \uvec{p}_j\) for each of these two vectors, as expected.
Now let’s analyze
\(\lambda = -1\text{.}\)
We need one parameter, as expected from the algebraic multiplicity. Assigning
\(x_3 = t\) leads to eigenvector
\(\uvec{p}_3 = (-1,-1,1)\text{.}\)
Notice that
\(A \uvec{p}_3 = - \uvec{p}_3\text{,}\) as expected.
The transition matrix.
We now have our basis of independent eigenvectors to form the transition matrix
\(P\text{.}\)
The rank computation verifies that the columns of
\(P\) are linearly independent (but our theory also tells us this: eigenvectors from different eigenspaces are always independent).
The diagonal matrix.
Let’s compute
\(\inv{P} A P\) in two different ways. First, directly.
Notice the order of the eigenvalues down the diagonal — this is due to the order we placed the eigenvectors as columns in
\(P\text{.}\) If we create a different transition matrix, we may get a different diagonal matrix.
Now let’s use the idea in
Subsection 26.4.2 to affirm that
\(\inv{P} A P\) can also be computed by row reduction: we augment
\(P\) with the result of
\(A P\text{,}\) and then reducing the
\(P\) part on the left to identity simultaneously applies
\(\inv{P}\) to the
\(A P\) part on the right.
\begin{equation*}
\begin{abmatrix}{c|c} P \amp AP \end{abmatrix} \qquad \rowredarrow \qquad
\begin{abmatrix}{c|c} I \amp \inv{P}(AP) \end{abmatrix}
\end{equation*}
As expected, there’s our diagonal matrix on the right. We can use Python-ic list comprehension to extract it, if we like.
The first list-range specifier
: says “take
all rows.” The second list-range specifier
3:6 says “take columns with index starting at 3 and ending
before 6.” Remember that Python uses 0-based indexing, so the column with index 3 is actually the fourth column. And the last column has index 5, so we want to stop
before 6 to include it.