Subsection 5.3.2 Permutation matrices
¶fit widthRecall that we already discussed permutation in Subsection 4.4.4 in the setting of column pivoting when computing the QR factorization.Definition 5.3.2.1.
Given
p=(π0⋮πn−1),p=⎛⎜
⎜⎝π0⋮πn−1⎞⎟
⎟⎠,
where {π0,π1,…,πn−1}{π0,π1,…,πn−1} is a permutation (rearrangement) of the integers {0,1,…,n−1},{0,1,…,n−1}, we define the permutation matrix P(p)P(p) by
P(p)=(eTπ0⋮eTπn−1).P(p)=⎛⎜
⎜⎝eTπ0⋮eTπn−1⎞⎟
⎟⎠.
Homework 5.3.2.1.
Let
p=(π0⋮πn−1) and x=(χ0⋮χn−1).p=⎛⎜
⎜⎝π0⋮πn−1⎞⎟
⎟⎠ and x=⎛⎜
⎜⎝χ0⋮χn−1⎞⎟
⎟⎠.
Evaluate P(p)x.P(p)x.
Solution
\begin{equation*}
\begin{array}{l}
P( p ) x \\
~~~=~~~~ \lt \mbox{ definition } \gt
\\
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right) x \\
~~~=~~~~ \lt
\mbox{ matrix-vector multiplication by rows } \gt \\
\left( \begin{array}{c}
e_{\pi_0}^Tx \\
\vdots \\
e_{\pi_{n-1}}^Tx
\end{array} \right) \\
~~~=~~~~ \lt e_j^T x = x_j \gt \\
\left( \begin{array}{c}
\chi_{\pi_0} \\
\vdots \\
\chi_{\pi_{n-1}}
\end{array} \right)
\end{array}
\end{equation*}
Homework 5.3.2.2.
Let
p=(π0⋮πn−1) and A=(˜aT0⋮˜aTn−1).
Evaluate P(p)A.
Solution
\begin{equation*}
\begin{array}{l}
P( p ) A \\
~~~=~~~~ \lt \mbox{ definition } \gt
\\
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right) A \\
~~~=~~~~ \lt
\mbox{ matrix-matrix multiplication by rows } \gt \\
\left( \begin{array}{c}
e_{\pi_0}^TA \\
\vdots \\
e_{\pi_{n-1}}^TA
\end{array} \right) \\
~~~=~~~~ \lt e_j^T A = \widetilde a_j^T \gt \\
\left( \begin{array}{c}
\widetilde a_{\pi_0}^T \\
\vdots \\
\widetilde a_{\pi_{n-1}}^T
\end{array} \right)
\end{array}
\end{equation*}
Homework 5.3.2.3.
Let
p=(π0⋮πn−1) and A=(a0⋯an−1).
Evaluate AP(p)T.
Solution
\begin{equation*}
\begin{array}{l}
A P( p )^T \\
~~~=~~~~ \lt \mbox{ definition } \gt
\\
A
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right)^T \\
~~~=~~~~ \lt \mbox{ transpose } P( p ) \gt
\\
A
\left( \begin{array}{c c c}
e_{\pi_0} \amp \cdots \amp
e_{\pi_{n-1}}
\end{array} \right) \\
~~~=~~~~ \lt
\mbox{ matrix-matrix multiplication by columns } \gt \\
\left( \begin{array}{c c c}
A e_{\pi_0} \amp \cdots \amp
A e_{\pi_{n-1}}
\end{array} \right) \\
~~~=~~~~ \lt A e_j = a_j \gt \\
\left( \begin{array}{c c c}
a_{\pi_0} \amp \cdots \amp
a_{\pi_{n-1}}
\end{array} \right)
\end{array}
\end{equation*}
Homework 5.3.2.4.
Evaluate P(p)P(p)T.
Answer
Solution
\(P( p ) P( p )^T = I \)
\begin{equation*}
\begin{array}{l}
P P( p )^T \\
~~~=~~~~ \lt \mbox{ definition } \gt
\\
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right)
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right)^T \\
~~~=~~~~ \lt \mbox{ transpose } P( p ) \gt
\\
\left( \begin{array}{c}
e_{\pi_0}^T \\
\vdots \\
e_{\pi_{n-1}}^T
\end{array} \right)
\left( \begin{array}{c c c}
e_{\pi_0} \amp \cdots \amp
e_{\pi_{n-1}}
\end{array} \right) \\
~~~=~~~~ \lt
\mbox{ evaluate } \gt \\
\left( \begin{array}{c c c c}
e_{\pi_0}^T e_{\pi_0} \amp e_{\pi_0}^T e_{\pi_1} \amp \cdots \amp
e_{\pi_0}^T e_{\pi_{n-1}} \\
e_{\pi_1}^T e_{\pi_0} \amp e_{\pi_1}^T e_{\pi_1} \amp \cdots \amp
e_{\pi_1}^T e_{\pi_{n-1}} \\
\vdots \amp \vdots \amp \amp \vdots \\
e_{\pi_{n-1}}^T e_{\pi_0} \amp e_{\pi_{n-1}}^T e_{\pi_1} \amp \cdots \amp
e_{\pi_{n-1}}^T e_{\pi_{n-1}} \\
\end{array} \right) \\
~~~=~~~~ \lt e_i^T e_j = \cdots \gt \\
\left( \begin{array}{c c c c}
1 \amp 0 \amp \cdots \amp 0 \\
0 \amp 1 \amp \cdots \amp 0 \\
\vdots \amp \vdots \amp \amp \vdots \\
0 \amp 0 \amp \cdots \amp 1
\end{array} \right)
\end{array}
\end{equation*}
Definition 5.3.2.2. Elementary pivot matrix.
Given π∈{0,…,n−1} define the elementary pivot matrix
˜P(π)=(eTπeT1⋮eTπ−1eT0eTπ+1⋮eTn−1)
or, equivalently,
˜P(π)={Inif π=0(00100Iπ−1001000000In−π−1)otherwise,
where n is the size of the permutation matrix.
p=(π0⋮πk−1), where 1≤k≤n and 0≤πi<n−i,
then ˜P(p) will denote the sequence of pivots
˜P(p)=(Ik−100˜P(πk−1))(Ik−200˜P(πk−2))⋯(100˜P(π1))˜P(π0).
(Here ˜P(⋅) is always an elementary pivot matrix "of appropriate size.") What this exactly does is best illustrated through an example: Example 5.3.2.3.
Let
p=(211)andA=(0.00.10.21.01.11.22.02.12.23.03.13.2).
Evaluate ˜P(p)A.
Solution
\begin{equation*}
\begin{array}{l}
\widetilde P( p ) A \\
~~~=~~~~ \lt \mbox{ instantiate } \gt \\
\widetilde P(
\left( \begin{array}{c}
2 \\
1 \\
1
\end{array} \right)
)
\left( \begin{array}{l l l l}
0.0 \amp 0.1 \amp 0.2 \\
1.0 \amp 1.1 \amp 1.2 \\
2.0 \amp 2.1 \amp 2.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array}
\right) \\
~~~=~~~~ \lt \mbox{ definition of } \widetilde P( \cdot
) \gt \\
\left( \begin{array}{c | c}
1 \amp 0 \\ \hline
0 \amp \widetilde P(
\left( \begin{array}{c}
1 \\
1
\end{array} \right) )
\end{array} \right)
\widetilde P( 2 )
\left( \begin{array}{l l l l}
0.0 \amp 0.1 \amp 0.2 \\
1.0 \amp 1.1 \amp 1.2 \\
2.0 \amp 2.1 \amp 2.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array}
\right) \\
~~~=~~~~ \lt
\mbox{ swap first row with row indexed with 2 }
\gt \\
\left( \begin{array}{c | c}
1 \amp 0 \\ \hline
0 \amp \widetilde P(
\left( \begin{array}{c}
1 \\
1
\end{array} \right)
)
\end{array} \right)
\left( \begin{array}{l l l l}
2.0 \amp 2.1 \amp 2.2 \\ \hline
1.0 \amp 1.1 \amp 1.2 \\
0.0 \amp 0.1 \amp 0.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array}
\right) \\
~~~=~~~~ \lt
\mbox{ partitioned matrix-matrix multiplication }
\gt \\
\left( \begin{array}{c}
\left( \begin{array}{l l l }
2.0 \amp 2.1 \amp 2.2
\end{array} \right)\\ \hline
\widetilde P(
\left( \begin{array}{c}
1 \\
1
\end{array} \right)
)
\left( \begin{array}{l l l }
1.0 \amp 1.1 \amp 1.2 \\
0.0 \amp 0.1 \amp 0.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array} \right)
\end{array} \right)
~~~=~~~~ \lt
\mbox{ swap current first row with row indexed with 1 relative to that row } \gt
\\
\left( \begin{array}{c}
\left( \begin{array}{l l l }
2.0 \amp 2.1 \amp 2.2 \\
0.0 \amp 0.1 \amp 0.2 \\
\end{array} \right)\\ \hline
\widetilde P(
\left( \begin{array}{c}
1
\end{array} \right)
)
\left( \begin{array}{l l l }
1.0 \amp 1.1 \amp 1.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array} \right)
\end{array} \right) \\
~~~=~~~~ \lt
\mbox{ swap current first row with row indexed with 1 relative to that row } \gt
\\
\left( \begin{array}{c}
\left( \begin{array}{l l l }
2.0 \amp 2.1 \amp 2.2 \\
0.0 \amp 0.1 \amp 0.2 \\
3.0 \amp 3.1 \amp 3.2
\end{array} \right)\\ \hline
\left( \begin{array}{l l l }
1.0 \amp 1.1 \amp 1.2 \\
\end{array} \right)
\end{array} \right) \\
~~~=~~~~ \\
\left( \begin{array}{l l l }
2.0 \amp 2.1 \amp 2.2 \\
0.0 \amp 0.1 \amp 0.2 \\
3.0 \amp 3.1 \amp 3.2 \\
1.0 \amp 1.1 \amp 1.2 \\
\end{array} \right)
\end{array} \\
\end{equation*}
˜P((π0π1⋮πk−1))=P((Ik−100˜P(πk−1))⋯(100˜P(π1))˜P(π0)(01⋮k−1)).