一般逆行列(その 3)

QR 分解(一般形)

A を m\times n 行列、{\rm rank}A とします。このとき、m 次の正則行列 S と n 次の置換行列 P があって
SAP=\left(\begin{array}B&C\\O&O\end{array}\right)
と書けます。ただし、B は対角成分が 0 でないような r 次の上三角行列。
ここで、S^{-1}QR 分解(後述)して S^{-1}=QR_1 と表せたとします。ただし Q は m 次の unitary 行列、R は対角成分が 0 でないような m 次の上三角行列。すると
AP=QR_1\left(\begin{array}B&C\\O&O\end{array}\right)
ですが、ここで
R_1=\left(\begin{array}R_{11}&R_{12}\\O&R{22}\end{array}\right)
(ただし R_{11} は r 次の、R_{22} は (m - r) 次の、対角成分が 0 でないような上三角行列)
と書き表すと
R_1\left(\begin{array}B&C\\O&O\end{array}\right)=\left(\begin{array}R_{11}B&R_{11}C\\O&O\end{array}\right) … (*)
で、R_{11}B は上三角行列同士の積なのでやはり上三角行列であり、対角成分は 0 ではありません。したがって、(*) の右辺は上三角型の m\times n 行列なので、これを R とおけば
AP=QR
と、unitary 行列と上三角型の行列に分解できたことになります。これを m\times n 行列の QR 分解と言います。

正則行列QR 分解

では、A を m 次の正則行列に限った場合の QR 分解の手順を説明します。以下の手順に従って、順次 A^{(k)}=(a_{ij}^{(k)})_{k\leq i,j\leq m} を作ります。

Step 1

k := 1 , A^{(1)}=A とおく。

Step 2

\mathbf{a}_k^{(k)}={}^t(a_{kk}^{(k)},\dots,a_{mk}^{(k)})
とおく。
a_{kk}^{(k)}\neq 0,a_{jk}^{(k)}=0(j=k+1,\dots,m)
ならば Q^{(k)}=E_m とおいて、A^{(k+1)}=(a_{ij}^{(k+1)})_{k+1\leq i,j\leq m}
a_{ij}^{(k+1)}=a_{ij}^{(k)}(k+1\leq i,j\leq m)
で定めて Step 4 へ。そうでなければ Step 3 へ。

Step 3

\theta=\left\{\begin{array}\arg(a_{kk}^{(k)})&(a_{kk}^{(k)}\neq 0)\\0&(a_{kk}^{(k)}=0)\end{array}\right.
とおき、
\sigma^{(k)}=e^{i\theta}||\mathbf{a}_k^{(k)}||,\mathbf{b}^{(k)}={}^t(\sigma^{(k)},0,\dots,0)\in\mathbb{K}^{m-k+1}
とおくと、明らかに \mathbf{a}_k^{(k)}\neq\mathbf{b}^{(k)},||\mathbf{a}_k^{(k)}||=||\mathbf{b}^{(k)}|| かつ
\begin{align}\mathbf{a}_k^{(k)}^*\mathbf{b}^{(k)}&=\bar{a_{kk}^{(k)}}\sigma^{(k)}\\&=e^{-i\theta}|a_{kk}^{(k)}|e^{i\theta}||\mathbf{a}_k^{(k)}||\\&=|a_{kk}^{(k)}| ||\mathbf{a}_k^{(k)}||\in\mathbb{R}\end{align}
である。
\mathbf{u}^{(k)}=\frac{\mathbf{a}_k^{(k)}-\mathbf{b}^{(k)}}{||\mathbf{a}_k^{(k)}-\mathbf{b}^{(k)}||}
とおいて H^{(k)}=H(\mathbf{u}^{(k)}) (Hausholder 行列) とおくと
H^{(k)}A^{(k)}=\left(\begin{array}\sigma^{(k)}&*\\0&A^{(k+1)}\end{array}\right)
によって A^{(k+1)} が定まる。Q^{(k)}=\left(\begin{array}E_{k-1}&O\\O&H^{(k)}\end{array}\right) とおいて Step 4 へ。

Step 4

k := k + 1 とおく。k = m なら Step 5 へ、そうでなければ Step 2 へ。

Step 5

Q^{(k)}(k=1,\dots,m-1) は unitary かつ Q^{(k)}^*=Q^{(k)} だから
Q:=Q^{(1)}\dots Q^{(m-1)}
とおけばよい。

QR 分解と一般逆行列の関係

QR 分解そのものは一般逆行列論の本質とはあまり関わりがありませんが、以降の解説(一般逆行列の特別なケース)において準備しておくと楽なので、ここで紹介しました。なお、上記の Step 5 において Q の取り方を少し工夫すれば
A=QR,Q\in U(m)
における R の対角成分が全て正の実数であるように出来ます。もし QR 分解をそのようなものに限るならば、正則行列QR 分解は一意になります。