§E20.6最小二乗法と QR 分解

最終更新

式の数が未知数の数より多い連立一次方程式Ax=bAx=bは、一般に解をもたない。平面上の四点に直線を当てはめる問題は、二つの未知数で四つの一次式を同時に満たす問題であり、四点が一つの直線上になければ解は存在しない。そこで方程式を満たすことをあきらめ、残差b−Axb-Axの Euclid ノルムを最小にするxxを求める。これが最小二乗解であり、観測値にモデルを当てはめる計算はこの問題として書かれる。

最小二乗解は、残差がAAの列空間に直交するという条件で特徴づけられ、この条件は正規方程式ATAx=ATbA^{\mathsf T}Ax=A^{\mathsf T}bと同値である。しかし、正規方程式をそのまま浮動小数点算術で解くと精度を失うことがある。AAの列が一次独立であるときκ2(ATA)=κ2(A)2\kappa_2(A^{\mathsf T}A)=\kappa_2(A)^2であり、係数行列の条件数が二乗になるからである。本文の例では、列が一次独立な4×34\times3行列AAに対して、浮動小数点算術で作ったATAA^{\mathsf T}Aが成分がすべて11の行列、すなわち階数11の特異行列になる。

これに対して Householder QR 法は、Householder 反射という直交行列を順に掛けてAAを上三角行列に変換し、ATAA^{\mathsf T}Aを作らずに最小二乗解を求める。丸めについての仮定と、丸めによる係数の摂動がAAの最小特異値より小さいという仮定の下で、この方法で計算した解は、係数の各列と右辺を、mm、nnと単位丸め誤差で定まる係数倍以下の相対量だけ動かした問題のただ一つの最小二乗解になる。

本記事では、最小二乗解の性質と、Householder QR 法による計算とその誤差について解説する。

1 最小二乗解

定義 1.1.A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^m、x∈Rnx\in\R^nに対して、b−Ax∈Rmb-Ax\in\R^mをAx=bAx=bに関するxxの 残差 (residual) という。

命題 1.2.A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^mとする。x∈Rnx\in\R^nについて、次の三条件は同値である。

  1. xxはAx=bAx=bの最小二乗解である。すなわち、任意のy∈Rny\in\R^nに対して∥b−Ax∥2≤∥b−Ay∥2\lVert b-Ax\rVert_2\le\lVert b-Ay\rVert_2が成り立つ。
  2. 残差b−Axb-AxはAAの列空間{Ay∣y∈Rn}\{Ay\mid y\in\R^n\}のすべての元に直交する。
  3. ATAx=ATbA^{\mathsf T}Ax=A^{\mathsf T}bが成り立つ。

さらに次が成り立つ。

  1. Ax=bAx=bの最小二乗解は存在し、その一つをx0x_0とすると、最小二乗解の全体はx0+ker⁡A={x0+z∣z∈ker⁡A}x_0+\ker A=\{x_0+z\mid z\in\ker A\}である。
  2. Ax=bAx=bの最小二乗解がただ一つであることと、AAの列が一次独立であることは同値である。AAの列が一次独立ならば、ATAA^{\mathsf T}Aは正則であり、ただ一つの最小二乗解は(ATA)−1ATb(A^{\mathsf T}A)^{-1}A^{\mathsf T}bである。

証明.§D3.17 定理 2.2により、条件 (a)と条件 (c)は同値であり、(1)と、(2)の前半が成り立つ。AAの列空間はAAの列a1,…,ana_1,\dots,a_nで張られるから、条件 (b)はajT(b−Ax)=0a_j^{\mathsf T}(b-Ax)=0(1≤j≤n1\le j\le n)と同値であり、これはAT(b−Ax)=0A^{\mathsf T}(b-Ax)=0、すなわち条件 (c)と同値である。AAの列が一次独立ならばker⁡A={0}\ker A=\{0\}であり、§D3.18 補題 1.1によりker⁡(ATA)=ker⁡A={0}\ker(A^{\mathsf T}A)=\ker A=\{0\}であるから、ATAA^{\mathsf T}Aは正則である。このとき条件 (c)の解は(ATA)−1ATb(A^{\mathsf T}A)^{-1}A^{\mathsf T}bだけである。▨

注意 1.3.AAの列が一次従属ならばker⁡A≠{0}\ker A\ne\{0\}であり、命題 1.2 (1)により最小二乗解の全体は正の次元をもつアフィン部分空間x0+ker⁡Ax_0+\ker Aである。そのうちノルムが最小のものは§D3.18 命題 4.1のx+x^+である。列が一次従属な場合と、列が一次従属に近い場合の階数の判定、および最小二乗問題の正則化は「特異値分解の数値計算と数値的階数」と「逆問題と正則化」で扱う。

2 特異値と条件数

補題 2.1.Rn\R^nとRm\R^mに Euclid ノルム∥⋅∥2\lVert\cdot\rVert_2を入れ、M∈Rm×nM\in\R^{m\times n}の作用素ノルム(§E20.2 定義 1.1)を∥M∥2\lVert M\rVert_2と書く。p:=min⁡{m,n}p:=\min\{m,n\}とし、MMの特異値(§D3.18 定理 1.2)をσ1(M)≥⋯≥σp(M)\sigma_1(M)\ge\dots\ge\sigma_p(M)と書く。

  1. ∥M∥2=σ1(M)=∥MT∥2≤∥M∥F\lVert M\rVert_2=\sigma_1(M)=\lVert M^{\mathsf T}\rVert_2\le\lVert M\rVert_Fが成り立つ。
  2. m≥nm\ge nでありMMの列が一次独立であるとする。σn(M)>0\sigma_n(M)>0であり、任意のh∈Rnh\in\R^nに対して∥Mh∥2≥σn(M)∥h∥2\lVert Mh\rVert_2\ge\sigma_n(M)\lVert h\rVert_2が成り立ち、等号を満たすh≠0h\ne0が存在する。さらに∥(MTM)−1∥2=σn(M)−2\lVert(M^{\mathsf T}M)^{-1}\rVert_2=\sigma_n(M)^{-2}、∥(MTM)−1MT∥2=σn(M)−1\lVert(M^{\mathsf T}M)^{-1}M^{\mathsf T}\rVert_2=\sigma_n(M)^{-1}である。
  3. m≥nm\ge nでありMMの列が一次独立であるとし、E∈Rm×nE\in\R^{m\times n}が∥E∥2<σn(M)\lVert E\rVert_2<\sigma_n(M)を満たすとする。このときM+EM+Eの列は一次独立であり、σn(M+E)≥σn(M)−∥E∥2\sigma_n(M+E)\ge\sigma_n(M)-\lVert E\rVert_2が成り立つ。

証明.§D3.18 定理 1.2により、直交行列U∈Rm×mU\in\R^{m\times m}、V∈Rn×nV\in\R^{n\times n}と、(i,i)(i,i)成分がσi(M)\sigma_i(M)(1≤i≤p1\le i\le p)でその他の成分が00のΣ∈Rm×n\Sigma\in\R^{m\times n}が存在してM=UΣVTM=U\Sigma V^{\mathsf T}である。h∈Rnh\in\R^nに対してk:=VThk:=V^{\mathsf T}hと置くと、直交行列は Euclid ノルムを保つので∥k∥2=∥h∥2\lVert k\rVert_2=\lVert h\rVert_2であり、

∥Mh∥22=∥Σk∥22=∑i=1pσi(M)2ki2\lVert Mh\rVert_2^2=\lVert\Sigma k\rVert_2^2=\sum_{i=1}^p\sigma_i(M)^2k_i^2

である。

右辺はσ1(M)2∥k∥22\sigma_1(M)^2\lVert k\rVert_2^2以下であり、hhをVVの第11列とすると等号が成り立つから、∥M∥2=σ1(M)\lVert M\rVert_2=\sigma_1(M)である。MT=VΣTUTM^{\mathsf T}=V\Sigma^{\mathsf T}U^{\mathsf T}は§D3.18 定理 1.2の形のMTM^{\mathsf T}の分解であるから、§D3.18 命題 2.1によりMTM^{\mathsf T}の特異値はσ1(M),…,σp(M)\sigma_1(M),\dots,\sigma_p(M)であり、∥MT∥2=σ1(M)\lVert M^{\mathsf T}\rVert_2=\sigma_1(M)である。MMの第ii行をμi\mu_iとすると、Cauchy–Schwarz の不等式により∥Mh∥22=∑i(μih)2≤∑i∥μi∥22∥h∥22=∥M∥F2∥h∥22\lVert Mh\rVert_2^2=\sum_i(\mu_ih)^2\le\sum_i\lVert\mu_i\rVert_2^2\lVert h\rVert_2^2=\lVert M\rVert_F^2\lVert h\rVert_2^2であり、∥M∥2≤∥M∥F\lVert M\rVert_2\le\lVert M\rVert_Fである。これで(1)は示された。

m≥nm\ge nでありMMの列が一次独立ならば、MMの階数はnnであり、§D3.18 定理 1.2によりσn(M)>0\sigma_n(M)>0である。p=np=nであるから、上の等式の右辺はσn(M)2∥k∥22\sigma_n(M)^2\lVert k\rVert_2^2以上であり、hhをVVの第nn列とすると等号が成り立つ。MTM=Vdiag⁡(σ1(M)2,…,σn(M)2)VTM^{\mathsf T}M=V\operatorname{diag}(\sigma_1(M)^2,\dots,\sigma_n(M)^2)V^{\mathsf T}であるから

(MTM)−1=Vdiag⁡(σ1(M)−2,…,σn(M)−2)VT,(MTM)−1MT=VSUT(M^{\mathsf T}M)^{-1}=V\operatorname{diag}(\sigma_1(M)^{-2},\dots,\sigma_n(M)^{-2})V^{\mathsf T},\qquad(M^{\mathsf T}M)^{-1}M^{\mathsf T}=VSU^{\mathsf T}

である。ここでS∈Rn×mS\in\R^{n\times m}は(i,i)(i,i)成分がσi(M)−1\sigma_i(M)^{-1}(1≤i≤n1\le i\le n)でその他の成分が00の行列である。直交行列は Euclid ノルムを保つので、二つの行列の作用素ノルムは対角行列diag⁡(σi(M)−2)\operatorname{diag}(\sigma_i(M)^{-2})とSSの作用素ノルムに等しく、上と同じ計算によりそれぞれσn(M)−2\sigma_n(M)^{-2}とσn(M)−1\sigma_n(M)^{-1}である。これで(2)は示された。

EEが(3)の仮定を満たすとする。任意のh∈Rnh\in\R^nに対して、(2)と§E20.2 補題 1.2 (1)により

∥(M+E)h∥2≥∥Mh∥2−∥Eh∥2≥(σn(M)−∥E∥2)∥h∥2\lVert(M+E)h\rVert_2\ge\lVert Mh\rVert_2-\lVert Eh\rVert_2\ge(\sigma_n(M)-\lVert E\rVert_2)\lVert h\rVert_2

である。h≠0h\ne0ならば右辺は正であるから、M+EM+Eの列は一次独立である。(2)をM+EM+Eに適用し、等号を満たすh≠0h\ne0をとると、σn(M+E)∥h∥2=∥(M+E)h∥2≥(σn(M)−∥E∥2)∥h∥2\sigma_n(M+E)\lVert h\rVert_2=\lVert(M+E)h\rVert_2\ge(\sigma_n(M)-\lVert E\rVert_2)\lVert h\rVert_2である。▨

定義 2.2.m≥nm\ge nとし、A∈Rm×nA\in\R^{m\times n}の列が一次独立であるとする。κ2(A):=σ1(A)/σn(A)\kappa_2(A):=\sigma_1(A)/\sigma_n(A)をAAの 条件数 (condition number of a matrix with full column rank) という。m=nm=nのとき、§E20.5 命題 4.4 (4)により、この値は Euclid ノルムに関する正則行列の条件数κ2(A)\kappa_2(A)に一致する。

命題 2.3.m≥nm\ge nとし、A∈Rm×nA\in\R^{m\times n}の列が一次独立であるとする。ATAA^{\mathsf T}Aは実対称正定値行列であり、その固有値はσ1(A)2,…,σn(A)2\sigma_1(A)^2,\dots,\sigma_n(A)^2であって、κ2(ATA)=κ2(A)2\kappa_2(A^{\mathsf T}A)=\kappa_2(A)^2が成り立つ。

