1 直交化を行列の等式として書く
まず、分解の形を定めます。Q Q Q は正方行列とは限らないので、直交行列とは呼びません。
定義 1.1 (QR 分解). A A A をm × n m \times n m × n の実行列とする。m × n m \times n m × n 行列Q Q Q とn n n 次正方行列R R R の組で
A = Q R , Q ⊤ Q = I n , R は上三角で対角成分がすべて正 A = QR, \qquad Q^\top Q = I_n, \qquad R \text{ は上三角で対角成分がすべて正} A = QR , Q ⊤ Q = I n , R は上三角で対角成分がすべて正 を満たすものを、A A A のQR 分解 という。
Q ⊤ Q = I n Q^\top Q = I_n Q ⊤ Q = I n は、Q Q Q のn n n 本の列が正規直交系をなすことと同値です(§D3.15 命題 1.2 の証明と同じ計算です)。m > n m > n m > n のときのQ Q Q は正方行列ではありませんので、Q Q ⊤ = I m QQ^\top = I_m Q Q ⊤ = I m は一般には成り立ちません。この点はあとで使います。
定理 1.2 (QR 分解の存在と一意性). A A A をm × n m \times n m × n の実行列とし、A A A のn n n 本の列a ⃗ 1 , … , a ⃗ n \vec a_1, \dots, \vec a_n a 1 , … , a n が一次独立であるとする。このときA A A の QR 分解が存在し、しかもただ一組に定まる。
証明. 存在を示す。a ⃗ 1 , … , a ⃗ n \vec a_1, \dots, \vec a_n a 1 , … , a n は一次独立であるから、§D3.14 定理 2.1 を適用して正規直交系e ⃗ 1 , … , e ⃗ n \vec e_1, \dots, \vec e_n e 1 , … , e n を得る。同定理より、各j j j について
span { e ⃗ 1 , … , e ⃗ j } = span { a ⃗ 1 , … , a ⃗ j } \operatorname{span}\{\vec e_1, \dots, \vec e_j\} = \operatorname{span}\{\vec a_1, \dots, \vec a_j\} span { e 1 , … , e j } = span { a 1 , … , a j } が成り立つ。とくにa ⃗ j \vec a_j a j はW j = span { e ⃗ 1 , … , e ⃗ j } W_j = \operatorname{span}\{\vec e_1, \dots, \vec e_j\} W j = span { e 1 , … , e j } に属する。{ e ⃗ 1 , … , e ⃗ j } \{\vec e_1, \dots, \vec e_j\} { e 1 , … , e j } はW j W_j W j の正規直交基底であるから、§D3.14 命題 3.1 をW j W_j W j に適用して
a ⃗ j = ∑ i = 1 j ⟨ a ⃗ j , e ⃗ i ⟩ e ⃗ i \vec a_j = \sum_{i=1}^{j} \langle \vec a_j, \vec e_i\rangle \, \vec e_i a j = i = 1 ∑ j ⟨ a j , e i ⟩ e i を得る。そこでQ Q Q を列がe ⃗ 1 , … , e ⃗ n \vec e_1, \dots, \vec e_n e 1 , … , e n であるm × n m \times n m × n 行列とし、R = ( r i j ) R = (r_{ij}) R = ( r ij ) をi ≤ j i \le j i ≤ j のときr i j = ⟨ a ⃗ j , e ⃗ i ⟩ r_{ij} = \langle \vec a_j, \vec e_i\rangle r ij = ⟨ a j , e i ⟩ 、i > j i > j i > j のときr i j = 0 r_{ij} = 0 r ij = 0 と定める。Q R QR QR の第j j j 列は∑ i r i j e ⃗ i = a ⃗ j \sum_{i} r_{ij}\vec e_i = \vec a_j ∑ i r ij e i = a j であるからA = Q R A = QR A = QR である。Q ⊤ Q = I n Q^\top Q = I_n Q ⊤ Q = I n はe ⃗ i \vec e_i e i が正規直交系であることから従う。対角成分については、§D3.14 定理 2.1 の記号でu ⃗ j = a ⃗ j − ∑ i < j c i u ⃗ i \vec u_j = \vec a_j - \sum_{i<j} c_i \vec u_i u j = a j − ∑ i < j c i u i 、e ⃗ j = u ⃗ j / ∥ u ⃗ j ∥ \vec e_j = \vec u_j / \|\vec u_j\| e j = u j /∥ u j ∥ と書くと、u ⃗ 1 , … , u ⃗ j \vec u_1, \dots, \vec u_j u 1 , … , u j が互いに直交することから
r j j = ⟨ a ⃗ j , e ⃗ j ⟩ = ⟨ u ⃗ j , u ⃗ j ⟩ ∥ u ⃗ j ∥ = ∥ u ⃗ j ∥ > 0 r_{jj} = \langle \vec a_j, \vec e_j\rangle = \frac{\langle \vec u_j, \vec u_j\rangle}{\|\vec u_j\|} = \|\vec u_j\| > 0 r j j = ⟨ a j , e j ⟩ = ∥ u j ∥ ⟨ u j , u j ⟩ = ∥ u j ∥ > 0 となる。よってR R R は上三角で対角成分がすべて正である。
一意性を示す。A = Q R A = QR A = QR を QR 分解とし、Q Q Q の列をq ⃗ 1 , … , q ⃗ n \vec q_1, \dots, \vec q_n q 1 , … , q n と書く。j j j についての帰納法で、q ⃗ 1 , … , q ⃗ j \vec q_1, \dots, \vec q_j q 1 , … , q j とR R R の第1 1 1 列から第j j j 列までがA A A から一意に定まること、およびspan { q ⃗ 1 , … , q ⃗ j } = span { a ⃗ 1 , … , a ⃗ j } \operatorname{span}\{\vec q_1, \dots, \vec q_j\} = \operatorname{span}\{\vec a_1, \dots, \vec a_j\} span { q 1 , … , q j } = span { a 1 , … , a j } が成り立つことを示す。
j = 1 j = 1 j = 1 のとき、R R R が上三角であることからa ⃗ 1 = r 11 q ⃗ 1 \vec a_1 = r_{11}\vec q_1 a 1 = r 11 q 1 であり、∥ q ⃗ 1 ∥ = 1 \|\vec q_1\| = 1 ∥ q 1 ∥ = 1 、r 11 > 0 r_{11} > 0 r 11 > 0 よりr 11 = ∥ a ⃗ 1 ∥ r_{11} = \|\vec a_1\| r 11 = ∥ a 1 ∥ 、q ⃗ 1 = a ⃗ 1 / ∥ a ⃗ 1 ∥ \vec q_1 = \vec a_1 / \|\vec a_1\| q 1 = a 1 /∥ a 1 ∥ と定まる。張る空間も一致する。
j − 1 j-1 j − 1 まで成り立つとする。R R R が上三角であることから
a ⃗ j = ∑ i < j r i j q ⃗ i + r j j q ⃗ j \vec a_j = \sum_{i<j} r_{ij}\vec q_i + r_{jj}\vec q_j a j = i < j ∑ r ij q i + r j j q j である。i < j i < j i < j について両辺とq ⃗ i \vec q_i q i の内積を取ると、q ⃗ 1 , … , q ⃗ n \vec q_1, \dots, \vec q_n q 1 , … , q n が正規直交系であることからr i j = ⟨ a ⃗ j , q ⃗ i ⟩ r_{ij} = \langle \vec a_j, \vec q_i\rangle r ij = ⟨ a j , q i ⟩ となり、帰納法の仮定より右辺はA A A から定まる。そこでu ⃗ = a ⃗ j − ∑ i < j r i j q ⃗ i \vec u = \vec a_j - \sum_{i<j} r_{ij}\vec q_i u = a j − ∑ i < j r ij q i とおくとu ⃗ = r j j q ⃗ j \vec u = r_{jj}\vec q_j u = r j j q j である。もしu ⃗ = 0 ⃗ \vec u = \vec 0 u = 0 ならばa ⃗ j ∈ span { q ⃗ 1 , … , q ⃗ j − 1 } = span { a ⃗ 1 , … , a ⃗ j − 1 } \vec a_j \in \operatorname{span}\{\vec q_1, \dots, \vec q_{j-1}\} = \operatorname{span}\{\vec a_1, \dots, \vec a_{j-1}\} a j ∈ span { q 1 , … , q j − 1 } = span { a 1 , … , a j − 1 } となり、列の一次独立性に反する。よってu ⃗ ≠ 0 ⃗ \vec u \ne \vec 0 u = 0 であり、r j j > 0 r_{jj} > 0 r j j > 0 と∥ q ⃗ j ∥ = 1 \|\vec q_j\| = 1 ∥ q j ∥ = 1 からr j j = ∥ u ⃗ ∥ r_{jj} = \|\vec u\| r j j = ∥ u ∥ 、q ⃗ j = u ⃗ / ∥ u ⃗ ∥ \vec q_j = \vec u / \|\vec u\| q j = u /∥ u ∥ と定まる。張る空間が一致することも上の等式から従う。▨
対角成分を正に取るという条件を外すと、一意性は失われます。q ⃗ j \vec q_j q j とr j j r_{jj} r j j の符号を同時に変えても等式A = Q R A = QR A = QR は保たれるからです。
証明. 任意のx ⃗ \vec x x に対してQ Q ⊤ x ⃗ = ∑ i ⟨ x ⃗ , q ⃗ i ⟩ q ⃗ i QQ^\top \vec x = \sum_i \langle \vec x, \vec q_i\rangle \vec q_i Q Q ⊤ x = ∑ i ⟨ x , q i ⟩ q i を与えるので、§D3.14 命題 3.2 により結論を得る。▨
2 最小二乗解の全体と、一意になる条件
次に、解こうとする問題を定めます。A x ⃗ = b ⃗ A\vec x = \vec b A x = b が解をもたない場合に、左辺と右辺の差を最も小さくするx ⃗ \vec x x を求める問題です。
定義 2.1 (最小二乗解). A A A をm × n m \times n m × n の実行列、b ⃗ ∈ R m \vec b \in \mathbb{R}^m b ∈ R m とする。x ⃗ ∈ R n \vec x \in \mathbb{R}^n x ∈ R n がA x ⃗ = b ⃗ A\vec x = \vec b A x = b の最小二乗解 であるとは、すべてのy ⃗ ∈ R n \vec y \in \mathbb{R}^n y ∈ R n について∥ A x ⃗ − b ⃗ ∥ ≤ ∥ A y ⃗ − b ⃗ ∥ \|A\vec x - \vec b\| \le \|A\vec y - \vec b\| ∥ A x − b ∥ ≤ ∥ A y − b ∥ が成り立つことをいう。
最小二乗解は、いつでも存在します。一方、ただ一つに定まるかどうかはA A A の列に条件を要します。次の定理は、その条件を核の次元として述べます。
定理 2.2 (正規方程式と解の全体). A A A をm × n m \times n m × n の実行列、b ⃗ ∈ R m \vec b \in \mathbb{R}^m b ∈ R m とする。
x ⃗ \vec x x が最小二乗解であることと、A ⊤ A x ⃗ = A ⊤ b ⃗ A^\top A \vec x = A^\top \vec b A ⊤ A x = A ⊤ b が成り立つことは同値である。
最小二乗解は少なくとも1つ存在し、最小二乗解の全体は、1つの最小二乗解x ⃗ 0 \vec x_0 x 0 を用いて{ x ⃗ 0 + z ⃗ : z ⃗ ∈ Ker A } \{\vec x_0 + \vec z : \vec z \in \operatorname{Ker} A\} { x 0 + z : z ∈ Ker A } と書ける。
最小二乗解がただ一つであることと、A A A の列が一次独立であることは同値である。
証明. W = Im A W = \operatorname{Im} A W = Im A とおく。W W W はR m \mathbb{R}^m R m の部分空間であるから正規直交基底f ⃗ 1 , … , f ⃗ k \vec f_1, \dots, \vec f_k f 1 , … , f k をもつ。p ⃗ = ∑ i ⟨ b ⃗ , f ⃗ i ⟩ f ⃗ i \vec p = \sum_{i} \langle \vec b, \vec f_i\rangle \vec f_i p = ∑ i ⟨ b , f i ⟩ f i とおくと、§D3.14 命題 3.2 よりb ⃗ − p ⃗ \vec b - \vec p b − p はW W W に直交し、W W W のどの要素w ⃗ \vec w w についても∥ b ⃗ − p ⃗ ∥ ≤ ∥ b ⃗ − w ⃗ ∥ \|\vec b - \vec p\| \le \|\vec b - \vec w\| ∥ b − p ∥ ≤ ∥ b − w ∥ であり、等号が成り立つのはw ⃗ = p ⃗ \vec w = \vec p w = p のときに限る。
1を示す。A x ⃗ ∈ W A\vec x \in W A x ∈ W であるから、上の最良近似の一意性より、x ⃗ \vec x x が最小二乗解であることとA x ⃗ = p ⃗ A\vec x = \vec p A x = p が成り立つことは同値である。次にA x ⃗ = p ⃗ A\vec x = \vec p A x = p とb ⃗ − A x ⃗ ⊥ W \vec b - A\vec x \perp W b − A x ⊥ W が同値であることを示す。A x ⃗ = p ⃗ A\vec x = \vec p A x = p ならばb ⃗ − A x ⃗ = b ⃗ − p ⃗ \vec b - A\vec x = \vec b - \vec p b − A x = b − p がW W W に直交する。逆にb ⃗ − A x ⃗ ⊥ W \vec b - A\vec x \perp W b − A x ⊥ W とすると、w ⃗ ∈ W \vec w \in W w ∈ W に対しA x ⃗ − w ⃗ ∈ W A\vec x - \vec w \in W A x − w ∈ W であるから、ピタゴラスの定理により∥ b ⃗ − w ⃗ ∥ 2 = ∥ b ⃗ − A x ⃗ ∥ 2 + ∥ A x ⃗ − w ⃗ ∥ 2 ≥ ∥ b ⃗ − A x ⃗ ∥ 2 \|\vec b - \vec w\|^2 = \|\vec b - A\vec x\|^2 + \|A\vec x - \vec w\|^2 \ge \|\vec b - A\vec x\|^2 ∥ b − w ∥ 2 = ∥ b − A x ∥ 2 + ∥ A x − w ∥ 2 ≥ ∥ b − A x ∥ 2 となり、A x ⃗ A\vec x A x はW W W の中でb ⃗ \vec b b に最も近い。最良近似の一意性からA x ⃗ = p ⃗ A\vec x = \vec p A x = p である。最後に、W W W はA A A の列a ⃗ 1 , … , a ⃗ n \vec a_1, \dots, \vec a_n a 1 , … , a n で張られるから、b ⃗ − A x ⃗ ⊥ W \vec b - A\vec x \perp W b − A x ⊥ W はすべてのj j j について⟨ a ⃗ j , b ⃗ − A x ⃗ ⟩ = 0 \langle \vec a_j, \vec b - A\vec x\rangle = 0 ⟨ a j , b − A x ⟩ = 0 と同値であり、これはA ⊤ ( b ⃗ − A x ⃗ ) = 0 ⃗ A^\top(\vec b - A\vec x) = \vec 0 A ⊤ ( b − A x ) = 0 、すなわちA ⊤ A x ⃗ = A ⊤ b ⃗ A^\top A\vec x = A^\top \vec b A ⊤ A x = A ⊤ b と同値である。
2を示す。p ⃗ ∈ W = Im A \vec p \in W = \operatorname{Im} A p ∈ W = Im A であるからA x ⃗ 0 = p ⃗ A\vec x_0 = \vec p A x 0 = p を満たすx ⃗ 0 \vec x_0 x 0 が存在し、
1よりこれは最小二乗解である。またx ⃗ \vec x x が最小二乗解であることはA x ⃗ = p ⃗ = A x ⃗ 0 A\vec x = \vec p = A\vec x_0 A x = p = A x 0 、すなわちx ⃗ − x ⃗ 0 ∈ Ker A \vec x - \vec x_0 \in \operatorname{Ker} A x − x 0 ∈ Ker A と同値である。
3を示す。2より、最小二乗解がただ一つであることはKer A = { 0 ⃗ } \operatorname{Ker} A = \{\vec 0\} Ker A = { 0 } と同値である。A x ⃗ = ∑ j x j a ⃗ j A\vec x = \sum_j x_j \vec a_j A x = ∑ j x j a j であるから、Ker A = { 0 ⃗ } \operatorname{Ker} A = \{\vec 0\} Ker A = { 0 } はa ⃗ 1 , … , a ⃗ n \vec a_1, \dots, \vec a_n a 1 , … , a n が一次独立であることと同値である。▨
3の条件を落とすことはできません。列が一次従属であれば、最小二乗解はKer A \operatorname{Ker} A Ker A の次元だけ自由度をもち、ただ一つには定まりません。次の例で確かめます。
例 2.3 (列が一次従属である場合).
A = ( 1 2 1 2 1 2 ) , b ⃗ = ( 1 3 4 ) A = \begin{pmatrix} 1 & 2 \\ 1 & 2 \\ 1 & 2 \end{pmatrix}, \qquad
\vec b = \begin{pmatrix} 1 \\ 3 \\ 4 \end{pmatrix} A = 1 1 1 2 2 2 , b = 1 3 4 とします。第2列は第1列の2 2 2 倍ですので、列は一次従属で、Im A \operatorname{Im} A Im A は( 1 , 1 , 1 ) ⊤ (1,1,1)^\top ( 1 , 1 , 1 ) ⊤ が張る1次元の部分空間です。b ⃗ \vec b b の正射影はp ⃗ = 1 + 3 + 4 3 ( 1 , 1 , 1 ) ⊤ = 8 3 ( 1 , 1 , 1 ) ⊤ \vec p = \frac{1+3+4}{3}(1,1,1)^\top = \frac{8}{3}(1,1,1)^\top p = 3 1 + 3 + 4 ( 1 , 1 , 1 ) ⊤ = 3 8 ( 1 , 1 , 1 ) ⊤ です。したがって最小二乗解の全体はx 1 + 2 x 2 = 8 / 3 x_1 + 2x_2 = 8/3 x 1 + 2 x 2 = 8/3 を満たす( x 1 , x 2 ) (x_1, x_2) ( x 1 , x 2 ) の全体であり、直線をなします。∥ A x ⃗ − b ⃗ ∥ \|A\vec x - \vec b\| ∥ A x − b ∥ の最小値はどの解でも同じですが、解そのものはただ一つには定まりません。このA A A には定義 1.1 の意味の QR 分解も存在しません。A = Q R A = QR A = QR と書けたとすると、R R R の対角成分が正であることからR R R は正則であり、A x ⃗ = 0 ⃗ A\vec x = \vec 0 A x = 0 からQ R x ⃗ = 0 ⃗ Q R\vec x = \vec 0 QR x = 0 、両辺にQ ⊤ Q^\top Q ⊤ を掛けてR x ⃗ = 0 ⃗ R\vec x = \vec 0 R x = 0 、したがってx ⃗ = 0 ⃗ \vec x = \vec 0 x = 0 となって、列が一次独立になってしまうからです。
3 QR 分解から最小二乗解を求める
正規方程式A ⊤ A x ⃗ = A ⊤ b ⃗ A^\top A\vec x = A^\top \vec b A ⊤ A x = A ⊤ b をそのまま解くには、A ⊤ A A^\top A A ⊤ A を作る必要があります。
QR 分解を用いると、この行列を作らずに、上三角の連立一次方程式を1つ解くだけで済みます。
定理 3.1 (QR 分解による最小二乗解). A A A をm × n m \times n m × n の実行列で列が一次独立であるものとし、A = Q R A = QR A = QR をその QR 分解とする。b ⃗ ∈ R m \vec b \in \mathbb{R}^m b ∈ R m に対し、A x ⃗ = b ⃗ A\vec x = \vec b A x = b の最小二乗解はただ一つであり、それは連立一次方程式
R x ⃗ = Q ⊤ b ⃗ R\vec x = Q^\top \vec b R x = Q ⊤ b のただ一つの解である。またA A A の像へのb ⃗ \vec b b の正射影はQ Q ⊤ b ⃗ QQ^\top \vec b Q Q ⊤ b である。
証明. 列が一次独立であるから、定理 2.2 の3より最小二乗解はただ一つである。
Q ⊤ Q = I n Q^\top Q = I_n Q ⊤ Q = I n よりA ⊤ A = R ⊤ Q ⊤ Q R = R ⊤ R A^\top A = R^\top Q^\top Q R = R^\top R A ⊤ A = R ⊤ Q ⊤ QR = R ⊤ R であり、A ⊤ b ⃗ = R ⊤ Q ⊤ b ⃗ A^\top \vec b = R^\top Q^\top \vec b A ⊤ b = R ⊤ Q ⊤ b である。よって正規方程式は
R ⊤ R x ⃗ = R ⊤ Q ⊤ b ⃗ R^\top R \vec x = R^\top Q^\top \vec b R ⊤ R x = R ⊤ Q ⊤ b と書ける。R R R は上三角で対角成分が正であるから、第1列に沿った余因子展開を繰り返すとdet R = r 11 r 22 ⋯ r n n > 0 \det R = r_{11}r_{22}\cdots r_{nn} > 0 det R = r 11 r 22 ⋯ r nn > 0 となり、R R R とR ⊤ R^\top R ⊤ はいずれも正則である。両辺に( R ⊤ ) − 1 (R^\top)^{-1} ( R ⊤ ) − 1 を左から掛けてR x ⃗ = Q ⊤ b ⃗ R\vec x = Q^\top \vec b R x = Q ⊤ b を得る。逆にこの等式から正規方程式が従う。R R R が正則であるから、この連立一次方程式の解はただ一つである。
正射影については、命題 1.3 のとおりQ Q ⊤ QQ^\top Q Q ⊤ がIm A \operatorname{Im} A Im A への正射影を表す。▨
R R R が上三角ですので、R x ⃗ = Q ⊤ b ⃗ R\vec x = Q^\top\vec b R x = Q ⊤ b は最後の成分から順に代入して解くことができます。
例 3.2 (直線のあてはめ). 3点( t , y ) = ( 0 , 1 ) , ( 1 , 3 ) , ( 2 , 4 ) (t, y) = (0, 1), (1, 3), (2, 4) ( t , y ) = ( 0 , 1 ) , ( 1 , 3 ) , ( 2 , 4 ) に対し、y = x 1 + x 2 t y = x_1 + x_2 t y = x 1 + x 2 t の形の直線をあてはめます。
A = ( 1 0 1 1 1 2 ) , b ⃗ = ( 1 3 4 ) A = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \end{pmatrix}, \qquad
\vec b = \begin{pmatrix} 1 \\ 3 \\ 4 \end{pmatrix} A = 1 1 1 0 1 2 , b = 1 3 4 とおくと、求めるものはA x ⃗ = b ⃗ A\vec x = \vec b A x = b の最小二乗解です。列は一次独立ですので定理 1.2 が使えます。
直交化します。a ⃗ 1 = ( 1 , 1 , 1 ) ⊤ \vec a_1 = (1,1,1)^\top a 1 = ( 1 , 1 , 1 ) ⊤ より∥ a ⃗ 1 ∥ = 3 \|\vec a_1\| = \sqrt3 ∥ a 1 ∥ = 3 、e ⃗ 1 = 1 3 ( 1 , 1 , 1 ) ⊤ \vec e_1 = \frac{1}{\sqrt3}(1,1,1)^\top e 1 = 3 1 ( 1 , 1 , 1 ) ⊤ です。a ⃗ 2 = ( 0 , 1 , 2 ) ⊤ \vec a_2 = (0,1,2)^\top a 2 = ( 0 , 1 , 2 ) ⊤ について⟨ a ⃗ 2 , e ⃗ 1 ⟩ = 3 / 3 = 3 \langle \vec a_2, \vec e_1\rangle = 3/\sqrt3 = \sqrt3 ⟨ a 2 , e 1 ⟩ = 3/ 3 = 3 ですのでu ⃗ 2 = a ⃗ 2 − 3 e ⃗ 1 = ( − 1 , 0 , 1 ) ⊤ \vec u_2 = \vec a_2 - \sqrt3\,\vec e_1 = (-1, 0, 1)^\top u 2 = a 2 − 3 e 1 = ( − 1 , 0 , 1 ) ⊤ 、∥ u ⃗ 2 ∥ = 2 \|\vec u_2\| = \sqrt2 ∥ u 2 ∥ = 2 、e ⃗ 2 = 1 2 ( − 1 , 0 , 1 ) ⊤ \vec e_2 = \frac{1}{\sqrt2}(-1,0,1)^\top e 2 = 2 1 ( − 1 , 0 , 1 ) ⊤ です。したがって
Q = ( 1 / 3 − 1 / 2 1 / 3 0 1 / 3 1 / 2 ) , R = ( 3 3 0 2 ) Q = \begin{pmatrix} 1/\sqrt3 & -1/\sqrt2 \\ 1/\sqrt3 & 0 \\ 1/\sqrt3 & 1/\sqrt2 \end{pmatrix}, \qquad
R = \begin{pmatrix} \sqrt3 & \sqrt3 \\ 0 & \sqrt2 \end{pmatrix} Q = 1/ 3 1/ 3 1/ 3 − 1/ 2 0 1/ 2 , R = ( 3 0 3 2 ) です。Q ⊤ b ⃗ = ( 1 + 3 + 4 3 , − 1 + 0 + 4 2 ) ⊤ = ( 8 3 , 3 2 ) ⊤ Q^\top \vec b = \left(\frac{1+3+4}{\sqrt3}, \frac{-1+0+4}{\sqrt2}\right)^\top
= \left(\frac{8}{\sqrt3}, \frac{3}{\sqrt2}\right)^\top Q ⊤ b = ( 3 1 + 3 + 4 , 2 − 1 + 0 + 4 ) ⊤ = ( 3 8 , 2 3 ) ⊤ ですので、R x ⃗ = Q ⊤ b ⃗ R\vec x = Q^\top\vec b R x = Q ⊤ b を下から解くと
2 x 2 = 3 2 ⇒ x 2 = 3 2 , 3 x 1 + 3 ⋅ 3 2 = 8 3 ⇒ x 1 = 8 3 − 3 2 = 7 6 \sqrt2\,x_2 = \frac{3}{\sqrt2} \ \Rightarrow\ x_2 = \frac32, \qquad
\sqrt3\,x_1 + \sqrt3\cdot\frac32 = \frac{8}{\sqrt3} \ \Rightarrow\ x_1 = \frac83 - \frac32 = \frac76 2 x 2 = 2 3 ⇒ x 2 = 2 3 , 3 x 1 + 3 ⋅ 2 3 = 3 8 ⇒ x 1 = 3 8 − 2 3 = 6 7 となります。
検算します。A ⊤ A = ( 3 3 3 5 ) A^\top A = \begin{pmatrix} 3 & 3 \\ 3 & 5\end{pmatrix} A ⊤ A = ( 3 3 3 5 ) 、A ⊤ b ⃗ = ( 8 , 11 ) ⊤ A^\top \vec b = (8, 11)^\top A ⊤ b = ( 8 , 11 ) ⊤ ですので、正規方程式は3 x 1 + 3 x 2 = 8 3x_1 + 3x_2 = 8 3 x 1 + 3 x 2 = 8 と3 x 1 + 5 x 2 = 11 3x_1 + 5x_2 = 11 3 x 1 + 5 x 2 = 11 です。x 1 = 7 / 6 x_1 = 7/6 x 1 = 7/6 、x 2 = 3 / 2 x_2 = 3/2 x 2 = 3/2 を代入すると3 ⋅ 7 6 + 3 ⋅ 3 2 = 7 2 + 9 2 = 8 3\cdot\frac76 + 3\cdot\frac32 = \frac72 + \frac92 = 8 3 ⋅ 6 7 + 3 ⋅ 2 3 = 2 7 + 2 9 = 8 、3 ⋅ 7 6 + 5 ⋅ 3 2 = 7 2 + 15 2 = 11 3\cdot\frac76 + 5\cdot\frac32 = \frac72 + \frac{15}{2} = 11 3 ⋅ 6 7 + 5 ⋅ 2 3 = 2 7 + 2 15 = 11 となり、いずれも成り立ちます。残差はb ⃗ − A x ⃗ = ( − 1 6 , 1 3 , − 1 6 ) ⊤ \vec b - A\vec x = \left(-\frac16, \frac13, -\frac16\right)^\top b − A x = ( − 6 1 , 3 1 , − 6 1 ) ⊤ で、a ⃗ 1 \vec a_1 a 1 との内積は− 1 6 + 1 3 − 1 6 = 0 -\frac16 + \frac13 - \frac16 = 0 − 6 1 + 3 1 − 6 1 = 0 、a ⃗ 2 \vec a_2 a 2 との内積は0 + 1 3 − 1 3 = 0 0 + \frac13 - \frac13 = 0 0 + 3 1 − 3 1 = 0 ですので、残差はIm A \operatorname{Im}A Im A に直交しています。
4 つまずいたら
Q ⊤ Q = I n Q^\top Q = I_n Q ⊤ Q = I n とQ Q ⊤ = I m QQ^\top = I_m Q Q ⊤ = I m を取り違えないでください。m > n m > n m > n のとき成り立つのは前者だけです。後者の左辺Q Q ⊤ QQ^\top Q Q ⊤ は単位行列ではなく、命題 1.3 のとおりIm A \operatorname{Im}A Im A への正射影を表す行列です。
R R R の成分はr i j = ⟨ a ⃗ j , q ⃗ i ⟩ r_{ij} = \langle \vec a_j, \vec q_i\rangle r ij = ⟨ a j , q i ⟩ であり、添字の順に注意が要ります。第j j j 列に並ぶのはa ⃗ j \vec a_j a j の展開係数です。
最小二乗解が「ただ一つ」と書けるのは、列が一次独立なときに限ります(定理 2.2 )。一次従属なら例 2.3 のように解は直線や平面をなします。
R x ⃗ = Q ⊤ b ⃗ R\vec x = Q^\top\vec b R x = Q ⊤ b は、R R R が上三角ですので最後の成分から順に求めます。最初の成分から求めようとすると、まだ分かっていない成分が右辺に残ります。
グラム・シュミットで引く相手は、直前の1本ではなく、それまでに作ったすべてです(§D3.14 定理 2.1 )。引き忘れるとQ Q Q の列が正規直交にならず、Q ⊤ Q = I n Q^\top Q = I_n Q ⊤ Q = I n が崩れます。
5 自分で確かめる
次の三つを、資料を見ずに行ってください。
a ⃗ 1 = ( 1 , 1 , 0 ) ⊤ \vec a_1 = (1,1,0)^\top a 1 = ( 1 , 1 , 0 ) ⊤ 、a ⃗ 2 = ( 1 , 0 , 1 ) ⊤ \vec a_2 = (1,0,1)^\top a 2 = ( 1 , 0 , 1 ) ⊤ を列とする3 × 2 3\times2 3 × 2 行列の QR 分解を求め、Q ⊤ Q = I 2 Q^\top Q = I_2 Q ⊤ Q = I 2 とA = Q R A = QR A = QR の双方を成分の計算で確かめてください。
例 3.2 のA A A とb ⃗ \vec b b について、Q Q ⊤ b ⃗ QQ^\top\vec b Q Q ⊤ b を計算し、A x ⃗ A\vec x A x と一致することを確かめてください。一致する理由を定理 3.1 の言葉で述べてください。
対角成分を正に取るという条件を外すと、QR 分解が何組できるかを述べてください。q ⃗ j \vec q_j q j とr j j r_{jj} r j j の符号を同時に変えたときに、等式A = Q R A = QR A = QR が保たれることを確かめると分かります。
3では、各j j j について符号の選び方が2通りありますので、2 n 2^n 2 n 組になります。