証明.(ATA)T=ATA(A^{\mathsf T}A)^{\mathsf T}=A^{\mathsf T}Aであり、x≠0x\ne0ならば列の一次独立性からAx≠0Ax\ne0であってxTATAx=∥Ax∥22>0x^{\mathsf T}A^{\mathsf T}Ax=\lVert Ax\rVert_2^2>0であるから、ATAA^{\mathsf T}Aは実対称正定値行列である。§D3.18 命題 2.1により、σ1(A)2≥⋯≥σn(A)2\sigma_1(A)^2\ge\dots\ge\sigma_n(A)^2はATAA^{\mathsf T}Aのnn個の固有値である。§E20.5 命題 4.4 (5)によりκ2(ATA)=σ1(A)2/σn(A)2=κ2(A)2\kappa_2(A^{\mathsf T}A)=\sigma_1(A)^2/\sigma_n(A)^2=\kappa_2(A)^2である。▨

3 Householder 反射と QR 法

定義 3.1.ℓ∈N≥1\ell\in\NNとし、v∈Rℓv\in\R^\ellをv≠0v\ne0を満たすベクトルとする。

Hv:=Iℓ−2vTvvvTH_v:=I_\ell-\frac{2}{v^{\mathsf T}v}vv^{\mathsf T}

をvvの定める Householder 反射 (Householder reflector) という。

補題 3.2.ℓ∈N≥1\ell\in\NNとする。

  1. v∈Rℓ∖{0}v\in\R^\ell\setminus\{0\}に対して、HvH_vは対称な直交行列であってHv2=IℓH_v^2=I_\ellを満たす。Hvv=−vH_vv=-vであり、vvに直交する任意のw∈Rℓw\in\R^\ellに対してHvw=wH_vw=wである。
  2. x∈Rℓ∖{0}x\in\R^\ell\setminus\{0\}とし、α:=∥x∥2\alpha:=\lVert x\rVert_2、x1≥0x_1\ge0のときs:=1s:=1、x1<0x_1<0のときs:=−1s:=-1と置き、v:=x+sαe1v:=x+s\alpha e_1とする。このときsv1=∣x1∣+α>0sv_1=|x_1|+\alpha>0、vTv=2αsv1v^{\mathsf T}v=2\alpha sv_1であり、任意のy∈Rℓy\in\R^\ellに対して Hvy=y−vTyαsv1vH_vy=y-\frac{v^{\mathsf T}y}{\alpha sv_1}v が成り立ち、Hvx=−sαe1H_vx=-s\alpha e_1である。
  3. (2)の記号でv′:=x−sαe1v':=x-s\alpha e_1と置く。sv1′=−(∑i=2ℓxi2)/(∣x1∣+α)sv'_1=-\bigl(\sum_{i=2}^\ell x_i^2\bigr)/(|x_1|+\alpha)であり、v′≠0v'\ne0ならばHv′x=sαe1H_{v'}x=s\alpha e_1である。

証明.HvT=HvH_v^{\mathsf T}=H_vである。vvTvvT=(vTv)vvTvv^{\mathsf T}vv^{\mathsf T}=(v^{\mathsf T}v)vv^{\mathsf T}から

Hv2=Iℓ−4vTvvvT+4(vTv)2(vTv)vvT=IℓH_v^2=I_\ell-\frac{4}{v^{\mathsf T}v}vv^{\mathsf T}+\frac{4}{(v^{\mathsf T}v)^2}(v^{\mathsf T}v)vv^{\mathsf T}=I_\ell

であり、HvTHv=Hv2=IℓH_v^{\mathsf T}H_v=H_v^2=I_\ellである。Hvv=v−2v=−vH_vv=v-2v=-vであり、vTw=0v^{\mathsf T}w=0ならばHvw=wH_vw=wである。

(2)の記号で、sx1=∣x1∣sx_1=|x_1|であるからsv1=∣x1∣+αsv_1=|x_1|+\alphaであり、x≠0x\ne0からα>0\alpha>0である。vTv=α2+2sαx1+α2=2α(α+∣x1∣)=2αsv1v^{\mathsf T}v=\alpha^2+2s\alpha x_1+\alpha^2=2\alpha(\alpha+|x_1|)=2\alpha sv_1であるから、HvH_vの定義によりHvy=y−(vTy/(αsv1))vH_vy=y-(v^{\mathsf T}y/(\alpha sv_1))vである。vTx=α2+sαx1=αsv1v^{\mathsf T}x=\alpha^2+s\alpha x_1=\alpha sv_1であるからHvx=x−v=−sαe1H_vx=x-v=-s\alpha e_1である。

sv1′=∣x1∣−α=(x12−α2)/(∣x1∣+α)=−(∑i≥2xi2)/(∣x1∣+α)sv'_1=|x_1|-\alpha=(x_1^2-\alpha^2)/(|x_1|+\alpha)=-\bigl(\sum_{i\ge2}x_i^2\bigr)/(|x_1|+\alpha)である。v′Tx=α2−sαx1=α(α−∣x1∣)v'^{\mathsf T}x=\alpha^2-s\alpha x_1=\alpha(\alpha-|x_1|)、v′Tv′=2α2−2sαx1=2α(α−∣x1∣)v'^{\mathsf T}v'=2\alpha^2-2s\alpha x_1=2\alpha(\alpha-|x_1|)であり、v′≠0v'\ne0ならばv′Tv′>0v'^{\mathsf T}v'>0であるから、Hv′x=x−v′=sαe1H_{v'}x=x-v'=s\alpha e_1である。▨

例 3.3.F=F(2,53,−1022,1023)F=F(2,53,-1022,1023)、fl⁡\operatorname{fl}を最近接偶数丸めとし、x:=(1,2−30)∈F2x:=(1,2^{-30})\in F^2とする。α=1+2−60\alpha=\sqrt{1+2^{-60}}、s=1s=1である。fl⁡(x1x1)=1\operatorname{fl}(x_1x_1)=1、fl⁡(x2x2)=2−60\operatorname{fl}(x_2x_2)=2^{-60}であり、1+2−601+2^{-60}の最近接点は、11との距離2−602^{-60}が1+2−521+2^{-52}との距離より小さいので11だけである。したがって二乗和の計算値は11、α\alphaの計算値はα^=1\hat\alpha=1である。

補題 3.2 (3)のv′v'の第11成分はv1′=1−1+2−60=−2−60/(1+1+2−60)∈(−2−61,−2−62)v'_1=1-\sqrt{1+2^{-60}}=-2^{-60}/(1+\sqrt{1+2^{-60}})\in(-2^{-61},-2^{-62})であるが、計算値はfl⁡(1−α^)=0\operatorname{fl}(1-\hat\alpha)=0であり、第11成分の相対誤差は11である。計算値のベクトルv^′=(0,2−30)\hat v'=(0,2^{-30})の定める反射はHv^′=diag⁡(1,−1)H_{\hat v'}=\operatorname{diag}(1,-1)であり、Hv^′x=(1,−2−30)H_{\hat v'}x=(1,-2^{-30})の第22成分は00でない。

補題 3.2 (2)のvvでは、計算値はv^=(fl⁡(1+α^),2−30)=(2,2−30)\hat v=(\operatorname{fl}(1+\hat\alpha),2^{-30})=(2,2^{-30})であり、v1=1+1+2−60v_1=1+\sqrt{1+2^{-60}}に対するv^1\hat v_1の相対誤差は2−622^{-62}より小さい。v^\hat vの定める反射について

Hv^x=(−1−2262+1, −2−30262+1)H_{\hat v}x=\Bigl(-1-\frac{2}{2^{62}+1},\ -\frac{2^{-30}}{2^{62}+1}\Bigr)

であり、第22成分の絶対値は2−922^{-92}より小さい。sv1=∣x1∣+αsv_1=|x_1|+\alphaは正の二数の和であり、sv1′=∣x1∣−αsv'_1=|x_1|-\alphaは補題 3.2 (3)により絶対値が∑i≥2xi2/(∣x1∣+α)\sum_{i\ge2}x_i^2/(|x_1|+\alpha)の量を二つの近い正の数の差として与える。

定義 3.4.m≥n≥1m\ge n\ge1を整数とし、A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^mとする。作業行列W=(wij)∈Rm×(n+1)W=(w_{ij})\in\R^{m\times(n+1)}をW:=(A b)W:=(A\ b)で初期化し、k=1,…,nk=1,\dots,nの順に次の段kkを行う計算式を、AAと右辺bbの Householder QR 法 (Householder QR factorization) という。段kkではℓ:=m−k+1\ell:=m-k+1と置き、x:=(wkk,wk+1,k,…,wmk)∈Rℓx:=(w_{kk},w_{k+1,k},\dots,w_{mk})\in\R^\ellとする。

  1. x=0x=0ならば、段kkでは何も行わない。
  2. x≠0x\ne0ならば、q:=x1x1q:=x_1x_1と置き、i=2,…,ℓi=2,\dots,\ellの順に乗算xixix_ix_iの後に加算を行ってqqをq+xixiq+x_ix_iに置き換え、α:=q\alpha:=\sqrt qと置く。x1≥0x_1\ge0のときs:=1s:=1、x1<0x_1<0のときs:=−1s:=-1と置き、v1:=x1+sαv_1:=x_1+s\alpha、vi:=xiv_i:=x_i(2≤i≤ℓ2\le i\le\ell)、p:=α⋅(sv1)p:=\alpha\cdot(sv_1)と置く。sv1sv_1はv1v_1の符号をssに従って反転した値であり、演算に数えない。
  3. x≠0x\ne0ならば、wkkw_{kk}を−sα-s\alphaに、wikw_{ik}(k<i≤mk<i\le m)を00に置き換える。
  4. x≠0x\ne0ならば、j=k+1,…,n+1j=k+1,\dots,n+1の順に次を行う。y:=(wkj,wk+1,j,…,wmj)y:=(w_{kj},w_{k+1,j},\dots,w_{mj})とし、ω:=v1y1\omega:=v_1y_1と置き、i=2,…,ℓi=2,\dots,\ellの順に乗算viyiv_iy_iの後に加算を行ってω\omegaをω+viyi\omega+v_iy_iに置き換え、τ:=ω/p\tau:=\omega/pと置く。i=1,…,ℓi=1,\dots,\ellについて、乗算τvi\tau v_iの後に減算を行ってwk+i−1,jw_{k+i-1,j}をyi−τviy_i-\tau v_iに置き換える。

段nnの後のWWの第11行から第nn行、第11列から第nn列の部分をR∈Rn×nR\in\R^{n\times n}、第n+1n+1列をc∈Rmc\in\R^mとし、(R,c)(R,c)をこの計算式の出力という。

補題 3.5.m≥n≥1m\ge n\ge1とし、Q∈Rm×mQ\in\R^{m\times m}を直交行列、T∈Rn×nT\in\R^{n\times n}を対角成分がすべて00でない上三角行列、b∈Rmb\in\R^mとする。A:=Q(T0)A:=Q\begin{pmatrix}T\\0\end{pmatrix}と置き、QTbQ^{\mathsf T}bの第11成分から第nn成分をc1∈Rnc_1\in\R^n、第n+1n+1成分から第mm成分をc2∈Rm−nc_2\in\R^{m-n}とする。このときAAの列は一次独立であり、Ax=bAx=bのただ一つの最小二乗解xxはTx=c1Tx=c_1のただ一つの解であって、∥b−Ax∥2=∥c2∥2\lVert b-Ax\rVert_2=\lVert c_2\rVert_2が成り立つ。

証明.QQの第11列から第nn列からなる行列をQ1Q_1とするとA=Q1TA=Q_1T、Q1TQ1=InQ_1^{\mathsf T}Q_1=I_nである。Ah=0Ah=0ならばTh=Q1TAh=0Th=Q_1^{\mathsf T}Ah=0であり、TTは対角成分がすべて00でない上三角行列であるから正則であって、h=0h=0である。したがってAAの列は一次独立である。任意のz∈Rnz\in\R^nについてQT(b−Az)=(c1−Tzc2)Q^{\mathsf T}(b-Az)=\begin{pmatrix}c_1-Tz\\c_2\end{pmatrix}であり、QQは Euclid ノルムを保つので

∥b−Az∥22=∥c1−Tz∥22+∥c2∥22≥∥c2∥22\lVert b-Az\rVert_2^2=\lVert c_1-Tz\rVert_2^2+\lVert c_2\rVert_2^2\ge\lVert c_2\rVert_2^2

である。等号はTz=c1Tz=c_1のときに限って成り立ち、TTは正則であるからTz=c1Tz=c_1の解xxはただ一つである。したがってxxはAx=bAx=bのただ一つの最小二乗解であり、∥b−Ax∥2=∥c2∥2\lVert b-Ax\rVert_2=\lVert c_2\rVert_2である。▨

命題 3.6.m≥n≥1m\ge n\ge1とし、A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^mとする。AAと右辺bbの Householder QR 法を厳密算術で実行し、その出力を(R,c)(R,c)とする。段kkのxxが00ならばHk:=ImH_k:=I_mと置き、00でないならば、段kkのvvによりHk:=diag⁡(Ik−1,Hv)H_k:=\operatorname{diag}(I_{k-1},H_v)と置く。Q:=H1H2⋯HnQ:=H_1H_2\cdots H_nは直交行列であり、RRは上三角行列であって

A=Q(R0),b=QcA=Q\begin{pmatrix}R\\0\end{pmatrix},\qquad b=Qc

が成り立つ。AAの列が一次独立ならば、RRの対角成分はすべて00でなく、Ax=bAx=bのただ一つの最小二乗解はRx=(c1,…,cn)R x=(c_1,\dots,c_n)のただ一つの解である。

証明. 段kkの前の作業行列をW(k−1)W^{(k-1)}、後の作業行列をW(k)W^{(k)}とする。段kkは第11列から第k−1k-1列を変えず、第kk列の第k+1k+1行から第mm行を00にする(定義 3.4 (1)の場合は既に00である)から、kkに関する帰納法により、W(k)W^{(k)}の第jj列(j≤kj\le k)の第j+1j+1行から第mm行は00である。特にRRは上三角行列である。

W(k)=HkW(k−1)W^{(k)}=H_kW^{(k-1)}が成り立つ。実際、定義 3.4 (1)の場合はHk=ImH_k=I_mである。x≠0x\ne0の場合、HkH_kは第11行から第k−1k-1行を変えない。j<kj<kならば第jj列の第kk行から第mm行は00であるから、補題 3.2 (1)によりHkH_kは第jj列を変えない。補題 3.2 (2)によりHvx=−sαe1H_vx=-s\alpha e_1であり、これは定義 3.4 (3)の書き込みに一致する。j>kj>kならば、p=αsv1p=\alpha sv_1であるから定義 3.4 (4)の値はy−(vTy/(αsv1))v=Hvyy-(v^{\mathsf T}y/(\alpha sv_1))v=H_vyである。

したがってW(n)=Hn⋯H1(A b)W^{(n)}=H_n\cdots H_1(A\ b)である。補題 3.2 (1)により各HkH_kは対称な直交行列であるから、QQは直交行列であってQT=Hn⋯H1Q^{\mathsf T}=H_n\cdots H_1である。W(n)W^{(n)}の第11列から第nn列は(R0)\begin{pmatrix}R\\0\end{pmatrix}、第n+1n+1列はccであるから、A=Q(R0)A=Q\begin{pmatrix}R\\0\end{pmatrix}、b=Qcb=Qcを得る。AAの列が一次独立ならば、(R0)=QTA\begin{pmatrix}R\\0\end{pmatrix}=Q^{\mathsf T}Aの列も一次独立であり、RRは正則であるから、上三角行列RRの対角成分はすべて00でない。最後の主張は補題 3.5をT=RT=Rに適用したものである。▨

例 3.7. 四点(ti,yi)=(0,1),(3,6),(4,3),(7,5)(t_i,y_i)=(0,1),(3,6),(4,3),(7,5)に直線y=x1+x2ty=x_1+x_2tを当てはめる。AAの第ii行を(1,ti)(1,t_i)、b:=(1,6,3,5)b:=(1,6,3,5)とすると、四点は一つの直線上にないのでAx=bAx=bは解をもたない。 Householder QR 法を厳密算術で実行する。段11ではx=(1,1,1,1)x=(1,1,1,1)、α=2\alpha=2、s=1s=1、v=(3,1,1,1)v=(3,1,1,1)、p=6p=6であり、第22列ではω=14\omega=14、τ=7/3\tau=7/3、右辺ではω=17\omega=17、τ=17/6\tau=17/6であるから、段11の後の作業行列は

(−2−7−15/202/319/605/31/6014/313/6)\begin{pmatrix}-2&-7&-15/2\\0&2/3&19/6\\0&5/3&1/6\\0&14/3&13/6\end{pmatrix}

である。段22ではx=(2/3,5/3,14/3)x=(2/3,5/3,14/3)、α=5\alpha=5、s=1s=1、v=(17/3,5/3,14/3)v=(17/3,5/3,14/3)、p=85/3p=85/3であり、右辺ではω=85/3\omega=85/3、τ=1\tau=1であるから、出力は

R=(−2−70−5),c=(−152,−52,−32,−52)R=\begin{pmatrix}-2&-7\\0&-5\end{pmatrix},\qquad c=\Bigl(-\frac{15}2,-\frac52,-\frac32,-\frac52\Bigr)

である。RRの対角成分は負であり、D:=−I2D:=-I_2と置くと、§D3.17 定義 1.1の意味の QR 分解の上三角因子はDR=(2705)DR=\begin{pmatrix}2&7\\0&5\end{pmatrix}である。命題 3.6により、最小二乗解はRx=(−15/2,−5/2)Rx=(-15/2,-5/2)の解x=(2,1/2)x=(2,1/2)である。残差はb−Ax=(−1,5/2,−1,−1/2)b-Ax=(-1,5/2,-1,-1/2)であり、∥b−Ax∥22=17/2=(3/2)2+(5/2)2\lVert b-Ax\rVert_2^2=17/2=(3/2)^2+(5/2)^2はccの第33、第44成分の二乗和に等しい。

4 浮動小数点算術での Householder QR 法

定義 4.1.FFを浮動小数点数系、fl⁡\operatorname{fl}をFFの最近接丸めとする。x∈Fx\in Fがx≥0x\ge0かつx≤Nmax⁡\sqrt x\le N_{\max}を満たすとき、fl⁡(x)\operatorname{fl}(\sqrt x)を 正しく丸めた平方根 (correctly rounded square root) の結果といい、実数x\sqrt xをその演算の厳密な結果という。加算・減算・乗算・除算と平方根を定められた順序で有限回行って値を定める計算式について、入力がFFの元であるとき、各演算x∘yx\circ yをfl⁡(x∘y)\operatorname{fl}(x\circ y)に、各平方根x\sqrt xをfl⁡(x)\operatorname{fl}(\sqrt x)に順に置き換えて計算することを、計算式をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行するという。その実行が次の条件を満たすとき、実行は範囲条件を満たすという。

  1. 各乗算・各除算・各平方根の厳密な結果は、00であるかFFの正規範囲にある。
  2. 各加算と各減算の厳密な結果の絶対値はNmax⁡N_{\max}以下である。

平方根を含まない計算式については、この範囲条件は§E20.5 定義 1.1の範囲条件と一致する。

補題 4.2.0≤u<10\le u<1を実数とし、実数k≥0k\ge0に対してBk:=[(1−u)k,(1−u)−k]B_k:=[(1-u)^k,(1-u)^{-k}]と置く。

  1. ∣δ∣≤u|\delta|\le uを満たす実数δ\deltaに対して1+δ∈B11+\delta\in B_1である。
  2. 実数j,k≥0j,k\ge0とa∈Bja\in B_j、a′∈Bka'\in B_kに対して、aa′∈Bj+kaa'\in B_{j+k}、a−1∈Bja^{-1}\in B_j、a∈Bj/2\sqrt a\in B_{j/2}である。j≤kj\le kならばBj⊂BkB_j\subset B_kである。
  3. a1,…,aN∈Bka_1,\dots,a_N\in B_kとし、実数λ1,…,λN≥0\lambda_1,\dots,\lambda_N\ge0が∑iλi>0\sum_i\lambda_i>0を満たすならば、∑iλiai/∑iλi∈Bk\sum_i\lambda_ia_i/\sum_i\lambda_i\in B_kである。
  4. 整数k≥1k\ge1がku<1ku<1を満たすとし、γk:=ku/(1−ku)\gamma_k:=ku/(1-ku)と置く。任意のa∈Bka\in B_kに対して∣a−1∣≤γk|a-1|\le\gamma_kである。

証明. 演習とする(問題 7.1)。▨

補題 4.3.FFを浮動小数点数系、uuをその単位丸め誤差、fl⁡\operatorname{fl}をFFの最近接丸めとし、実数k≥0k\ge0に対してBk:=[(1−u)k,(1−u)−k]B_k:=[(1-u)^k,(1-u)^{-k}]と置く。ℓ∈N≥1\ell\in\NN、x∈Fℓx\in F^\ell、x≠0x\ne0とし、α\alpha、ss、vvを補題 3.2 (2)のとおりに置く。xxから定義 3.4 (2)の計算式をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行すると範囲条件を満たすとし、α\alpha、vv、ppの計算値をα^\hat\alpha、v^\hat v、p^\hat pとする。このときc1∈Bℓ/2+1c_1\in B_{\ell/2+1}、c2∈Bℓ/2+2c_2\in B_{\ell/2+2}と∣δp∣≤u|\delta_p|\le uを満たす実数δp\delta_pが存在して

α^=c1α,v^=v+(c2−1)v1e1,p^=c1c2(1+δp) αsv1\hat\alpha=c_1\alpha,\qquad\hat v=v+(c_2-1)v_1e_1,\qquad\hat p=c_1c_2(1+\delta_p)\,\alpha sv_1

が成り立つ。特にα^>0\hat\alpha>0、sv^1>0s\hat v_1>0、p^>0\hat p>0である。

証明. 範囲条件により各積xixix_ix_iは00であるか正規範囲にあるから、§E20.1 系 3.2 (1)または§E20.1 系 3.2 (2)により、∣μi∣≤u|\mu_i|\le uを満たすμi\mu_iが存在してfl⁡(xixi)=xi2(1+μi)\operatorname{fl}(x_ix_i)=x_i^2(1+\mu_i)である。qqの計算値q^\hat qはこれらの逐次和であり、§E20.3 系 1.4 (1)により各項の深さはℓ−1\ell-1以下であるから、§E20.3 定理 1.3 (1)によりq^=∑ixi2ei\hat q=\sum_ix_i^2e_iであって、各eie_iは1+μi1+\mu_iと高々ℓ−1\ell-1個の1+δ1+\delta(∣δ∣≤u|\delta|\le u)の積である。u≤1/2u\le1/2であるから、補題 4.2 (1)と補題 4.2 (2)によりei∈Bℓe_i\in B_\ellであり、α2=∑ixi2>0\alpha^2=\sum_ix_i^2>0であるから、補題 4.2 (3)によりq^/α2∈Bℓ\hat q/\alpha^2\in B_\ellであり、特にq^>0\hat q>0である。q^>0\sqrt{\hat q}>0であり、範囲条件によりq^\sqrt{\hat q}は正規範囲にあるから、§E20.1 定理 2.2 (2)により∣δα∣≤u|\delta_\alpha|\le uを満たすδα\delta_\alphaが存在してα^=q^(1+δα)\hat\alpha=\sqrt{\hat q}(1+\delta_\alpha)である。c1:=α^/α=(q^/α2)1/2(1+δα)c_1:=\hat\alpha/\alpha=(\hat q/\alpha^2)^{1/2}(1+\delta_\alpha)は、補題 4.2 (2)によりBℓ/2+1B_{\ell/2+1}に属する。

補題 3.2 (2)によりsv1=∣x1∣+αsv_1=|x_1|+\alphaであり、x1+sα^=s(∣x1∣+c1α)=c′v1x_1+s\hat\alpha=s(|x_1|+c_1\alpha)=c'v_1である。ここでc′:=(∣x1∣⋅1+αc1)/(∣x1∣+α)c':=(|x_1|\cdot1+\alpha c_1)/(|x_1|+\alpha)は11とc1c_1の正の重みによる平均であるから、補題 4.2 (3)によりBℓ/2+1B_{\ell/2+1}に属する。x1x_1とsα^s\hat\alphaはFFの元であり、範囲条件によりその和の絶対値はNmax⁡N_{\max}以下であるから、§E20.1 系 3.3により∣δv∣≤u|\delta_v|\le uを満たすδv\delta_vが存在してv^1=c′(1+δv)v1\hat v_1=c'(1+\delta_v)v_1である。c2:=c′(1+δv)c_2:=c'(1+\delta_v)はBℓ/2+2B_{\ell/2+2}に属し、i≥2i\ge2ではv^i=xi=vi\hat v_i=x_i=v_iであるから、v^=v+(c2−1)v1e1\hat v=v+(c_2-1)v_1e_1である。

sv^1=c2sv1>0s\hat v_1=c_2sv_1>0であり、積α^⋅sv^1=c1c2αsv1\hat\alpha\cdot s\hat v_1=c_1c_2\alpha sv_1は正であって、範囲条件により正規範囲にあるから、§E20.1 系 3.2 (2)により∣δp∣≤u|\delta_p|\le uを満たすδp\delta_pが存在してp^=c1c2(1+δp)αsv1\hat p=c_1c_2(1+\delta_p)\alpha sv_1である。c1,c2,1+δpc_1,c_2,1+\delta_pは正であるから、α^>0\hat\alpha>0、p^>0\hat p>0である。▨

補題 4.4.FFを浮動小数点数系、uuをその単位丸め誤差、fl⁡\operatorname{fl}をFFの最近接丸めとし、ℓ∈N≥1\ell\in\NNが(2ℓ+6)u<1(2\ell+6)u<1を満たすとする。tℓ:=γ2ℓ+6=(2ℓ+6)u/(1−(2ℓ+6)u)t_\ell:=\gamma_{2\ell+6}=(2\ell+6)u/(1-(2\ell+6)u)と置く。x∈Fℓx\in F^\ell、x≠0x\ne0、y∈Fℓy\in F^\ellとし、α\alpha、ss、vvを補題 3.2 (2)のとおりに置く。xxから定義 3.4 (2)の計算式を、続けてyyから定義 3.4 (4)の計算式(ω\omega、τ\tauとyi−τviy_i-\tau v_iの計算)をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行すると範囲条件を満たすとし、α\alphaの計算値をα^\hat\alpha、yi−τviy_i-\tau v_iの計算値を並べたベクトルをy^′\hat y'とする。

  1. ∣α^−α∣≤tℓα|\hat\alpha-\alpha|\le t_\ell\alphaであり、したがって∥−sα^e1−Hvx∥2≤tℓ∥x∥2\lVert-s\hat\alpha e_1-H_vx\rVert_2\le t_\ell\lVert x\rVert_2である。
  2. ∥y^′−Hvy∥2≤3tℓ∥y∥2\lVert\hat y'-H_vy\rVert_2\le3t_\ell\lVert y\rVert_2である。

証明. 実数k≥0k\ge0に対してBk:=[(1−u)k,(1−u)−k]B_k:=[(1-u)^k,(1-u)^{-k}]と置き、補題 4.3のc1c_1、c2c_2、δp\delta_pをとる。c1∈Bℓ/2+1⊂B2ℓ+6c_1\in B_{\ell/2+1}\subset B_{2\ell+6}であるから、補題 4.2 (4)により∣α^−α∣=α∣c1−1∣≤tℓα|\hat\alpha-\alpha|=\alpha|c_1-1|\le t_\ell\alphaである。補題 3.2 (2)によりHvx=−sαe1H_vx=-s\alpha e_1であるから、(1)が成り立つ。

β:=1/(αsv1)\beta:=1/(\alpha sv_1)と置く。補題 3.2 (2)によりvTv=2αsv1v^{\mathsf T}v=2\alpha sv_1であるから、Hv=Iℓ−βvvTH_v=I_\ell-\beta vv^{\mathsf T}、β∥v∥22=2\beta\lVert v\rVert_2^2=2である。ι1:=1\iota_1:=1、ιi:=0\iota_i:=0(i≥2i\ge2)と置くと、補題 4.3によりv^i=c2ιivi\hat v_i=c_2^{\iota_i}v_i、1/p^=β/(c1c2(1+δp))1/\hat p=\beta/(c_1c_2(1+\delta_p))である。範囲条件と§E20.1 系 3.2 (1)、§E20.1 系 3.2 (2)によりfl⁡(v^iyi)=v^iyi(1+μi)\operatorname{fl}(\hat v_iy_i)=\hat v_iy_i(1+\mu_i)(∣μi∣≤u|\mu_i|\le u)であり、§E20.3 系 1.4 (1)と§E20.3 定理 1.3 (1)により、ω\omegaの計算値はω^=∑jv^jyjdj\hat\omega=\sum_j\hat v_jy_jd_jであって、各djd_jは1+μj1+\mu_jと高々ℓ−1\ell-1個の1+δ1+\delta(∣δ∣≤u|\delta|\le u)の積である。同じく範囲条件と§E20.1 系 3.2 (1)、§E20.1 系 3.2 (2)により、∣δτ∣,∣δi∣≤u|\delta_\tau|,|\delta_i|\le uを満たす実数が存在して、τ\tauの計算値はτ^=(ω^/p^)(1+δτ)\hat\tau=(\hat\omega/\hat p)(1+\delta_\tau)、積τvi\tau v_iの計算値はz^i=τ^v^i(1+δi)\hat z_i=\hat\tau\hat v_i(1+\delta_i)である。これらを代入すると

z^i=βvi∑j=1ℓvjyjgij,gij:=c2ιi+ιj−1dj(1+δτ)(1+δi)c1(1+δp)\hat z_i=\beta v_i\sum_{j=1}^\ell v_jy_jg_{ij},\qquad g_{ij}:=\frac{c_2^{\iota_i+\iota_j-1}d_j(1+\delta_\tau)(1+\delta_i)}{c_1(1+\delta_p)}

である。ιi+ιj−1∈{−1,0,1}\iota_i+\iota_j-1\in\{-1,0,1\}であり、補題 4.2 (1)と補題 4.2 (2)によりgij∈B(ℓ/2+2)+ℓ+2+(ℓ/2+1)+1=B2ℓ+6g_{ij}\in B_{(\ell/2+2)+\ell+2+(\ell/2+1)+1}=B_{2\ell+6}であるから、補題 4.2 (4)により∣gij−1∣≤tℓ|g_{ij}-1|\le t_\ellである。

z:=βv(vTy)z:=\beta v(v^{\mathsf T}y)と置くとHvy=y−zH_vy=y-zである。Cauchy–Schwarz の不等式により

∣z^i−zi∣=β∣vi∣∣∑jvjyj(gij−1)∣≤tℓβ∣vi∣∑j∣vj∣∣yj∣≤tℓβ∣vi∣∥v∥2∥y∥2|\hat z_i-z_i|=\beta|v_i|\Bigl|\sum_jv_jy_j(g_{ij}-1)\Bigr|\le t_\ell\beta|v_i|\sum_j|v_j||y_j|\le t_\ell\beta|v_i|\lVert v\rVert_2\lVert y\rVert_2

であり、∥z^−z∥2≤tℓβ∥v∥22∥y∥2=2tℓ∥y∥2\lVert\hat z-z\rVert_2\le t_\ell\beta\lVert v\rVert_2^2\lVert y\rVert_2=2t_\ell\lVert y\rVert_2である。yiy_iと−z^i-\hat z_iはFFの元であり、範囲条件により§E20.1 系 3.3が適用されるので、∣δi′∣≤u|\delta'_i|\le uを満たす実数が存在してy^i′=(yi−z^i)(1+δi′)\hat y'_i=(y_i-\hat z_i)(1+\delta'_i)である。したがってy^′−Hvy=(z−z^)+(δi′(yi−z^i))i\hat y'-H_vy=(z-\hat z)+(\delta'_i(y_i-\hat z_i))_iである。補題 3.2 (1)により∥Hvy∥2=∥y∥2\lVert H_vy\rVert_2=\lVert y\rVert_2であるから、∥y−z^∥2≤∥y−z∥2+∥z−z^∥2≤(1+2tℓ)∥y∥2\lVert y-\hat z\rVert_2\le\lVert y-z\rVert_2+\lVert z-\hat z\rVert_2\le(1+2t_\ell)\lVert y\rVert_2であり、

∥y^′−Hvy∥2≤(2tℓ+u(1+2tℓ))∥y∥2\lVert\hat y'-H_vy\rVert_2\le\bigl(2t_\ell+u(1+2t_\ell)\bigr)\lVert y\rVert_2

である。tℓ≥(2ℓ+6)u≥8ut_\ell\ge(2\ell+6)u\ge8uであり、(2ℓ+6)u<1(2\ell+6)u<1からu<1/8u<1/8であるので、tℓ(1−2u)≥8u⋅3/4≥ut_\ell(1-2u)\ge8u\cdot3/4\ge u、すなわちu(1+2tℓ)≤tℓu(1+2t_\ell)\le t_\ellである。これで(2)は示された。▨

定理 4.5.FFを浮動小数点数系、uuをその単位丸め誤差、fl⁡\operatorname{fl}をFFの最近接丸めとし、整数m≥n≥1m\ge n\ge1が(2m+6)u<1(2m+6)u<1を満たすとする。整数j≥0j\ge0がju<1ju<1を満たすときγj:=ju/(1−ju)\gamma_j:=ju/(1-ju)と置き、

t:=γ2m+6,ηm,n:=(1+3t)n−1t:=\gamma_{2m+6},\qquad\eta_{m,n}:=(1+3t)^n-1

と置く。A∈Fm×nA\in F^{m\times n}、b∈Fmb\in F^mとし、AAの第jj列をaja_jと書く。AAと右辺bbの Householder QR 法をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行すると範囲条件を満たすとし、その出力を(R^,c^)(\widehat R,\widehat c)とする。

  1. R^\widehat Rは上三角行列である。各kkについてImI_mであるかdiag⁡(Ik−1,Hv)\operatorname{diag}(I_{k-1},H_v)(HvH_vは Householder 反射)の形である直交行列HkH_kの積Q:=H1⋯Hn∈Rm×mQ:=H_1\cdots H_n\in\R^{m\times m}と、ΔA∈Rm×n\Delta A\in\R^{m\times n}、Δb∈Rm\Delta b\in\R^mが存在して A+ΔA=Q(R^0),b+Δb=Qc^A+\Delta A=Q\begin{pmatrix}\widehat R\\0\end{pmatrix},\qquad b+\Delta b=Q\widehat c が成り立ち、ΔA\Delta Aの第jj列Δaj\Delta a_jとΔb\Delta bは ∥Δaj∥2≤ηm,n∥aj∥2(1≤j≤n),∥Δb∥2≤ηm,n∥b∥2\lVert\Delta a_j\rVert_2\le\eta_{m,n}\lVert a_j\rVert_2\quad(1\le j\le n),\qquad\lVert\Delta b\rVert_2\le\eta_{m,n}\lVert b\rVert_2 を満たす。特に∥ΔA∥F≤ηm,n∥A∥F\lVert\Delta A\rVert_F\le\eta_{m,n}\lVert A\rVert_Fである。
  2. 3nt≤13nt\le1ならばηm,n≤6nt\eta_{m,n}\le6ntである。

証明.W(0):=(A b)W^{(0)}:=(A\ b)と置き、1≤k≤n1\le k\le nに対して段kkの後の作業行列の計算値をW(k)∈Fm×(n+1)W^{(k)}\in F^{m\times(n+1)}とする。W(k−1)W^{(k-1)}の第kk列の第kk行から第mm行をx(k)∈Fm−k+1x^{(k)}\in F^{m-k+1}とする。x(k)=0x^{(k)}=0ならばHk:=ImH_k:=I_mと置き、x(k)≠0x^{(k)}\ne0ならば、x(k)x^{(k)}に対して補題 3.2 (2)のvvをv(k)v^{(k)}とし、Hk:=diag⁡(Ik−1,Hv(k))H_k:=\operatorname{diag}(I_{k-1},H_{v^{(k)}})と置く。補題 3.2 (1)によりHkH_kは対称な直交行列である。Ek:=W(k)−HkW(k−1)E_k:=W^{(k)}-H_kW^{(k-1)}と置く。

段kkは第11列から第k−1k-1列を変えず、第kk列の第k+1k+1行から第mm行を00にする(定義 3.4 (1)の場合は既に00である)から、kkに関する帰納法により、W(k)W^{(k)}の第jj列(j≤kj\le k)の第j+1j+1行から第mm行は00である。

主張 4.5.1.1≤k≤n1\le k\le n、1≤j≤n+11\le j\le n+1ならば、∥Ekej∥2≤3t∥W(k−1)ej∥2\lVert E_ke_j\rVert_2\le3t\lVert W^{(k-1)}e_j\rVert_2である。

証明.x(k)=0x^{(k)}=0ならば段kkは作業行列を変えず、Hk=ImH_k=I_mであるからEk=0E_k=0である。x(k)≠0x^{(k)}\ne0とし、ℓ:=m−k+1\ell:=m-k+1と置く。ℓ≤m\ell\le mであるから(2ℓ+6)u<1(2\ell+6)u<1であり、γj\gamma_jはjjについて単調非減少であるから、補題 4.4のtℓt_\ellはtt以下である。段kkとHkH_kはどちらも第11行から第k−1k-1行を変えないので、EkejE_ke_jの第11成分から第k−1k-1成分は00である。j<kj<kならば、W(k−1)ejW^{(k-1)}e_jの第kk成分から第mm成分は00であるから、補題 3.2 (1)によりHkW(k−1)ej=W(k−1)ejH_kW^{(k-1)}e_j=W^{(k-1)}e_jであり、段kkは第jj列を変えないのでEkej=0E_ke_j=0である。j=kj=kならば、EkejE_ke_jの第kk成分から第mm成分は−sα^e1−Hv(k)x(k)-s\hat\alpha e_1-H_{v^{(k)}}x^{(k)}であり、補題 4.4 (1)によりそのノルムはt∥x(k)∥2≤t∥W(k−1)ek∥2t\lVert x^{(k)}\rVert_2\le t\lVert W^{(k-1)}e_k\rVert_2以下である。j>kj>kならば、W(k−1)ejW^{(k-1)}e_jの第kk成分から第mm成分をyyとすると、EkejE_ke_jの第kk成分から第mm成分はy^′−Hv(k)y\hat y'-H_{v^{(k)}}yであり、補題 4.4 (2)によりそのノルムは3t∥y∥2≤3t∥W(k−1)ej∥23t\lVert y\rVert_2\le3t\lVert W^{(k-1)}e_j\rVert_2以下である。▨

HkH_kは Euclid ノルムを保つから、主張 4.5.1により∥W(k)ej∥2≤∥HkW(k−1)ej∥2+∥Ekej∥2≤(1+3t)∥W(k−1)ej∥2\lVert W^{(k)}e_j\rVert_2\le\lVert H_kW^{(k-1)}e_j\rVert_2+\lVert E_ke_j\rVert_2\le(1+3t)\lVert W^{(k-1)}e_j\rVert_2であり、kkに関する帰納法により∥W(k−1)ej∥2≤(1+3t)k−1∥W(0)ej∥2\lVert W^{(k-1)}e_j\rVert_2\le(1+3t)^{k-1}\lVert W^{(0)}e_j\rVert_2である。W(k)=HkW(k−1)+EkW^{(k)}=H_kW^{(k-1)}+E_kをk=1,…,nk=1,\dots,nについて順に代入すると

W(n)=Hn⋯H1W(0)+∑k=1nHn⋯Hk+1EkW^{(n)}=H_n\cdots H_1W^{(0)}+\sum_{k=1}^nH_n\cdots H_{k+1}E_k

である。Q:=H1H2⋯HnQ:=H_1H_2\cdots H_nは直交行列であり、Hk2=ImH_k^2=I_mからQHn⋯Hk+1=H1⋯HkQH_n\cdots H_{k+1}=H_1\cdots H_kであるので、ΔW:=∑k=1nH1⋯HkEk\Delta W:=\sum_{k=1}^nH_1\cdots H_kE_kと置くとQW(n)=W(0)+ΔWQW^{(n)}=W^{(0)}+\Delta Wである。直交行列は Euclid ノルムを保つから、

∥ΔWej∥2≤∑k=1n∥Ekej∥2≤∑k=1n3t(1+3t)k−1∥W(0)ej∥2=ηm,n∥W(0)ej∥2\lVert\Delta We_j\rVert_2\le\sum_{k=1}^n\lVert E_ke_j\rVert_2\le\sum_{k=1}^n3t(1+3t)^{k-1}\lVert W^{(0)}e_j\rVert_2=\eta_{m,n}\lVert W^{(0)}e_j\rVert_2

である。j≤nj\le nならばW(n)W^{(n)}の第jj列の第j+1j+1行から第mm行は00であるから、第11列から第nn列は(R^0)\begin{pmatrix}\widehat R\\0\end{pmatrix}でR^\widehat Rは上三角行列であり、第n+1n+1列はc^\widehat cである。ΔW\Delta Wの第11列から第nn列をΔA\Delta A、第n+1n+1列をΔb\Delta bとすると、A+ΔA=Q(R^0)A+\Delta A=Q\begin{pmatrix}\widehat R\\0\end{pmatrix}、b+Δb=Qc^b+\Delta b=Q\widehat cと列ごとの評価が成り立ち、∥ΔA∥F2=∑j∥Δaj∥22≤ηm,n2∥A∥F2\lVert\Delta A\rVert_F^2=\sum_j\lVert\Delta a_j\rVert_2^2\le\eta_{m,n}^2\lVert A\rVert_F^2である。これで(1)は示された。

3nt≤13nt\le1とする。1+3t≤e3t1+3t\le e^{3t}からηm,n≤e3nt−1\eta_{m,n}\le e^{3nt}-1である。0≤y≤10\le y\le1に対して、eye^yの凸性からey≤(1−y)+yee^y\le(1-y)+yeであり、ey−1≤(e−1)y≤2ye^y-1\le(e-1)y\le2yである。y=3nty=3ntとしてηm,n≤6nt\eta_{m,n}\le6ntを得る。▨

注意 4.6.定理 4.5のQQは、計算値の作業列x(k)x^{(k)}の厳密なノルムから定まる反射の積であり、計算で得られる量ではない。段kkで保存したv^\hat vとp^\hat pを用いて、単位行列の列に定義 3.4 (4)の計算を浮動小数点算術で施して得る行列Q^\widehat Qは直交行列であるとは限らず、定理 4.5はQ^\widehat Qの直交性を主張しない。例 4.8のQ^\widehat Qでは∥Q^TQ^−I∥F≈4.95×10−16\lVert\widehat Q^{\mathsf T}\widehat Q-I\rVert_F\approx4.95\times10^{-16}であり、00でない。

定理 4.7.FFを浮動小数点数系、uuをその単位丸め誤差、fl⁡\operatorname{fl}をFFの最近接丸めとし、整数m≥n≥1m\ge n\ge1が(2m+6)u<1(2m+6)u<1を満たすとする。γj\gamma_j、tt、ηm,n\eta_{m,n}を定理 4.5のとおりに置き、ηm,n′:=ηm,n+γn(1+ηm,n)\eta'_{m,n}:=\eta_{m,n}+\gamma_n(1+\eta_{m,n})と置く。A∈Fm×nA\in F^{m\times n}の列が一次独立であるとし、b∈Fmb\in F^mとする。AAと右辺bbの Householder QR 法をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行すると範囲条件を満たすとし、その出力を(R^,c^)(\widehat R,\widehat c)、c^\widehat cの第11成分から第nn成分をc^1\widehat c_1とする。ηm,n∥A∥F<σn(A)\eta_{m,n}\lVert A\rVert_F<\sigma_n(A)を仮定する。

  1. R^\widehat Rは対角成分がすべて00でない上三角行列である。
  2. R^x=c^1\widehat Rx=\widehat c_1の後退代入をFFとfl⁡\operatorname{fl}の浮動小数点算術で実行すると範囲条件を満たすとし、その計算値をx^\hat xとする。AAの第jj列をaja_jと書く。このとき、ΔA′∈Rm×n\Delta A'\in\R^{m\times n}とΔb∈Rm\Delta b\in\R^mが存在して、ΔA′\Delta A'の第jj列Δaj′\Delta a'_jが∥Δaj′∥2≤ηm,n′∥aj∥2\lVert\Delta a'_j\rVert_2\le\eta'_{m,n}\lVert a_j\rVert_2(1≤j≤n1\le j\le n)を、Δb\Delta bが∥Δb∥2≤ηm,n∥b∥2\lVert\Delta b\rVert_2\le\eta_{m,n}\lVert b\rVert_2を満たし、A+ΔA′A+\Delta A'の列は一次独立であって、x^\hat xは(A+ΔA′)x=b+Δb(A+\Delta A')x=b+\Delta bのただ一つの最小二乗解である。

証明.定理 4.5 (1)のQQ、ΔA\Delta A、Δb\Delta bをとる。補題 2.1 (1)により∥ΔA∥2≤∥ΔA∥F≤ηm,n∥A∥F<σn(A)\lVert\Delta A\rVert_2\le\lVert\Delta A\rVert_F\le\eta_{m,n}\lVert A\rVert_F<\sigma_n(A)であるから、補題 2.1 (3)によりA+ΔA=Q(R^0)A+\Delta A=Q\begin{pmatrix}\widehat R\\0\end{pmatrix}の列は一次独立であり、(R^0)=QT(A+ΔA)\begin{pmatrix}\widehat R\\0\end{pmatrix}=Q^{\mathsf T}(A+\Delta A)の列も一次独立である。したがってR^\widehat Rは正則であり、上三角行列R^\widehat Rの対角成分はすべて00でない。これで(1)は示された。

n≤mn\le mと(2m+6)u<1(2m+6)u<1からnu<n/(2m+6)<1/2nu<n/(2m+6)<1/2であり、γn<1\gamma_n<1である。§E20.5 定理 3.8 (1)をT=R^∈Mn(F)T=\widehat R\in M_n(F)、c=c^1∈Fnc=\widehat c_1\in F^nに適用すると、∣E∣≤γn∣R^∣|E|\le\gamma_n|\widehat R|を満たすE∈Rn×nE\in\R^{n\times n}が存在して(R^+E)x^=c^1(\widehat R+E)\hat x=\widehat c_1である。∣E∣≤γn∣R^∣|E|\le\gamma_n|\widehat R|からEEは上三角行列であり、R^+E\widehat R+Eの対角成分は∣r^ii+eii∣≥(1−γn)∣r^ii∣>0|\hat r_{ii}+e_{ii}|\ge(1-\gamma_n)|\hat r_{ii}|>0を満たす。ΔA′:=ΔA+Q(E0)\Delta A':=\Delta A+Q\begin{pmatrix}E\\0\end{pmatrix}と置くと、A+ΔA′=Q(R^+E0)A+\Delta A'=Q\begin{pmatrix}\widehat R+E\\0\end{pmatrix}、b+Δb=Qc^b+\Delta b=Q\widehat cである。補題 3.5をT=R^+ET=\widehat R+Eと右辺b+Δbb+\Delta bに適用すると、QT(b+Δb)=c^Q^{\mathsf T}(b+\Delta b)=\widehat cであるから、A+ΔA′A+\Delta A'の列は一次独立であり、ただ一つの最小二乗解は(R^+E)x=c^1(\widehat R+E)x=\widehat c_1の解x^\hat xである。Q(E0)Q\begin{pmatrix}E\\0\end{pmatrix}の第jj列のノルムはEEの第jj列のノルムに等しく、∣E∣≤γn∣R^∣|E|\le\gamma_n|\widehat R|からγn∥R^ej∥2=γn∥(A+ΔA)ej∥2≤γn(1+ηm,n)∥aj∥2\gamma_n\lVert\widehat Re_j\rVert_2=\gamma_n\lVert(A+\Delta A)e_j\rVert_2\le\gamma_n(1+\eta_{m,n})\lVert a_j\rVert_2以下である。これと定理 4.5 (1)の∥Δaj∥2≤ηm,n∥aj∥2\lVert\Delta a_j\rVert_2\le\eta_{m,n}\lVert a_j\rVert_2から∥Δaj′∥2≤ηm,n′∥aj∥2\lVert\Delta a'_j\rVert_2\le\eta'_{m,n}\lVert a_j\rVert_2である。▨

例 4.8.F=F(2,53,−1022,1023)F=F(2,53,-1022,1023)、fl⁡\operatorname{fl}を最近接偶数丸め、u=2−53u=2^{-53}、ε:=2−27\varepsilon:=2^{-27}とし、

A:=(111ε000ε000ε),b:=(3εεε)=A(111)A:=\begin{pmatrix}1&1&1\\\varepsilon&0&0\\0&\varepsilon&0\\0&0&\varepsilon\end{pmatrix},\qquad b:=\begin{pmatrix}3\\\varepsilon\\\varepsilon\\\varepsilon\end{pmatrix}=A\begin{pmatrix}1\\1\\1\end{pmatrix}

とする。最小二乗解はx=(1,1,1)x=(1,1,1)、残差は00である。JJを成分がすべて11の3×33\times3行列とするとATA=J+ε2I3A^{\mathsf T}A=J+\varepsilon^2I_3であり、固有値は3+ε2,ε2,ε23+\varepsilon^2,\varepsilon^2,\varepsilon^2であるから、命題 2.3によりAAの特異値は3+ε2,ε,ε\sqrt{3+\varepsilon^2},\varepsilon,\varepsilon、κ2(A)=3+ε2/ε≈2.32×108\kappa_2(A)=\sqrt{3+\varepsilon^2}/\varepsilon\approx2.32\times10^8である。

正規方程式:ATAA^{\mathsf T}Aの対角成分の計算値はfl⁡(1+2−54)\operatorname{fl}(1+2^{-54})であり、1+2−541+2^{-54}の最近接点は、11との距離2−542^{-54}が1+2−521+2^{-52}との距離3⋅2−543\cdot2^{-54}より小さいので11である。非対角成分は11であるから、浮動小数点算術で作ったATAA^{\mathsf T}AはJJであり、AAの列は一次独立であるがJJは階数11の特異行列である。ATbA^{\mathsf T}bの各成分の厳密な値は3+2−543+2^{-54}であり、その最近接点は33であるから、ATbA^{\mathsf T}bの計算値は(3,3,3)(3,3,3)である。JJに§E20.5 定理 5.2 (5)の式を適用するとc11=1c_{11}=1、c21=1c_{21}=1であり、c22c_{22}の根号の中は1−1=01-1=0であって正でない。

Gram–Schmidt 法: 古典 Gram–Schmidt 法(CGS)はj=1,2,3j=1,2,3の順に、rij:=qiTajr_{ij}:=q_i^{\mathsf T}a_j(i<ji<j)を元の列aja_jとの内積として計算し、w:=aj−∑i<jrijqiw:=a_j-\sum_{i<j}r_{ij}q_i、rjj:=∥w∥2r_{jj}:=\lVert w\rVert_2、qj:=w/rjjq_j:=w/r_{jj}と置く。修正 Gram–Schmidt 法(MGS)はw:=ajw:=a_jと置き、i=1,…,j−1i=1,\dots,j-1の順にrij:=qiTwr_{ij}:=q_i^{\mathsf T}w、w:=w−rijqiw:=w-r_{ij}q_iと更新してからrjjr_{jj}、qjq_jを同じく定める。q1,…,qi−1q_1,\dots,q_{i-1}が正規直交ならば MGS のqiTwq_i^{\mathsf T}wはqiTajq_i^{\mathsf T}a_jに等しいので、厳密算術では二つの計算式は§D3.14 定理 2.1と同じqjq_jを与える。内積とノルムを逐次和と正しく丸めた平方根で計算し、CPython の float と math.sqrt で実行して次の値を観察した。

  • CGS ではr^11=1\hat r_{11}=1、q^1=(1,ε,0,0)\hat q_1=(1,\varepsilon,0,0)、r^12=r^13=1\hat r_{12}=\hat r_{13}=1、r^23=0\hat r_{23}=0であり、q^2=(0,−g,g,0)\hat q_2=(0,-g,g,0)、q^3=(0,−g,0,g)\hat q_3=(0,-g,0,g)(g=0.7071067811865475g=0.7071067811865475)である。q^2Tq^3=g2≈0.5\hat q_2^{\mathsf T}\hat q_3=g^2\approx0.5、∥Q^TQ^−I∥F≈0.707\lVert\widehat Q^{\mathsf T}\widehat Q-I\rVert_F\approx0.707である。Q^Tb\widehat Q^{\mathsf T}bの計算値は(3,0,0)(3,0,0)であり、後退代入の計算値はx^=(3,0,0)\hat x=(3,0,0)、相対誤差∥x^−x∥2/∥x∥2=2\lVert\hat x-x\rVert_2/\lVert x\rVert_2=\sqrt2である。
  • MGS では∥Q^TQ^−I∥F≈8.60×10−9\lVert\widehat Q^{\mathsf T}\widehat Q-I\rVert_F\approx8.60\times10^{-9}である。Q^Tb\widehat Q^{\mathsf T}bを内積で計算して解くとx^≈(3,−4.53×10−17,9.06×10−17)\hat x\approx(3,-4.53\times10^{-17},9.06\times10^{-17})、相対誤差は約1.411.41である。bbを第44列として同じ更新ci:=q^iTwc_i:=\hat q_i^{\mathsf T}w、w:=w−ciq^iw:=w-c_i\hat q_iで処理するとc≈(3,1.58×10−8,9.13×10−9)c\approx(3,1.58\times10^{-8},9.13\times10^{-9})であり、相対誤差は約1.92×10−161.92\times10^{-16}である。
  • Householder QR 法(右辺bb)ではR^\widehat Rの第11行は(−1,−1,−1)(-1,-1,-1)、c^≈(−3,1.58×10−8,9.13×10−9,0)\widehat c\approx(-3,1.58\times10^{-8},9.13\times10^{-9},0)であり、x^\hat xの相対誤差は約3.20×10−163.20\times10^{-16}、保存した反射から作ったQ^\widehat Qについて∥Q^TQ^−I∥F≈4.95×10−16\lVert\widehat Q^{\mathsf T}\widehat Q-I\rVert_F\approx4.95\times10^{-16}である。

x^=(3,0,0)\hat x=(3,0,0)ではx^−x=(2,−1,−1)\hat x-x=(2,-1,-1)は(1,1,1)(1,1,1)に直交し、ATAA^{\mathsf T}Aの固有値ε2\varepsilon^2の固有ベクトルであるから、残差はb−Ax^=A(x−x^)=(0,−2ε,ε,ε)b-A\hat x=A(x-\hat x)=(0,-2\varepsilon,\varepsilon,\varepsilon)、∥b−Ax^∥2=ε∥x^−x∥2=6ε≈1.83×10−8\lVert b-A\hat x\rVert_2=\varepsilon\lVert\hat x-x\rVert_2=\sqrt6\varepsilon\approx1.83\times10^{-8}、∥b−Ax^∥2/∥b∥2≈6.1×10−9\lVert b-A\hat x\rVert_2/\lVert b\rVert_2\approx6.1\times10^{-9}である。

5 重み付き最小二乗問題

定義 5.1.A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^mとし、W∈Rm×mW\in\R^{m\times m}を実対称正定値行列とする。x∈Rnx\in\R^nが任意のy∈Rny\in\R^nに対して

(b−Ax)TW(b−Ax)≤(b−Ay)TW(b−Ay)(b-Ax)^{\mathsf T}W(b-Ax)\le(b-Ay)^{\mathsf T}W(b-Ay)

を満たすとき、xxをAx=bAx=bの重みWWに関する 重み付き最小二乗解 (weighted least squares solution) という。

命題 5.2.A∈Rm×nA\in\R^{m\times n}、b∈Rmb\in\R^mとし、W∈Rm×mW\in\R^{m\times m}を実対称正定値行列とする。

  1. Rm\R^mに標準内積を入れるとWWは正作用素であり、その正の平方根W1/2W^{1/2}(§E3.38 定理 1.1)は実対称行列であって(W1/2)TW1/2=W(W^{1/2})^{\mathsf T}W^{1/2}=Wを満たす。WWの Cholesky 因子LLについて(LT)TLT=W(L^{\mathsf T})^{\mathsf T}L^{\mathsf T}=Wである。W=diag⁡(w1,…,wm)W=\operatorname{diag}(w_1,\dots,w_m)ならば、wi>0w_i>0でありW1/2=diag⁡(w1,…,wm)W^{1/2}=\operatorname{diag}(\sqrt{w_1},\dots,\sqrt{w_m})である。
  2. C∈Rm×mC\in\R^{m\times m}がCTC=WC^{\mathsf T}C=Wを満たすならば、CCは正則であり、任意のx∈Rnx\in\R^nに対して(b−Ax)TW(b−Ax)=∥Cb−CAx∥22(b-Ax)^{\mathsf T}W(b-Ax)=\lVert Cb-CAx\rVert_2^2が成り立つ。
  3. AAの列が一次独立であるとし、C∈Rm×mC\in\R^{m\times m}がCTC=WC^{\mathsf T}C=Wを満たすとする。このときCACAの列は一次独立であり、Ax=bAx=bの重みWWに関する重み付き最小二乗解はただ一つ存在して、(CA)x=Cb(CA)x=Cbのただ一つの最小二乗解(ATWA)−1ATWb(A^{\mathsf T}WA)^{-1}A^{\mathsf T}Wbに等しい。

証明.WWは実対称であり、任意のxxに対してxTWx≥0x^{\mathsf T}Wx\ge0であるから、標準内積に関する正作用素である。§E3.38 定理 1.1により正作用素W1/2W^{1/2}が存在して(W1/2)2=W(W^{1/2})^2=Wであり、正作用素は自己随伴であるからW1/2W^{1/2}は実対称行列であって(W1/2)TW1/2=W(W^{1/2})^{\mathsf T}W^{1/2}=Wである。§E20.5 定理 5.2 (3)によりW=LLTW=LL^{\mathsf T}である。WWが対角行列ならばwi=eiTWei>0w_i=e_i^{\mathsf T}We_i>0であり、diag⁡(wi)\operatorname{diag}(\sqrt{w_i})は正作用素であってその二乗はWWであるから、§E3.38 定理 1.1の一意性によりW1/2W^{1/2}に等しい。これで(1)は示された。

CTC=WC^{\mathsf T}C=Wとする。Cx=0Cx=0ならばxTWx=∥Cx∥22=0x^{\mathsf T}Wx=\lVert Cx\rVert_2^2=0であり、WWは正定値であるからx=0x=0である。したがってCCは正則である。(b−Ax)TCTC(b−Ax)=∥C(b−Ax)∥22(b-Ax)^{\mathsf T}C^{\mathsf T}C(b-Ax)=\lVert C(b-Ax)\rVert_2^2である。これで(2)は示された。

(3)の仮定の下で、CAh=0CAh=0ならばCCの正則性からAh=0Ah=0であり、h=0h=0である。(2)により、xxが重み付き最小二乗解であることと、xxが(CA)x=Cb(CA)x=Cbの最小二乗解であることは同値である。命題 1.2 (2)をCACAとCbCbに適用すると、最小二乗解はただ一つであり、(CA)TCA=ATWA(CA)^{\mathsf T}CA=A^{\mathsf T}WA、(CA)TCb=ATWb(CA)^{\mathsf T}Cb=A^{\mathsf T}Wbから、それは(ATWA)−1ATWb(A^{\mathsf T}WA)^{-1}A^{\mathsf T}Wbである。▨

例 5.3. 直線y=x1+x2ty=x_1+x_2tを四つの観測(ti,yi)=(0,1),(1,2),(2,4),(3,3)(t_i,y_i)=(0,1),(1,2),(2,4),(3,3)に当てはめる。第11群(t=0,1t=0,1)の測定の標準偏差を0.10.1、第22群(t=2,3t=2,3)の標準偏差を11とし、重みを標準偏差の二乗の逆数W:=diag⁡(100,100,1,1)W:=\operatorname{diag}(100,100,1,1)とする。AAの第ii行を(1,ti)(1,t_i)、b:=(1,2,4,3)b:=(1,2,4,3)とする。命題 5.2 (1)によりC:=W1/2=diag⁡(10,10,1,1)C:=W^{1/2}=\operatorname{diag}(10,10,1,1)であり、

CA=(10010101213),Cb=(102043)CA=\begin{pmatrix}10&0\\10&10\\1&2\\1&3\end{pmatrix},\qquad Cb=\begin{pmatrix}10\\20\\4\\3\end{pmatrix}

である。命題 5.2 (3)により、重み付き最小二乗解は(CA)x=Cb(CA)x=Cbの最小二乗解であり、Householder QR 法を(CA,Cb)(CA,Cb)に適用して計算することができる。その値はxW=(11906/11801, 11599/11801)≈(1.00890,0.98288)x_W=(11906/11801,\ 11599/11801)\approx(1.00890,0.98288)、残差は

b−AxW=111801(−105, 97, 12100, −11300)≈(−0.0089, 0.0082, 1.0253, −0.9575)b-Ax_W=\frac{1}{11801}(-105,\ 97,\ 12100,\ -11300)\approx(-0.0089,\ 0.0082,\ 1.0253,\ -0.9575)

である。重みなしの最小二乗解は(13/10,4/5)(13/10,4/5)、残差は(−0.3,−0.1,1.1,−0.7)(-0.3,-0.1,1.1,-0.7)である。C(b−AxW)≈(−0.089,0.082,1.025,−0.958)C(b-Ax_W)\approx(-0.089,0.082,1.025,-0.958)の各成分は残差を各観測の標準偏差で割った値であり、その絶対値は1.031.03以下である。

注意 5.4.例 5.3のようにW=diag⁡(w1,…,wm)W=\operatorname{diag}(w_1,\dots,w_m)とC=W1/2C=W^{1/2}で帰着した問題に定理 4.7を適用すると、計算値は(CA+ΔA′)x=Cb+Δb(CA+\Delta A')x=Cb+\Delta bの最小二乗解であり、ΔA′\Delta A'の第jj列はηm,n′∥CAej∥2\eta'_{m,n}\lVert CAe_j\rVert_2で抑えられる。CCは正則であるから、この問題は元の係数と右辺をA+C−1ΔA′A+C^{-1}\Delta A'、b+C−1Δbb+C^{-1}\Delta bに置き換えた重み付き問題と同じであり、元の(i,j)(i,j)成分の摂動は∣Δaij′∣/wi≤ηm,n′∥CAej∥2/wi|\Delta a'_{ij}|/\sqrt{w_i}\le\eta'_{m,n}\lVert CAe_j\rVert_2/\sqrt{w_i}でだけ抑えられる。

例 5.3の第11列では∥CAe1∥2=202\lVert CAe_1\rVert_2=\sqrt{202}であり、元の成分a11=a31=1a_{11}=a_{31}=1に許される摂動はそれぞれ202 ηm,n′/10≈1.42 ηm,n′\sqrt{202}\,\eta'_{m,n}/10\approx1.42\,\eta'_{m,n}と202 ηm,n′≈14.2 ηm,n′\sqrt{202}\,\eta'_{m,n}\approx14.2\,\eta'_{m,n}である。

aij≠0a_{ij}\ne0に対する相対的な摂動の上界ηm,n′∥CAej∥2/(wi∣aij∣)\eta'_{m,n}\lVert CAe_j\rVert_2/(\sqrt{w_i}|a_{ij}|)はηm,n′wk/wi ∣akj∣/∣aij∣\eta'_{m,n}\sqrt{w_k/w_i}\,|a_{kj}|/|a_{ij}|(k≠ik\ne i)以上であり、akj≠0a_{kj}\ne0である行kkの重みwkw_kをwiw_iに比べて大きくするとηm,n′\eta'_{m,n}に対する比が際限なく大きくなるので、元の各成分の相対後退誤差について、重みと成分の比によらないηm,n′\eta'_{m,n}の定数倍の評価は、定理 4.7の列ごとの評価からは得られない。

6 最小二乗解の感度

定理 6.1.m≥nm\ge nとし、A∈Rm×nA\in\R^{m\times n}の列が一次独立であるとする。σ1:=σ1(A)\sigma_1:=\sigma_1(A)、σn:=σn(A)\sigma_n:=\sigma_n(A)、G:=ATAG:=A^{\mathsf T}Aと置き、b∈Rmb\in\R^m、xxをAx=bAx=bの最小二乗解、r:=b−Axr:=b-Axとする。ΔA∈Rm×n\Delta A\in\R^{m\times n}とΔb∈Rm\Delta b\in\R^mが∥ΔA∥2≤σn/2\lVert\Delta A\rVert_2\le\sigma_n/2を満たすとし、f:=Δb−ΔAxf:=\Delta b-\Delta Axと置く。

  1. A+ΔAA+\Delta Aの列は一次独立であり、(A+ΔA)T(A+ΔA)(A+\Delta A)^{\mathsf T}(A+\Delta A)の逆行列は∥((A+ΔA)T(A+ΔA))−1∥2≤4/σn2\lVert((A+\Delta A)^{\mathsf T}(A+\Delta A))^{-1}\rVert_2\le4/\sigma_n^2を満たす。
  2. (A+ΔA)x′=b+Δb(A+\Delta A)x'=b+\Delta bのただ一つの最小二乗解をx′x'とし、Δx:=x′−x\Delta x:=x'-xと置く。このとき Δx=G−1ATf+G−1(ΔA)Tr+ρ\Delta x=G^{-1}A^{\mathsf T}f+G^{-1}(\Delta A)^{\mathsf T}r+\rho であり、ρ∈Rn\rho\in\R^nは ∥ρ∥2≤4∥ΔA∥2σn2((2σ1+∥ΔA∥2)(∥f∥2σn+∥ΔA∥2∥r∥2σn2)+∥f∥2)\lVert\rho\rVert_2\le\frac{4\lVert\Delta A\rVert_2}{\sigma_n^2}\Bigl((2\sigma_1+\lVert\Delta A\rVert_2)\Bigl(\frac{\lVert f\rVert_2}{\sigma_n}+\frac{\lVert\Delta A\rVert_2\lVert r\rVert_2}{\sigma_n^2}\Bigr)+\lVert f\rVert_2\Bigr) を満たす。
  3. 一次の項L:=G−1ATf+G−1(ΔA)TrL:=G^{-1}A^{\mathsf T}f+G^{-1}(\Delta A)^{\mathsf T}rは∥L∥2≤∥f∥2/σn+∥ΔA∥2∥r∥2/σn2\lVert L\rVert_2\le\lVert f\rVert_2/\sigma_n+\lVert\Delta A\rVert_2\lVert r\rVert_2/\sigma_n^2を満たす。x≠0x\ne0ならば、κ:=κ2(A)\kappa:=\kappa_2(A)について ∥L∥2∥x∥2≤κ(∥Δb∥2σ1∥x∥2+∥ΔA∥2σ1)+κ2∥ΔA∥2σ1⋅∥r∥2σ1∥x∥2\frac{\lVert L\rVert_2}{\lVert x\rVert_2}\le\kappa\Bigl(\frac{\lVert\Delta b\rVert_2}{\sigma_1\lVert x\rVert_2}+\frac{\lVert\Delta A\rVert_2}{\sigma_1}\Bigr)+\kappa^2\frac{\lVert\Delta A\rVert_2}{\sigma_1}\cdot\frac{\lVert r\rVert_2}{\sigma_1\lVert x\rVert_2} が成り立つ。

証明.A′:=A+ΔAA':=A+\Delta A、G′:=A′TA′G':=A'^{\mathsf T}A'と置く。∥ΔA∥2≤σn/2<σn\lVert\Delta A\rVert_2\le\sigma_n/2<\sigma_nであるから、補題 2.1 (3)によりA′A'の列は一次独立であってσn(A′)≥σn/2\sigma_n(A')\ge\sigma_n/2であり、補題 2.1 (2)により∥G′−1∥2=σn(A′)−2≤4/σn2\lVert G'^{-1}\rVert_2=\sigma_n(A')^{-2}\le4/\sigma_n^2である。これで(1)は示された。

命題 1.2 条件 (c)によりATr=0A^{\mathsf T}r=0であり、G′x′=A′T(b+Δb)G'x'=A'^{\mathsf T}(b+\Delta b)である。b+Δb−A′x=r+fb+\Delta b-A'x=r+fであるから、

G′Δx=A′T(b+Δb)−G′x=A′T(r+f)=ATf+(ΔA)Tr+(ΔA)TfG'\Delta x=A'^{\mathsf T}(b+\Delta b)-G'x=A'^{\mathsf T}(r+f)=A^{\mathsf T}f+(\Delta A)^{\mathsf T}r+(\Delta A)^{\mathsf T}f

である。g:=ATf+(ΔA)Trg:=A^{\mathsf T}f+(\Delta A)^{\mathsf T}rと置くとL=G−1gL=G^{-1}gであり、G′−1−G−1=G′−1(G−G′)G−1G'^{-1}-G^{-1}=G'^{-1}(G-G')G^{-1}から

ρ:=Δx−L=G′−1(G−G′)G−1g+G′−1(ΔA)Tf\rho:=\Delta x-L=G'^{-1}(G-G')G^{-1}g+G'^{-1}(\Delta A)^{\mathsf T}f

である。G′−G=ATΔA+(ΔA)TA+(ΔA)TΔAG'-G=A^{\mathsf T}\Delta A+(\Delta A)^{\mathsf T}A+(\Delta A)^{\mathsf T}\Delta Aであり、補題 2.1 (1)により∥AT∥2=σ1\lVert A^{\mathsf T}\rVert_2=\sigma_1、∥(ΔA)T∥2=∥ΔA∥2\lVert(\Delta A)^{\mathsf T}\rVert_2=\lVert\Delta A\rVert_2であるから、∥G′−G∥2≤(2σ1+∥ΔA∥2)∥ΔA∥2\lVert G'-G\rVert_2\le(2\sigma_1+\lVert\Delta A\rVert_2)\lVert\Delta A\rVert_2である。補題 2.1 (2)により∥G−1AT∥2=1/σn\lVert G^{-1}A^{\mathsf T}\rVert_2=1/\sigma_n、∥G−1∥2=1/σn2\lVert G^{-1}\rVert_2=1/\sigma_n^2であるから、

∥L∥2≤∥f∥2σn+∥ΔA∥2∥r∥2σn2\lVert L\rVert_2\le\frac{\lVert f\rVert_2}{\sigma_n}+\frac{\lVert\Delta A\rVert_2\lVert r\rVert_2}{\sigma_n^2}

である。これらと∥G′−1∥2≤4/σn2\lVert G'^{-1}\rVert_2\le4/\sigma_n^2からρ\rhoの評価を得る。これで(2)は示された。

∥L∥2\lVert L\rVert_2の評価は上で得た。∥f∥2≤∥Δb∥2+∥ΔA∥2∥x∥2\lVert f\rVert_2\le\lVert\Delta b\rVert_2+\lVert\Delta A\rVert_2\lVert x\rVert_2を代入して∥x∥2\lVert x\rVert_2で割り、1/σn=κ/σ11/\sigma_n=\kappa/\sigma_1、1/σn2=κ2/σ121/\sigma_n^2=\kappa^2/\sigma_1^2を用いると(3)の第二の不等式を得る。▨

注意 6.2.m≥nm\ge nとし、A∈Rm×nA\in\R^{m\times n}の列が一次独立、b∈Rmb\in\R^m、xxをAx=bAx=bの最小二乗解、x≠0x\ne0、r:=b−Axr:=b-Ax、κ:=κ2(A)\kappa:=\kappa_2(A)、σ1:=σ1(A)\sigma_1:=\sigma_1(A)とする。

正規方程式を経由する場合:G:=ATAG:=A^{\mathsf T}Aは正則でありATb=Gx≠0A^{\mathsf T}b=Gx\ne0である。任意のx~∈Rn\tilde x\in\R^nに対して、§E20.5 命題 4.5を Euclid ノルムでGGとATbA^{\mathsf T}bに適用し、命題 2.3を用いると

∥x~−x∥2∥x∥2≤κ2∥ATb−Gx~∥2∥ATb∥2\frac{\lVert\tilde x-x\rVert_2}{\lVert x\rVert_2}\le\kappa^2\frac{\lVert A^{\mathsf T}b-G\tilde x\rVert_2}{\lVert A^{\mathsf T}b\rVert_2}

である。

Householder QR 法の場合:定理 4.7の仮定と記号の下で、∥Aej∥2≤σ1\lVert Ae_j\rVert_2\le\sigma_1から∥A∥F≤n σ1\lVert A\rVert_F\le\sqrt n\,\sigma_1であり、補題 2.1 (1)により∥ΔA′∥2≤∥ΔA′∥F≤ηm,n′n σ1\lVert\Delta A'\rVert_2\le\lVert\Delta A'\rVert_F\le\eta'_{m,n}\sqrt n\,\sigma_1である。ηm,n′n κ≤1/2\eta'_{m,n}\sqrt n\,\kappa\le1/2ならば∥ΔA′∥2≤σn(A)/2\lVert\Delta A'\rVert_2\le\sigma_n(A)/2であり、定理 6.1 (3)を(ΔA′,Δb)(\Delta A',\Delta b)に適用すると、x^−x\hat x-xの一次の項LLは

∥L∥2∥x∥2≤κ(ηm,n∥b∥2σ1∥x∥2+ηm,n′n)+κ2ηm,n′n ∥r∥2σ1∥x∥2\frac{\lVert L\rVert_2}{\lVert x\rVert_2}\le\kappa\Bigl(\eta_{m,n}\frac{\lVert b\rVert_2}{\sigma_1\lVert x\rVert_2}+\eta'_{m,n}\sqrt n\Bigr)+\kappa^2\eta'_{m,n}\sqrt n\,\frac{\lVert r\rVert_2}{\sigma_1\lVert x\rVert_2}

を満たす。r=0r=0ならば、この評価の後退誤差の係数はκ\kappaの定数倍であり、正規方程式の評価の係数はκ2\kappa^2である。

例 6.3.ε:=10−3\varepsilon:=10^{-3}、a1:=(1,1,1)a_1:=(1,1,1)、a2:=(1−ε,1,1+ε)a_2:=(1-\varepsilon,1,1+\varepsilon)とし、A:=(a1 a2)∈R3×2A:=(a_1\ a_2)\in\R^{3\times2}とする。ATA=(3333+2ε2)A^{\mathsf T}A=\begin{pmatrix}3&3\\3&3+2\varepsilon^2\end{pmatrix}であり、σ1(A)≈2.449\sigma_1(A)\approx2.449、σ2(A)≈9.9999992×10−4\sigma_2(A)\approx9.9999992\times10^{-4}、κ2(A)≈2.449×103\kappa_2(A)\approx2.449\times10^3である。

残差が00のモデル:b1:=A(1,1)=(2−ε,2,2+ε)b_1:=A(1,1)=(2-\varepsilon,2,2+\varepsilon)とする。Ax=b1Ax=b_1の最小二乗解はx=(1,1)x=(1,1)、残差は00である。Δb:=10−8(−1,0,1)\Delta b:=10^{-8}(-1,0,1)に対して、ΔA=0\Delta A=0の場合の定理 6.1 (2)のρ\rhoは00であり、AT(−1,0,1)=(0,2ε)A^{\mathsf T}(-1,0,1)=(0,2\varepsilon)からΔx=(ATA)−1ATΔb=(−10−5,10−5)\Delta x=(A^{\mathsf T}A)^{-1}A^{\mathsf T}\Delta b=(-10^{-5},10^{-5})である。∥Δb∥2/∥b1∥2≈4.1×10−9\lVert\Delta b\rVert_2/\lVert b_1\rVert_2\approx4.1\times10^{-9}の摂動に対して∥Δx∥2/∥x∥2=10−5\lVert\Delta x\rVert_2/\lVert x\rVert_2=10^{-5}である。残差の大きいモデル: 同じb1b_1に定数y=zy=zを当てはめる。係数行列はa1a_1であり、κ2(a1)=1\kappa_2(a_1)=1、最小二乗解はz=2z=2、残差は(−ε,0,ε)(-\varepsilon,0,\varepsilon)でノルムは2 ε≈1.41×10−3\sqrt2\,\varepsilon\approx1.41\times10^{-3}である。同じΔb\Delta bに対してa1TΔb=0a_1^{\mathsf T}\Delta b=0であるからΔz=0\Delta z=0であり、任意のΔb\Delta bに対して∣Δz∣=∣a1TΔb∣/3≤∥Δb∥2/3|\Delta z|=|a_1^{\mathsf T}\Delta b|/3\le\lVert\Delta b\rVert_2/\sqrt3である。

非零の残差:b2:=b1+(1,−2,1)b_2:=b_1+(1,-2,1)とする。(1,−2,1)(1,-2,1)はa1a_1とa2a_2に直交するから、Ax=b2Ax=b_2の最小二乗解はx=(1,1)x=(1,1)、残差はr=(1,−2,1)r=(1,-2,1)である。δ:=10−8\delta:=10^{-8}とし、ΔA\Delta Aの第11列を00、第22列をδ(1,−2,1)\delta(1,-2,1)とすると、∥ΔA∥2=6 δ≤σ2(A)/2\lVert\Delta A\rVert_2=\sqrt6\,\delta\le\sigma_2(A)/2である。f=−ΔAx=−δ(1,−2,1)f=-\Delta Ax=-\delta(1,-2,1)はAAの列に直交するからATf=0A^{\mathsf T}f=0であり、定理 6.1 (2)の一次の項は(ATA)−1(ΔA)Tr=(ATA)−1(0,6δ)=(3δ/ε2)(−1,1)=(−0.03,0.03)(A^{\mathsf T}A)^{-1}(\Delta A)^{\mathsf T}r=(A^{\mathsf T}A)^{-1}(0,6\delta)=(3\delta/\varepsilon^2)(-1,1)=(-0.03,0.03)である。有理数で計算した厳密な変化は

Δx=29999999710000000003(−1,1)≈(−0.029999999691, 0.029999999691)\Delta x=\frac{299999997}{10000000003}(-1,1)\approx(-0.029999999691,\ 0.029999999691)

である。同じΔA\Delta Aを残差00のb1b_1に対して加えると、一次の項は00であり、厳密な変化はΔx=310000000003(1,−1)≈(3.0×10−10,−3.0×10−10)\Delta x=\frac{3}{10000000003}(1,-1)\approx(3.0\times10^{-10},-3.0\times10^{-10})である。∥ΔA∥2/σ1(A)≈1.0×10−8\lVert\Delta A\rVert_2/\sigma_1(A)\approx1.0\times10^{-8}の摂動に対して、b2b_2では係数の相対変化が0.030.03であり、b1b_1では3.0×10−103.0\times10^{-10}である。

注意 6.4.m≥nm\ge nとし、A∈Rm×nA\in\R^{m\times n}の列が一次独立、b∈Rmb\in\R^m、D=diag⁡(d1,…,dn)D=\operatorname{diag}(d_1,\dots,d_n)を正則な対角行列とし、A~:=AD\tilde A:=ADと置く。A~z=A(Dz)\tilde Az=A(Dz)であるからA~\tilde Aの列空間はAAの列空間に等しく、A~\tilde Aの列は一次独立である。命題 1.2 条件 (a)により、zzがA~z=b\tilde Az=bの最小二乗解であることとx:=Dzx:=DzがAx=bAx=bの最小二乗解であることは同値であり、当てはめた値A~z=Ax\tilde Az=Axと残差は一致する。係数についてはxj=djzjx_j=d_jz_jであるから、成分ごとの相対変化∣Δxj∣/∣xj∣=∣Δzj∣/∣zj∣|\Delta x_j|/|x_j|=|\Delta z_j|/|z_j|(xj≠0x_j\ne0)は尺度によらないが、∥Δx∥2/∥x∥2\lVert\Delta x\rVert_2/\lVert x\rVert_2と∥Δz∥2/∥z∥2\lVert\Delta z\rVert_2/\lVert z\rVert_2(x≠0x\ne0)は一般に異なる。摂動については、AAの摂動EEはA~\tilde Aの摂動E~:=ED\tilde E:=EDに対応し、(A+E)x=b(A+E)x=bの最小二乗解は(A~+E~)z=b(\tilde A+\tilde E)z=bの最小二乗解のDD倍である。E~ej=djEej\tilde Ee_j=d_jEe_j、A~ej=djAej\tilde Ae_j=d_jAe_jであるから、列ごとの相対的な大きさ∥Eej∥2/∥Aej∥2\lVert Ee_j\rVert_2/\lVert Ae_j\rVert_2は尺度によらず、∥E∥2/∥A∥2\lVert E\rVert_2/\lVert A\rVert_2は一般に異なる。

説明変数の単位を変える例として、t=(1,2,3)t=(1,2,3)(単位は m)と1000t1000t(単位は mm)を考え、AAの第ii行を(1,1000ti)(1,1000t_i)、D:=diag⁡(1,10−3)D:=\operatorname{diag}(1,10^{-3})とすると、A~\tilde Aの第ii行は(1,ti)(1,t_i)である。κ2(A)≈5.72×103\kappa_2(A)\approx5.72\times10^3、κ2(A~)≈6.79\kappa_2(\tilde A)\approx6.79である。∥A∥2/∥Ae1∥2≈2.16×103\lVert A\rVert_2/\lVert Ae_1\rVert_2\approx2.16\times10^3であるから、∥E∥2≤ϵ∥A∥2\lVert E\rVert_2\le\epsilon\lVert A\rVert_2を満たす摂動EEは、第11列をそのノルムの2.16×103ϵ2.16\times10^3\epsilon倍まで動かしうる。定理 4.7 (2)のΔA′\Delta A'は列ごとに∥Δaj′∥2≤ηm,n′∥aj∥2\lVert\Delta a'_j\rVert_2\le\eta'_{m,n}\lVert a_j\rVert_2を満たすので、ΔA′D\Delta A'DはA~\tilde Aに対して同じ列ごとの評価を満たし、補題 2.1 (1)により∥ΔA′D∥2≤ηm,n′∥A~∥F\lVert\Delta A'D\rVert_2\le\eta'_{m,n}\lVert\tilde A\rVert_Fである。∥ΔA′D∥2≤σn(A~)/2\lVert\Delta A'D\rVert_2\le\sigma_n(\tilde A)/2ならば、摂動(ΔA′D,Δb)(\Delta A'D,\Delta b)に定理 6.1 (3)をA~\tilde Aとκ2(A~)\kappa_2(\tilde A)で適用してΔz\Delta zを評価し、Δx=DΔz\Delta x=D\Delta zにより、元の係数x1x_1(切片)とx2=10−3z2x_2=10^{-3}z_2(mm あたりの傾き)の変化として報告することができる。

7 演習

問題 7.1.補題 4.2の証明を完成させよ。

解答.

0≤u<10\le u<1であるから0<1−u≤10<1-u\le1であり、BkB_kの元はすべて正である。

補題 4.2 (1)を示す。1−u≤1+δ≤1+u1-u\le1+\delta\le1+uであり、(1+u)(1−u)=1−u2≤1(1+u)(1-u)=1-u^2\le1から1+u≤(1−u)−11+u\le(1-u)^{-1}である。

補題 4.2 (2)を示す。(1−u)j≤a≤(1−u)−j(1-u)^j\le a\le(1-u)^{-j}と(1−u)k≤a′≤(1−u)−k(1-u)^k\le a'\le(1-u)^{-k}の辺々を掛けて(1−u)j+k≤aa′≤(1−u)−(j+k)(1-u)^{j+k}\le aa'\le(1-u)^{-(j+k)}である。正の数の逆数をとると不等号が反転するので(1−u)j≤a−1≤(1−u)−j(1-u)^j\le a^{-1}\le(1-u)^{-j}であり、⋅\sqrt{\cdot}は正の数の上で単調増加であるから(1−u)j/2≤a≤(1−u)−j/2(1-u)^{j/2}\le\sqrt a\le(1-u)^{-j/2}である。0<1−u≤10<1-u\le1とj≤kj\le kから(1−u)k≤(1−u)j(1-u)^k\le(1-u)^j、(1−u)−j≤(1−u)−k(1-u)^{-j}\le(1-u)^{-k}であり、Bj⊂BkB_j\subset B_kである。

補題 4.2 (3)を示す。Λ:=∑iλi>0\Lambda:=\sum_i\lambda_i>0と置くと、λi≥0\lambda_i\ge0と(1−u)k≤ai≤(1−u)−k(1-u)^k\le a_i\le(1-u)^{-k}からΛ(1−u)k≤∑iλiai≤Λ(1−u)−k\Lambda(1-u)^k\le\sum_i\lambda_ia_i\le\Lambda(1-u)^{-k}であり、Λ\Lambdaで割って主張を得る。

補題 4.2 (4)を示す。§E20.1 補題 4.1をδ1=⋯=δk=−u\delta_1=\dots=\delta_k=-uとε1=⋯=εk=1\varepsilon_1=\dots=\varepsilon_k=1に適用すると、(1−u)k=1+θ(1-u)^k=1+\theta、∣θ∣≤γk|\theta|\le\gamma_kであるから(1−u)k≥1−γk(1-u)^k\ge1-\gamma_kである。ε1=⋯=εk=−1\varepsilon_1=\dots=\varepsilon_k=-1に適用すると、(1−u)−k=1+θ′(1-u)^{-k}=1+\theta'、∣θ′∣≤γk|\theta'|\le\gamma_kであるから(1−u)−k≤1+γk(1-u)^{-k}\le1+\gamma_kである。したがってa∈Bka\in B_kならば1−γk≤a≤1+γk1-\gamma_k\le a\le1+\gamma_kである。▨

前提記事