§E20.8QR 法による固有値計算

最終更新

実対称行列は直交行列による相似変換で対角行列に移すことができ、対角行列の固有値は対角成分である。直交相似変換は特性多項式を変えないので、行列に直交相似変換を繰り返して非対角成分を小さくすることができれば、対角成分を固有値の近似として読み取ることができる。QR 法は、A0:=AA_0:=Aから、実数σk\sigma_kについてAk−σkI=QkRkA_k-\sigma_kI=Q_kR_kと QR 分解しAk+1:=RkQk+σkIA_{k+1}:=R_kQ_k+\sigma_kIと置く反復であり、各段は直交行列QkQ_kによる相似変換Ak+1=QkTAkQkA_{k+1}=Q_k^{\mathsf T}A_kQ_kである。

ただし、この反復で非対角成分が小さくなり、対角成分が固有値に近づくかどうかは、行列とシフトの条件による。たとえばA=diag⁡(1,2)A=\operatorname{diag}(1,2)に対するシフトなしの QR 法では、すべてのkkでAk=AA_k=Aであり、(1,1)(1,1)成分は11のまま、絶対値が最大の固有値22に近づかない。これに対して、0<∣η∣<20<\lvert\eta\rvert<\sqrt2について非対角成分にη\etaを置いた(1ηη2)\begin{pmatrix}1&\eta\\\eta&2\end{pmatrix}では、シフトなしの QR 法の(1,1)(1,1)成分は大きい方の固有値に収束する。

実対称行列に対する固定シフトの QR 法は、シフト後の固有値と固有ベクトルに関する条件の下で、非対角成分が00に、各対角成分が固有値に収束する。対称な三重対角行列に対する QR 法の反復の途中で、ある副対角成分が小さくなったとき、その成分とそれに対称な位置の成分を00に置き換えると、行列は二つの対角ブロックに分かれる。置き換える前の行列の固有値と、二つのブロックの固有値を合わせた列との差は、置き換えた成分の大きさで評価される。

本記事では、QR 法の定義と費用、固定シフトでの収束、およびデフレーションの誤差について解説する。

1 QR 法

定義 1.1.n∈N≥1n\in\NNとし、A∈Rn×nA\in\R^{n\times n}とする。

  1. A0:=AA_0:=Aと置く。k≥0k\ge0についてAkA_kが定まり、実数σk\sigma_kについてAk−σkIA_k-\sigma_kIが正則であるとき、§D3.17 定理 1.2によるAk−σkIA_k-\sigma_kIの QR 分解Ak−σkI=QkRkA_k-\sigma_kI=Q_kR_k(QkQ_kは直交行列、RkR_kは対角成分がすべて正の上三角行列)をとり、Ak+1:=RkQk+σkIA_{k+1}:=R_kQ_k+\sigma_kIと置く。こうして定まる列(Ak)(A_k)を、AAに対するシフト(σk)(\sigma_k)の QR 法 (QR algorithm) という。すべてのkkでσk=0\sigma_k=0であるものを シフトなしの QR 法 (unshifted QR algorithm) という。実数σ\sigmaについてすべてのkkでσk=σ\sigma_k=\sigmaであるとき、σ\sigmaを 固定シフト (fixed shift) という。
  2. i>j+1i>j+1を満たすすべての(i,j)(i,j)について(i,j)(i,j)成分が00であるnn次正方行列を 上 Hessenberg 行列 (upper Hessenberg matrix) という。上 Hessenberg 行列HHの(j+1,j)(j+1,j)成分(1≤j≤n−11\le j\le n-1)がすべて00でないとき、HHは 非簡約 (unreduced) であるという。

命題 1.2.n∈N≥1n\in\NN、A∈Rn×nA\in\R^{n\times n}とし、(Ak)(A_k)をAAに対するシフト(σk)(\sigma_k)の QR 法とする。AkA_kが定まるk≥0k\ge0についてPk:=Q0Q1⋯Qk−1P_k:=Q_0Q_1\cdots Q_{k-1}(P0:=IP_0:=I)と置く。

  1. AkA_kが定まる任意のkkについて、PkP_kは直交行列であり、Ak=PkTAPkA_k=P_k^{\mathsf T}AP_k、det⁡(tI−Ak)=det⁡(tI−A)\det(tI-A_k)=\det(tI-A)が成り立つ。さらにAk−σkIA_k-\sigma_kIが正則でありAk+1A_{k+1}が定まるならば、Ak+1=QkTAkQkA_{k+1}=Q_k^{\mathsf T}A_kQ_kである。
  2. AT=AA^{\mathsf T}=Aならば、AkA_kが定まる任意のkkについてAkT=AkA_k^{\mathsf T}=A_kである。
  3. AAが上 Hessenberg 行列ならば、AkA_kが定まる任意のkkについてAkA_kは上 Hessenberg 行列である。AAが対称な上 Hessenberg 行列ならば、AkA_kが定まる任意のkkについてAkA_kは三重対角行列(∣i−j∣>1\lvert i-j\rvert>1を満たすすべての(i,j)(i,j)成分が00の正方行列)である。
  4. すべてのk≥0k\ge0についてAkA_kが定まり、det⁡(tI−A)\det(tI-A)が実数でない根をもつならば、(Ak)(A_k)が成分ごとに収束してその極限が上三角行列になることはない。

証明.(1)を示す。Ak−σkIA_k-\sigma_kIが正則でありAk+1A_{k+1}が定まるとする。QkQ_kは直交行列であるからRk=QkT(Ak−σkI)R_k=Q_k^{\mathsf T}(A_k-\sigma_kI)であり、

Ak+1=QkT(Ak−σkI)Qk+σkI=QkTAkQkA_{k+1}=Q_k^{\mathsf T}(A_k-\sigma_kI)Q_k+\sigma_kI=Q_k^{\mathsf T}A_kQ_k

である。A0=P0TAP0A_0=P_0^{\mathsf T}AP_0であり、Ak=PkTAPkA_k=P_k^{\mathsf T}AP_kならばAk+1=QkTPkTAPkQk=Pk+1TAPk+1A_{k+1}=Q_k^{\mathsf T}P_k^{\mathsf T}AP_kQ_k=P_{k+1}^{\mathsf T}AP_{k+1}であるから、kkに関する帰納法によりAk=PkTAPkA_k=P_k^{\mathsf T}AP_kである。直交行列の積PkP_kは直交行列であり、det⁡(tI−Ak)=det⁡(PkT(tI−A)Pk)=det⁡(tI−A)\det(tI-A_k)=\det\bigl(P_k^{\mathsf T}(tI-A)P_k\bigr)=\det(tI-A)である。

(2)を示す。(1)によりAkT=PkTATPk=PkTAPk=AkA_k^{\mathsf T}=P_k^{\mathsf T}A^{\mathsf T}P_k=P_k^{\mathsf T}AP_k=A_kである。

(3)を示す。HHを上 Hessenberg 行列、UUを上三角行列とする。(HU)ij=∑lhilulj(HU)_{ij}=\sum_lh_{il}u_{lj}の項が00でないためにはl≥i−1l\ge i-1かつl≤jl\le jが必要であり、(UH)ij=∑luilhlj(UH)_{ij}=\sum_lu_{il}h_{lj}の項が00でないためにはl≥il\ge iかつl≤j+1l\le j+1が必要であるから、i>j+1i>j+1ならば(HU)ij=(UH)ij=0(HU)_{ij}=(UH)_{ij}=0である。したがってHUHUとUHUHは上 Hessenberg 行列である。AkA_kが上 Hessenberg 行列であり、Ak+1A_{k+1}が定まるとする。Ak−σkIA_k-\sigma_kIは上 Hessenberg 行列であり、RkR_kは正則な上三角行列であるからRk−1R_k^{-1}も上三角行列であって、Qk=(Ak−σkI)Rk−1Q_k=(A_k-\sigma_kI)R_k^{-1}は上 Hessenberg 行列である。したがってRkQkR_kQ_kとAk+1=RkQk+σkIA_{k+1}=R_kQ_k+\sigma_kIは上 Hessenberg 行列であり、kkに関する帰納法により前半が従う。AAが対称な上 Hessenberg 行列ならば、(2)によりAkA_kは対称な上 Hessenberg 行列であり、i>j+1i>j+1ならば(Ak)ij=0(A_k)_{ij}=0かつ(Ak)ji=(Ak)ij=0(A_k)_{ji}=(A_k)_{ij}=0である。

(4)を示す。(Ak)(A_k)が上三角行列TTに成分ごとに収束すると仮定する。AkA_kは実行列であるからTTも実行列である。det⁡(tI−X)\det(tI-X)の各係数はXXの成分の多項式であり、成分について連続であるから、(1)によりdet⁡(tI−T)\det(tI-T)の各係数はdet⁡(tI−A)\det(tI-A)の対応する係数に等しい。TTは実上三角行列であるからdet⁡(tI−T)=∏i(t−tii)\det(tI-T)=\prod_i(t-t_{ii})の根t11,…,tnnt_{11},\dots,t_{nn}はすべて実数である。一方、det⁡(tI−T)=det⁡(tI−A)\det(tI-T)=\det(tI-A)は実数でない根をもつ。二つは両立しない。▨

2 三重対角化と一段の費用

定理 2.1.n∈N≥1n\in\NN、A∈Rn×nA\in\R^{n\times n}とする。単位行列であるか、Householder 反射HvH_v(§E20.6 定義 3.1)を用いてdiag⁡(Ik,Hv)\operatorname{diag}(I_k,H_v)の形に書かれるかのいずれかである高々max⁡{n−2,0}\max\{n-2,0\}個の直交行列の積PPが存在して、PTAPP^{\mathsf T}APは上 Hessenberg 行列である。AT=AA^{\mathsf T}=Aならば、このPPについてPTAPP^{\mathsf T}APは三重対角行列である。

証明.n≤2n\le2ならばAAは上 Hessenberg 行列であり、00個の直交行列の積P:=IP:=Iをとる。n≥3n\ge3とし、B(0):=AB^{(0)}:=Aと置く。1≤k≤n−21\le k\le n-2について、B(k−1)B^{(k-1)}が定まり、その(i,j)(i,j)成分はj≤k−1j\le k-1かつi>j+1i>j+1ならば00であるとする。B(k−1)B^{(k-1)}の第kk列の第k+1k+1成分から第nn成分を並べたベクトルをx∈Rn−kx\in\R^{n-k}とする。x=0x=0ならばHk:=InH_k:=I_nと置き、x≠0x\ne0ならば§E20.6 補題 3.2 (2)のv∈Rn−kv\in\R^{n-k}についてHk:=diag⁡(Ik,Hv)H_k:=\operatorname{diag}(I_k,H_v)と置く。B(k):=HkB(k−1)HkB^{(k)}:=H_kB^{(k-1)}H_kとする。§E20.6 補題 3.2 (1)によりHkH_kは対称な直交行列である。

x=0x=0ならばB(k)=B(k−1)B^{(k)}=B^{(k-1)}であり、その第kk列の第k+2k+2成分から第nn成分は00である。x≠0x\ne0とする。HkB(k−1)H_kB^{(k-1)}は、B(k−1)B^{(k-1)}の第11行から第kk行を変えず、各列の第k+1k+1成分から第nn成分を並べたベクトルyyをHvyH_vyに置き換えた行列である。j<kj<kならばk+1>j+1k+1>j+1であるから、B(k−1)B^{(k-1)}の第jj列のyyは00であり、Hv0=0H_v0=0である。第kk列のyyはxxであり、§E20.6 補題 3.2 (2)によりHvx=−sαe1H_vx=-s\alpha e_1であるから、第k+2k+2成分から第nn成分は00になる。右からHkH_kを掛ける操作は第11列から第kk列を変えない。したがって、いずれの場合もB(k)B^{(k)}の(i,j)(i,j)成分はj≤kj\le kかつi>j+1i>j+1ならば00である。

kkに関する帰納法により、B(n−2)B^{(n-2)}の(i,j)(i,j)成分はj≤n−2j\le n-2かつi>j+1i>j+1ならば00である。j≥n−1j\ge n-1ならばi>j+1i>j+1を満たすi≤ni\le nは存在しないので、B(n−2)B^{(n-2)}は上 Hessenberg 行列である。P:=H1⋯Hn−2P:=H_1\cdots H_{n-2}と置くと、HkT=HkH_k^{\mathsf T}=H_kであるからB(n−2)=PTAPB^{(n-2)}=P^{\mathsf T}APである。AT=AA^{\mathsf T}=AならばPTAPP^{\mathsf T}APは対称な上 Hessenberg 行列であり、i>j+1i>j+1ならば(i,j)(i,j)成分と(j,i)(j,i)成分が00であるから、三重対角行列である。▨

定義 2.2.n≥2n\ge2、1≤j≤n−11\le j\le n-1とし、c,s∈Rc,s\in\Rはc2+s2=1c^2+s^2=1を満たすとする。nn次単位行列の(j,j)(j,j)、(j,j+1)(j,j+1)、(j+1,j)(j+1,j)、(j+1,j+1)(j+1,j+1)成分をそれぞれcc、−s-s、ss、ccに置き換えた行列G(j;c,s)G(j;c,s)を Givens 回転 (Givens rotation) という。c2+s2=1c^2+s^2=1であるからG(j;c,s)TG(j;c,s)=IG(j;c,s)^{\mathsf T}G(j;c,s)=Iであり、G(j;c,s)G(j;c,s)は直交行列である。

命題 2.3.n≥2n\ge2とし、H∈Rn×nH\in\R^{n\times n}を正則な上 Hessenberg 行列とする。W(0):=HW^{(0)}:=Hと置き、j=1,…,n−1j=1,\dots,n-1の順に、W(j−1)W^{(j-1)}の(j,j)(j,j)成分aaと(j+1,j)(j+1,j)成分bbから

rj:=a2+b2,cj:=arj,sj:=brj,Gj:=G(j;cj,sj),W(j):=GjTW(j−1)r_j:=\sqrt{a^2+b^2},\qquad c_j:=\frac{a}{r_j},\qquad s_j:=\frac{b}{r_j},\qquad G_j:=G(j;c_j,s_j),\qquad W^{(j)}:=G_j^{\mathsf T}W^{(j-1)}

と置く。

  1. 各jjでrj>0r_j>0である。W(n−1)W^{(n-1)}は上三角行列であり、その(j,j)(j,j)成分はrjr_j(1≤j≤n−11\le j\le n-1)であり、(n,n)(n,n)成分wwは00でない。
  2. w>0w>0ならばS:=IS:=I、w<0w<0ならばS:=diag⁡(1,…,1,−1)S:=\operatorname{diag}(1,\dots,1,-1)と置く。Q:=G1⋯Gn−1SQ:=G_1\cdots G_{n-1}SとR:=SW(n−1)R:=SW^{(n-1)}について、H=QRH=QRはHHの QR 分解であり、RQ=SW(n−1)G1⋯Gn−1SRQ=SW^{(n-1)}G_1\cdots G_{n-1}Sは上 Hessenberg 行列である。
  3. X(0):=RX^{(0)}:=R、X(j):=X(j−1)GjX^{(j)}:=X^{(j-1)}G_j(1≤j≤n−11\le j\le n-1)と置く。W(j)W^{(j)}はW(j−1)W^{(j-1)}と第jj行・第j+1j+1行の第jj列から第nn列の成分だけが異なり、W(j)W^{(j)}の(j,j)(j,j)成分はrjr_j、(j+1,j)(j+1,j)成分は00である。X(j)X^{(j)}はX(j−1)X^{(j-1)}と第11行から第j+1j+1行の第jj列・第j+1j+1列の成分だけが異なり、X(j−1)X^{(j-1)}の(j+1,j)(j+1,j)成分は00である。したがって、rj,cj,sjr_j,c_j,s_jをa2a^2、b2b^2、その和、平方根、二つの商で計算し、W(j)W^{(j)}の第j+1j+1列から第nn列の第jj行・第j+1j+1行の成分と、X(j)X^{(j)}の第11行から第jj行の第jj列・第j+1j+1列の成分を、変更前の二成分(x,y)(x,y)からcjx+sjyc_jx+s_jyとcjy−sjxc_jy-s_jxとして計算し、X(j)X^{(j)}の第j+1j+1行の第jj列・第j+1j+1列の成分を、変更前の(j+1,j+1)(j+1,j+1)成分yyからsjys_jyとcjyc_jyとして計算し、RRとRQ=X(n−1)SRQ=X^{(n-1)}Sを符号の反転で得ると、cj,sjc_j,s_j(1≤j≤n−11\le j\le n-1)、RR、RQRQは四則演算と平方根を合わせて(n−1)(6n+8)(n-1)(6n+8)回で計算される。この回数は6(n−1)(n+3)6(n-1)(n+3)以下である。符号の反転は演算に数えない。

証明.GjTG_j^{\mathsf T}を左から掛ける操作は第jj行と第j+1j+1行だけを変え、各列のその二成分(x,y)(x,y)を(cjx+sjy, cjy−sjx)(c_jx+s_jy,\,c_jy-s_jx)に置き換える。GjG_jを右から掛ける操作は第jj列と第j+1j+1列だけを変え、各行のその二成分(x,y)(x,y)を(cjx+sjy, cjy−sjx)(c_jx+s_jy,\,c_jy-s_jx)に置き換える。

(1)を示す。1≤j≤n−11\le j\le n-1とし、W(j−1)W^{(j-1)}が上 Hessenberg 行列であり、i<ji<jについて(i+1,i)(i+1,i)成分が00であるとする(j=1j=1ではHHについての仮定である)。W(j−1)=Gj−1T⋯G1THW^{(j-1)}=G_{j-1}^{\mathsf T}\cdots G_1^{\mathsf T}Hは正則である。l<jl<jならばW(j−1)W^{(j-1)}の第ll列は第ll成分より下が00であり、第jj列は第j+1j+1成分より下が00である。a=b=0a=b=0ならば第11列から第jj列がspan⁡{e1,…,ej−1}\operatorname{span}\{e_1,\dots,e_{j-1}\}に含まれ、一次従属になるから、rj>0r_j>0である。第jj列の二成分(a,b)(a,b)は(cja+sjb, cjb−sja)=(rj,0)(c_ja+s_jb,\,c_jb-s_ja)=(r_j,0)に置き換わる。l<jl<jならば、W(j−1)W^{(j-1)}の(j,l)(j,l)成分はl=j−1l=j-1のとき仮定により00、l<j−1l<j-1のとき上 Hessenberg 行列であることにより00であり、(j+1,l)(j+1,l)成分も00であるから、第ll列は変わらない。l>jl>jならば、第jj行・第j+1j+1行の(i,l)(i,l)成分はi≤l+1i\le l+1を満たす。したがってW(j)W^{(j)}は上 Hessenberg 行列であり、i≤ji\le jについて(i+1,i)(i+1,i)成分が00である。jjに関する帰納法により、W(n−1)W^{(n-1)}は上三角行列である。Gj′TG_{j'}^{\mathsf T}(j′>jj'>j)は第jj行を変えないので、W(n−1)W^{(n-1)}の(j,j)(j,j)成分はrjr_jである。W(n−1)W^{(n-1)}は正則な上三角行列であるからw≠0w\ne0である。

(2)を示す。S2=IS^2=IであるからQR=G1⋯Gn−1W(n−1)=G1⋯Gn−1Gn−1T⋯G1TH=HQR=G_1\cdots G_{n-1}W^{(n-1)}=G_1\cdots G_{n-1}G_{n-1}^{\mathsf T}\cdots G_1^{\mathsf T}H=Hである。QQは直交行列の積であるから直交行列であり、RRは対角成分r1,…,rn−1,∣w∣r_1,\dots,r_{n-1},\lvert w\rvertがすべて正の上三角行列であるから、H=QRH=QRはHHの QR 分解であり、§D3.17 定理 1.2によりただ一つの QR 分解である。命題 1.2 (3)をHHに対するシフトなしの QR 法に適用すると、A1=RQA_1=RQは上 Hessenberg 行列である。

(3)を示す。W(j)W^{(j)}についての主張は、第一段落で述べたGjTG_j^{\mathsf T}の作用と、W(j−1)W^{(j-1)}の第ll列(l<jl<j)が変わらないことから従う。X(j−1)X^{(j-1)}について、第jj列は第jj成分より下が00であり、第j+1j+1列はRRの第j+1j+1列に等しいと仮定する(j=1j=1ではX(0)=RX^{(0)}=Rについての主張である)。第j+1j+1行より下の行では第jj列・第j+1j+1列の二成分がともに00であり、GjG_jを右から掛けても変わらない。第j+1j+1行の二成分は(0,y)(0,y)であり、(sjy,cjy)(s_jy,c_jy)に置き換わる。新しい第j+1j+1列は第j+1j+1成分より下が00であり、第j+2j+2列はRRの第j+2j+2列のままであるから、仮定はj+1j+1について成り立つ。

演算を数える。段jjでrj,cj,sjr_j,c_j,s_jに66回を要する。W(j)W^{(j)}の第ll列(j<l≤nj<l\le n)の二成分に、乗算44回と加算・減算22回の66回を要し、合計6(n−j)6(n-j)回である。X(j)X^{(j)}の第11行から第jj行の二成分に各66回、第j+1j+1行の二成分に乗算22回を要し、合計6j+26j+2回である。SSによる符号の反転はW(n−1)W^{(n-1)}の第nn行とX(n−1)X^{(n-1)}の第nn列に対して行う。したがって総数は

∑j=1n−1(6+6(n−j)+6j+2)=(n−1)(6n+8)\sum_{j=1}^{n-1}\bigl(6+6(n-j)+6j+2\bigr)=(n-1)(6n+8)

であり、6n+8≤6n+18=6(n+3)6n+8\le6n+18=6(n+3)であるから6(n−1)(n+3)6(n-1)(n+3)以下である。▨

注意 2.4.n≥2n\ge2、A∈Rn×nA\in\R^{n\times n}とし、定理 2.1のPPによりH:=PTAPH:=P^{\mathsf T}APを一度計算する。HHに対するシフト(σk)(\sigma_k)の QR 法(Hk)(H_k)について、HkH_kが定まれば命題 1.2 (3)によりHkH_kは上 Hessenberg 行列であり、命題 1.2 (1)によりdet⁡(tI−Hk)=det⁡(tI−H)=det⁡(tI−A)\det(tI-H_k)=\det(tI-H)=\det(tI-A)である。Hk−σkIH_k-\sigma_kIが正則ならば、対角成分の減算nn回でHk−σkIH_k-\sigma_kIを作り、命題 2.3により(n−1)(6n+8)(n-1)(6n+8)回でRkQkR_kQ_kを計算し、対角成分の加算nn回でHk+1H_{k+1}を得る。一段の演算回数は(n−1)(6n+8)+2n(n-1)(6n+8)+2nであり、6(n−1)(n+3)+2n6(n-1)(n+3)+2n以下である。一般の正則なB∈Rn×nB\in\R^{n\times n}の QR 分解を Gram–Schmidt の直交化で計算すると、第jj列と既に得たj−1j-1本の正規直交ベクトルとの内積(各nn回の乗算とn−1n-1回の加算)だけで

∑j=1n(j−1)(2n−1)=n(n−1)(2n−1)2\sum_{j=1}^{n}(j-1)(2n-1)=\frac{n(n-1)(2n-1)}{2}

回の演算を要する。n=100n=100では、上 Hessenberg 行列の一段は6039260392回、Gram–Schmidt の直交化の内積は985050985050回である。

3 べき乗法との対応と固定シフトの収束

補題 3.1.n∈N≥1n\in\NN、A∈Rn×nA\in\R^{n\times n}とし、(Ak)(A_k)をAAに対するシフト(σk)(\sigma_k)の QR 法、PkP_kを命題 1.2の直交行列とする。k≥0k\ge0についてAkA_kが定まるとし、Uk:=Rk−1⋯R1R0U_k:=R_{k-1}\cdots R_1R_0、Φk:=(A−σk−1I)⋯(A−σ1I)(A−σ0I)\Phi_k:=(A-\sigma_{k-1}I)\cdots(A-\sigma_1I)(A-\sigma_0I)(U0:=Φ0:=IU_0:=\Phi_0:=I)と置く。

  1. UkU_kは対角成分がすべて正の上三角行列であり、Φk=PkUk\Phi_k=P_kU_kはΦk\Phi_kの QR 分解である。
  2. 1≤j≤n1\le j\le nについて、PkP_kの第11列から第jj列が張る部分空間はΦk(span⁡{e1,…,ej})\Phi_k(\operatorname{span}\{e_1,\dots,e_j\})に等しい。
  3. すべてのi<ki<kでσi=σ\sigma_i=\sigmaならば、PkP_kの第11列は、A−σIA-\sigma Iに対するe1e_1からのべき乗法(§E20.7 定義 1.1)の第kk項に等しい。

証明.(1)を示す。i<ki<kとするとAi+1A_{i+1}が定まるのでAi−σiI=QiRiA_i-\sigma_iI=Q_iR_iであり、命題 1.2 (1)によりA−σiI=Pi(Ai−σiI)PiT=PiQiRiPiTA-\sigma_iI=P_i(A_i-\sigma_iI)P_i^{\mathsf T}=P_iQ_iR_iP_i^{\mathsf T}、したがって(A−σiI)Pi=Pi+1Ri(A-\sigma_iI)P_i=P_{i+1}R_iである。Φ0=P0U0\Phi_0=P_0U_0であり、Φi=PiUi\Phi_i=P_iU_iならばΦi+1=(A−σiI)PiUi=Pi+1RiUi=Pi+1Ui+1\Phi_{i+1}=(A-\sigma_iI)P_iU_i=P_{i+1}R_iU_i=P_{i+1}U_{i+1}であるから、iiに関する帰納法によりΦk=PkUk\Phi_k=P_kU_kである。上三角行列の積は上三角行列であり、その対角成分は対角成分の積であるから、UkU_kは対角成分がすべて正の上三角行列である。PkP_kは直交行列であるから、Φk=PkUk\Phi_k=P_kU_kはΦk\Phi_kの QR 分解である。

(2)を示す。Ej:=(e1 ⋯ ej)∈Rn×jE_j:=(e_1\ \cdots\ e_j)\in\R^{n\times j}とし、PkP_kの第11列から第jj列からなる行列をP′P'、UkU_kの左上のj×jj\times j部分をU′U'とする。UkU_kは上三角行列であるからΦkEj=PkUkEj=P′U′\Phi_kE_j=P_kU_kE_j=P'U'であり、U′U'は正則であるから、P′P'の列空間とΦkEj\Phi_kE_jの列空間は等しい。

(3)を示す。B:=A−σIB:=A-\sigma Iと置く。k≥1k\ge1ならばA1A_1が定まるのでB=A0−σ0IB=A_0-\sigma_0Iは正則である。(yi)(y_i)をBBに対するe1e_1からのべき乗法とすると、y0=e1y_0=e_1であり、yi=Bie1/∥Bie1∥2y_i=B^ie_1/\lVert B^ie_1\rVert_2ならばByi≠0By_i\ne0、yi+1=Bi+1e1/∥Bi+1e1∥2y_{i+1}=B^{i+1}e_1/\lVert B^{i+1}e_1\rVert_2であるから、yk=Bke1/∥Bke1∥2y_k=B^ke_1/\lVert B^ke_1\rVert_2である。PkP_kの第11列ppは、(1)によりBke1=Φke1=(Uk)11pB^ke_1=\Phi_ke_1=(U_k)_{11}p、(Uk)11>0(U_k)_{11}>0、∥p∥2=1\lVert p\rVert_2=1を満たすので、p=ykp=y_kである。▨

補題 3.2.n≥2n\ge2、1≤j≤n−11\le j\le n-1とし、行列MMの∥M∥2\lVert M\rVert_2は Euclid ノルムに関する作用素ノルムとする。直交行列Z∈Rn×nZ\in\R^{n\times n}を

Z=(X1Y1X2Y2),X1∈Rj×j,Y2∈R(n−j)×(n−j)Z=\begin{pmatrix}X_1&Y_1\\X_2&Y_2\end{pmatrix},\qquad X_1\in\R^{j\times j},\quad Y_2\in\R^{(n-j)\times(n-j)}

と区分し、F∈R(n−j)×jF\in\R^{(n-j)\times j}がX2=FX1X_2=FX_1を満たすとする。

  1. X1X_1は正則であり、Y1=−FTY2Y_1=-F^{\mathsf T}Y_2、∥X2∥2≤∥F∥2\lVert X_2\rVert_2\le\lVert F\rVert_2、∥Y1∥2≤∥F∥2\lVert Y_1\rVert_2\le\lVert F\rVert_2が成り立つ。
  2. D1∈Rj×jD_1\in\R^{j\times j}、D2∈R(n−j)×(n−j)D_2\in\R^{(n-j)\times(n-j)}に対して (Y1Y2)T(D100D2)(X1X2)=Y2T(D2F−FD1)X1\begin{pmatrix}Y_1\\Y_2\end{pmatrix}^{\mathsf T}\begin{pmatrix}D_1&0\\0&D_2\end{pmatrix}\begin{pmatrix}X_1\\X_2\end{pmatrix}=Y_2^{\mathsf T}(D_2F-FD_1)X_1 が成り立ち、この行列の∥⋅∥2\lVert\cdot\rVert_2は(∥D1∥2+∥D2∥2)∥F∥2(\lVert D_1\rVert_2+\lVert D_2\rVert_2)\lVert F\rVert_2以下である。

証明. 実行列MMの∥M∥2\lVert M\rVert_2は§E20.6 補題 2.1 (1)により有限であり、作用素ノルムの定義により∥Mh∥2≤∥M∥2∥h∥2\lVert Mh\rVert_2\le\lVert M\rVert_2\lVert h\rVert_2を満たす。積MNMNが定まる行列M,NM,Nとベクトルhhについて∥MNh∥2≤∥M∥2∥N∥2∥h∥2\lVert MNh\rVert_2\le\lVert M\rVert_2\lVert N\rVert_2\lVert h\rVert_2であるから、∥MN∥2≤∥M∥2∥N∥2\lVert MN\rVert_2\le\lVert M\rVert_2\lVert N\rVert_2である。ZZの列は正規直交であるから、h∈Rjh\in\R^jについて∥X1h∥22≤∥X1h∥22+∥X2h∥22=∥h∥22\lVert X_1h\rVert_2^2\le\lVert X_1h\rVert_2^2+\lVert X_2h\rVert_2^2=\lVert h\rVert_2^2であり、∥X1∥2≤1\lVert X_1\rVert_2\le1である。同様に∥Y2∥2≤1\lVert Y_2\rVert_2\le1である。§E20.6 補題 2.1 (1)により、任意の実行列MMについて∥MT∥2=∥M∥2\lVert M^{\mathsf T}\rVert_2=\lVert M\rVert_2である。

(1)を示す。ZTZ=IZ^{\mathsf T}Z=Iの左上のj×jj\times j部分と右上のj×(n−j)j\times(n-j)部分から

X1TX1+X2TX2=Ij,X1TY1+X2TY2=0X_1^{\mathsf T}X_1+X_2^{\mathsf T}X_2=I_j,\qquad X_1^{\mathsf T}Y_1+X_2^{\mathsf T}Y_2=0

である。第一式にX2=FX1X_2=FX_1を代入するとX1T(Ij+FTF)X1=IjX_1^{\mathsf T}(I_j+F^{\mathsf T}F)X_1=I_jであり、X1X_1は正則である。第二式はX1T(Y1+FTY2)=0X_1^{\mathsf T}(Y_1+F^{\mathsf T}Y_2)=0となり、X1TX_1^{\mathsf T}は正則であるからY1=−FTY2Y_1=-F^{\mathsf T}Y_2である。したがって∥X2∥2≤∥F∥2∥X1∥2≤∥F∥2\lVert X_2\rVert_2\le\lVert F\rVert_2\lVert X_1\rVert_2\le\lVert F\rVert_2、∥Y1∥2≤∥FT∥2∥Y2∥2≤∥F∥2\lVert Y_1\rVert_2\le\lVert F^{\mathsf T}\rVert_2\lVert Y_2\rVert_2\le\lVert F\rVert_2である。

(2)を示す。左辺はY1TD1X1+Y2TD2X2Y_1^{\mathsf T}D_1X_1+Y_2^{\mathsf T}D_2X_2に等しく、(1)のY1T=−Y2TFY_1^{\mathsf T}=-Y_2^{\mathsf T}FとX2=FX1X_2=FX_1を代入して右辺を得る。∥Y2T∥2≤1\lVert Y_2^{\mathsf T}\rVert_2\le1、∥X1∥2≤1\lVert X_1\rVert_2\le1であるから、右辺の∥⋅∥2\lVert\cdot\rVert_2は∥D2F−FD1∥2≤(∥D2∥2+∥D1∥2)∥F∥2\lVert D_2F-FD_1\rVert_2\le(\lVert D_2\rVert_2+\lVert D_1\rVert_2)\lVert F\rVert_2以下である。▨

定理 3.3.n≥2n\ge2とし、A∈Rn×nA\in\R^{n\times n}はAT=AA^{\mathsf T}=Aを満たすとする。σ∈R\sigma\in\Rとし、直交行列V=(v1 ⋯ vn)V=(v_1\ \cdots\ v_n)と実数λ1,…,λn\lambda_1,\dots,\lambda_nがAvi=λiviAv_i=\lambda_iv_i(1≤i≤n1\le i\le n)と

∣λ1−σ∣>∣λ2−σ∣>⋯>∣λn−σ∣>0\lvert\lambda_1-\sigma\rvert>\lvert\lambda_2-\sigma\rvert>\dots>\lvert\lambda_n-\sigma\rvert>0

を満たすとする。1≤j≤n−11\le j\le n-1について、VTV^{\mathsf T}の第11行から第jj行・第11列から第jj列の部分をMj∈Rj×jM_j\in\R^{j\times j}、第j+1j+1行から第nn行・第11列から第jj列の部分をNj∈R(n−j)×jN_j\in\R^{(n-j)\times j}とし、MjM_jが正則であると仮定する。行列の∥⋅∥2\lVert\cdot\rVert_2は Euclid ノルムに関する作用素ノルムとし、1≤j≤n−11\le j\le n-1とk≥0k\ge0について

tj:=∥NjMj−1∥2,qj:=∣λj+1−σ∣∣λj−σ∣,εj,k:=tjqjkt_j:=\lVert N_jM_j^{-1}\rVert_2,\qquad q_j:=\frac{\lvert\lambda_{j+1}-\sigma\rvert}{\lvert\lambda_j-\sigma\rvert},\qquad\varepsilon_{j,k}:=t_jq_j^k

と置き、ε0,k:=εn,k:=0\varepsilon_{0,k}:=\varepsilon_{n,k}:=0とする。(Ak)(A_k)をAAに対する固定シフトσ\sigmaの QR 法とし、PkP_kを命題 1.2の直交行列とする。

  1. すべてのk≥0k\ge0についてAkA_kが定まり、Ak−σIA_k-\sigma Iは正則である。
  2. 1≤j≤n−11\le j\le n-1とk≥0k\ge0について、PkP_kの第11列から第jj列が張る部分空間の任意の単位ベクトルyyはdist⁡(y,span⁡{v1,…,vj})≤εj,k\operatorname{dist}(y,\operatorname{span}\{v_1,\dots,v_j\})\le\varepsilon_{j,k}を満たす。
  3. 1≤l≤j<i≤n1\le l\le j<i\le nとk≥0k\ge0について∣(Ak)il∣=∣(Ak)li∣≤2∣λ1−σ∣εj,k\lvert(A_k)_{il}\rvert=\lvert(A_k)_{li}\rvert\le2\lvert\lambda_1-\sigma\rvert\varepsilon_{j,k}が成り立つ。特に∣(Ak)j+1,j∣≤2∣λ1−σ∣tjqjk\lvert(A_k)_{j+1,j}\rvert\le2\lvert\lambda_1-\sigma\rvert t_jq_j^kであり、AkA_kの非対角成分はすべてk→∞k\to\inftyで00に収束する。
  4. 1≤j≤n1\le j\le nとk≥0k\ge0について、δj:=max⁡i∣λi−λj∣\delta_j:=\max_i\lvert\lambda_i-\lambda_j\rvertと置くと、∣(Ak)jj−λj∣≤δj(εj−1,k2+εj,k2)\lvert(A_k)_{jj}-\lambda_j\rvert\le\delta_j(\varepsilon_{j-1,k}^2+\varepsilon_{j,k}^2)が成り立つ。

証明.(1)を示す。∣λn−σ∣>0\lvert\lambda_n-\sigma\rvert>0であるから、λ1,…,λn\lambda_1,\dots,\lambda_nはいずれもσ\sigmaに等しくなく、A−σI=Vdiag⁡(λi−σ)VTA-\sigma I=V\operatorname{diag}(\lambda_i-\sigma)V^{\mathsf T}は正則である。AkA_kが定まるならば、命題 1.2 (1)によりAk−σI=PkT(A−σI)PkA_k-\sigma I=P_k^{\mathsf T}(A-\sigma I)P_kは正則であり、Ak+1A_{k+1}が定まる。kkに関する帰納法により(1)が従う。

Λ:=diag⁡(λ1−σ,…,λn−σ)\Lambda:=\operatorname{diag}(\lambda_1-\sigma,\dots,\lambda_n-\sigma)と置くと、AV=Vdiag⁡(λi)AV=V\operatorname{diag}(\lambda_i)からA−σI=VΛVTA-\sigma I=V\Lambda V^{\mathsf T}、VT(A−σI)k=ΛkVTV^{\mathsf T}(A-\sigma I)^k=\Lambda^kV^{\mathsf T}である。k≥0k\ge0についてZk:=VTPkZ_k:=V^{\mathsf T}P_kは直交行列である。

主張 3.3.1.1≤j≤n−11\le j\le n-1、k≥0k\ge0とし、ZkZ_kを補題 3.2のようにX1,X2,Y1,Y2X_1,X_2,Y_1,Y_2に区分し、Λ\Lambdaの左上のj×jj\times j部分をΛ1\Lambda_1、右下の(n−j)×(n−j)(n-j)\times(n-j)部分をΛ2\Lambda_2とする。F:=Λ2kNjMj−1Λ1−kF:=\Lambda_2^kN_jM_j^{-1}\Lambda_1^{-k}はX2=FX1X_2=FX_1と∥F∥2≤εj,k\lVert F\rVert_2\le\varepsilon_{j,k}を満たす。また∥Λ1∥2≤∣λ1−σ∣\lVert\Lambda_1\rVert_2\le\lvert\lambda_1-\sigma\rvert、∥Λ2∥2≤∣λ1−σ∣\lVert\Lambda_2\rVert_2\le\lvert\lambda_1-\sigma\rvertである。

証明.Ej:=(e1 ⋯ ej)E_j:=(e_1\ \cdots\ e_j)とし、PkP_kの第11列から第jj列からなる行列をP′P'、補題 3.1のUkU_kの左上のj×jj\times j部分をU′U'とする。固定シフトではΦk=(A−σI)k\Phi_k=(A-\sigma I)^kであり、補題 3.1 (1)とUkU_kが上三角行列であることから(A−σI)kEj=PkUkEj=P′U′(A-\sigma I)^kE_j=P_kU_kE_j=P'U'である。VTP′V^{\mathsf T}P'はX1X_1とX2X_2を縦に並べた行列であり、VTEjV^{\mathsf T}E_jはMjM_jとNjN_jを縦に並べた行列であるから、

(X1X2)U′=VT(A−σI)kEj=Λk(MjNj)\begin{pmatrix}X_1\\X_2\end{pmatrix}U'=V^{\mathsf T}(A-\sigma I)^kE_j=\Lambda^k\begin{pmatrix}M_j\\N_j\end{pmatrix}

である。U′U'は対角成分が正の上三角行列であるから正則であり、X1=Λ1kMjU′−1X_1=\Lambda_1^kM_jU'^{-1}、X2=Λ2kNjU′−1X_2=\Lambda_2^kN_jU'^{-1}である。Λ1\Lambda_1とMjM_jは正則であるからU′−1=Mj−1Λ1−kX1U'^{-1}=M_j^{-1}\Lambda_1^{-k}X_1であり、X2=FX1X_2=FX_1である。対角行列diag⁡(μ1,…,μm)\operatorname{diag}(\mu_1,\dots,\mu_m)とh∈Rmh\in\R^mについて∥diag⁡(μi)h∥22=∑iμi2hi2≤max⁡iμi2∥h∥22\lVert\operatorname{diag}(\mu_i)h\rVert_2^2=\sum_i\mu_i^2h_i^2\le\max_i\mu_i^2\lVert h\rVert_2^2である。∣λi−σ∣\lvert\lambda_i-\sigma\rvertはiiについて狭義に減少するから、∥Λ2k∥2≤∣λj+1−σ∣k\lVert\Lambda_2^k\rVert_2\le\lvert\lambda_{j+1}-\sigma\rvert^k、∥Λ1−k∥2≤∣λj−σ∣−k\lVert\Lambda_1^{-k}\rVert_2\le\lvert\lambda_j-\sigma\rvert^{-k}、∥Λ1∥2≤∣λ1−σ∣\lVert\Lambda_1\rVert_2\le\lvert\lambda_1-\sigma\rvert、∥Λ2∥2≤∣λ1−σ∣\lVert\Lambda_2\rVert_2\le\lvert\lambda_1-\sigma\rvertである。作用素ノルムの定義により、積が定まる行列M,NM,Nについて∥MN∥2≤∥M∥2∥N∥2\lVert MN\rVert_2\le\lVert M\rVert_2\lVert N\rVert_2であるから、

∥F∥2≤∣λj+1−σ∣k tj ∣λj−σ∣−k=εj,k\lVert F\rVert_2\le\lvert\lambda_{j+1}-\sigma\rvert^k\,t_j\,\lvert\lambda_j-\sigma\rvert^{-k}=\varepsilon_{j,k}

である。▨

(2)を示す。主張 3.3.1の区分をとる。PkP_kの第11列から第jj列は正規直交であるから、y=PkEjzy=P_kE_jz、∥z∥2=1\lVert z\rVert_2=1を満たすz∈Rjz\in\R^jがある。viTyv_i^{\mathsf T}yはVTyV^{\mathsf T}yの第ii成分であり、VTyV^{\mathsf T}yはX1zX_1zとX2zX_2zを縦に並べたベクトルである。§E20.7 補題 2.1 (2)をJ={1,…,j}J=\{1,\dots,j\}に適用し、補題 3.2 (1)と主張 3.3.1を用いると

dist⁡(y,span⁡{v1,…,vj})=∥X2z∥2≤∥X2∥2≤∥F∥2≤εj,k\operatorname{dist}(y,\operatorname{span}\{v_1,\dots,v_j\})=\lVert X_2z\rVert_2\le\lVert X_2\rVert_2\le\lVert F\rVert_2\le\varepsilon_{j,k}

である。

(3)を示す。主張 3.3.1の区分をとり、PkP_kの第11列から第jj列からなる行列をP′P'、第j+1j+1列から第nn列からなる行列をP′′P''とする。Ak=PkTAPkA_k=P_k^{\mathsf T}AP_k(命題 1.2 (1))の第j+1j+1行から第nn行・第11列から第jj列の部分をBBとすると、P′′TP′=0P''^{\mathsf T}P'=0であるから

B=P′′TAP′=P′′T(A−σI)P′=(VTP′′)T Λ (VTP′)B=P''^{\mathsf T}AP'=P''^{\mathsf T}(A-\sigma I)P'=(V^{\mathsf T}P'')^{\mathsf T}\,\Lambda\,(V^{\mathsf T}P')

である。VTP′V^{\mathsf T}P'はX1X_1とX2X_2を、VTP′′V^{\mathsf T}P''はY1Y_1とY2Y_2を縦に並べた行列であるから、補題 3.2 (2)をD1=Λ1D_1=\Lambda_1、D2=Λ2D_2=\Lambda_2に適用し、主張 3.3.1を用いて∥B∥2≤2∣λ1−σ∣εj,k\lVert B\rVert_2\le2\lvert\lambda_1-\sigma\rvert\varepsilon_{j,k}を得る。1≤l≤j<i≤n1\le l\le j<i\le nならば(Ak)il(A_k)_{il}はBBの(i−j,l)(i-j,l)成分であり、∣(Ak)il∣=∣ei−jTBel∣≤∥Bel∥2≤∥B∥2\lvert(A_k)_{il}\rvert=\lvert e_{i-j}^{\mathsf T}Be_l\rvert\le\lVert Be_l\rVert_2\le\lVert B\rVert_2である。命題 1.2 (2)により(Ak)li=(Ak)il(A_k)_{li}=(A_k)_{il}である。0≤qj<10\le q_j<1であるからεj,k→0\varepsilon_{j,k}\to0(k→∞k\to\infty)であり、i>li>lを満たす(i,l)(i,l)成分にj:=lj:=lとして評価を適用すると、非対角成分の収束が従う。

(4)を示す。p:=Pkejp:=P_ke_j、ci:=viTpc_i:=v_i^{\mathsf T}pと置く。命題 1.2 (1)により(Ak)jj=pTAp(A_k)_{jj}=p^{\mathsf T}Apである。j≤n−1j\le n-1ならば、主張 3.3.1のjjについての区分でppはPkEjP_kE_jの第jj列であるから、(cj+1,…,cn)T=X2ej(c_{j+1},\dots,c_n)^{\mathsf T}=X_2e_jであり、補題 3.2 (1)と主張 3.3.1により∑i>jci2≤∥X2∥22≤εj,k2\sum_{i>j}c_i^2\le\lVert X_2\rVert_2^2\le\varepsilon_{j,k}^2である。j≥2j\ge2ならば、主張 3.3.1のj−1j-1についての区分でppはPkP_kの第jj列から第nn列からなる行列の第11列であるから、(c1,…,cj−1)T=Y1e1(c_1,\dots,c_{j-1})^{\mathsf T}=Y_1e_1であり、補題 3.2 (1)と主張 3.3.1により∑i<jci2≤∥Y1∥22≤εj−1,k2\sum_{i<j}c_i^2\le\lVert Y_1\rVert_2^2\le\varepsilon_{j-1,k}^2である。λ1,…,λn\lambda_1,\dots,\lambda_nは相異なるので、番号を付け替えて§E20.7 命題 2.2 (1)をd=1d=1、λ=λj\lambda=\lambda_j、E=span⁡{vj}E=\operatorname{span}\{v_j\}に適用し、§E20.7 補題 2.1 (2)を用いると

∣(Ak)jj−λj∣≤δjdist⁡(p,span⁡{vj})2=δj∑i≠jci2≤δj(εj−1,k2+εj,k2)\lvert(A_k)_{jj}-\lambda_j\rvert\le\delta_j\operatorname{dist}(p,\operatorname{span}\{v_j\})^2=\delta_j\sum_{i\ne j}c_i^2\le\delta_j(\varepsilon_{j-1,k}^2+\varepsilon_{j,k}^2)

である。▨

命題 3.4.n≥2n\ge2とし、T∈Rn×nT\in\R^{n\times n}を対称な非簡約上 Hessenberg 行列とする。

  1. 0≤m≤n−10\le m\le n-1についてspan⁡{e1,Te1,…,Tme1}=span⁡{e1,…,em+1}\operatorname{span}\{e_1,Te_1,\dots,T^me_1\}=\operatorname{span}\{e_1,\dots,e_{m+1}\}である。
  2. det⁡(tI−T)\det(tI-T)の根はすべて単根である。
  3. λ∈R\lambda\in\Rとv∈Rn∖{0}v\in\R^n\setminus\{0\}がTv=λvTv=\lambda vを満たすならば、vTe1≠0v^{\mathsf T}e_1\ne0である。
  4. 直交行列V=(v1 ⋯ vn)V=(v_1\ \cdots\ v_n)と実数λ1,…,λn\lambda_1,\dots,\lambda_nがTvi=λiviTv_i=\lambda_iv_i(1≤i≤n1\le i\le n)を満たすならば、1≤j≤n1\le j\le nについてVTV^{\mathsf T}の第11行から第jj行・第11列から第jj列の部分は正則である。

証明.(1)を示す。τ0:=1\tau_0:=1、τm:=t21t32⋯tm+1,m\tau_m:=t_{21}t_{32}\cdots t_{m+1,m}(m≥1m\ge1)と置くと、TTは非簡約であるからτm≠0\tau_m\ne0である。x∈span⁡{e1,…,em+1}x\in\operatorname{span}\{e_1,\dots,e_{m+1}\}(m≤n−2m\le n-2)ならば、TTは上 Hessenberg 行列であるからTx∈span⁡{e1,…,em+2}Tx\in\operatorname{span}\{e_1,\dots,e_{m+2}\}であり、TxTxの第m+2m+2成分はtm+2,m+1xm+1t_{m+2,m+1}x_{m+1}である。mmに関する帰納法により、Tme1∈span⁡{e1,…,em+1}T^me_1\in\operatorname{span}\{e_1,\dots,e_{m+1}\}であり、その第m+1m+1成分はτm\tau_mである。したがってe1,Te1,…,Tme1e_1,Te_1,\dots,T^me_1は一次独立であり、span⁡{e1,…,em+1}\operatorname{span}\{e_1,\dots,e_{m+1}\}に含まれるので、span⁡{e1,…,em+1}\operatorname{span}\{e_1,\dots,e_{m+1}\}を張る。

(2)を示す。λ\lambdaをdet⁡(tI−T)\det(tI-T)の根とする。T−λIT-\lambda Iの第22行から第nn行・第11列から第n−1n-1列の部分は、(i,l)(i,l)成分(1≤i,l≤n−11\le i,l\le n-1)がT−λIT-\lambda Iの(i+1,l)(i+1,l)成分であり、i>li>lならばi+1>l+1i+1>l+1であるから00、i=li=lならばti+1,i≠0t_{i+1,i}\ne0である。この部分は正則な上三角行列であるから、T−λIT-\lambda Iの階数はn−1n-1以上であり、dim⁡ker⁡(T−λI)≤1\dim\ker(T-\lambda I)\le1である。§E20.7 補題 2.1 (3)の正規直交基底q1,…,qnq_1,\dots,q_nと実数λ1′≤⋯≤λn′\lambda'_1\le\dots\le\lambda'_nをとると、§E20.7 補題 2.1 (1)により∥(T−λI)y∥22=∑i(λi′−λ)2(qiTy)2\lVert(T-\lambda I)y\rVert_2^2=\sum_i(\lambda'_i-\lambda)^2(q_i^{\mathsf T}y)^2であるから、ker⁡(T−λI)=span⁡{qi∣λi′=λ}\ker(T-\lambda I)=\operatorname{span}\{q_i\mid\lambda'_i=\lambda\}である。det⁡(tI−T)=∏i(t−λi′)\det(tI-T)=\prod_i(t-\lambda'_i)におけるλ\lambdaの重複度はλi′=λ\lambda'_i=\lambdaを満たすiiの個数であり、dim⁡ker⁡(T−λI)≤1\dim\ker(T-\lambda I)\le1に等しい。

(3)を示す。vTe1=0v^{\mathsf T}e_1=0と仮定する。TTは対称であるから、m≥0m\ge0についてvTTme1=(Tmv)Te1=λmvTe1=0v^{\mathsf T}T^me_1=(T^mv)^{\mathsf T}e_1=\lambda^mv^{\mathsf T}e_1=0である。(1)をm=n−1m=n-1に適用すると、vvはRn\R^nのすべての元に直交し、v=0v=0である。v=0v=0は仮定v≠0v\ne0と両立しない。

(4)を示す。VTV^{\mathsf T}の当該部分をMMとし、z∈Rjz\in\R^jがMz=0Mz=0を満たすとする。x:=∑i≤jzieix:=\sum_{i\le j}z_ie_iと置くと、i≤ji\le jについてMzMzの第ii成分はviTxv_i^{\mathsf T}xであるからviTx=0v_i^{\mathsf T}x=0である。(1)をm=j−1m=j-1に適用すると、次数j−1j-1以下の実係数多項式ppが存在してx=p(T)e1x=p(T)e_1である。viTTm=λimviTv_i^{\mathsf T}T^m=\lambda_i^mv_i^{\mathsf T}であるからviTx=p(λi)viTe1v_i^{\mathsf T}x=p(\lambda_i)v_i^{\mathsf T}e_1であり、(3)によりp(λi)=0p(\lambda_i)=0(1≤i≤j1\le i\le j)である。VVは直交行列であるからdet⁡(tI−T)=det⁡(tI−diag⁡(λi))=∏i(t−λi)\det(tI-T)=\det(tI-\operatorname{diag}(\lambda_i))=\prod_i(t-\lambda_i)であり、(2)によりλ1,…,λj\lambda_1,\dots,\lambda_jは相異なる。次数j−1j-1以下の多項式ppがjj個の相異なる根をもつのでp=0p=0であり、x=0x=0、z=0z=0である。▨

例 3.5.A:=diag⁡(1,2)A:=\operatorname{diag}(1,2)、σ:=0\sigma:=0とする。∣2∣>∣1∣\lvert2\rvert>\lvert1\rvertであるから定理 3.3の番号付けはλ1=2\lambda_1=2、λ2=1\lambda_2=1、v1=±e2v_1=\pm e_2、v2=±e1v_2=\pm e_1であり、M1M_1はVTV^{\mathsf T}の(1,1)(1,1)成分00であって正則でない。A=I⋅AA=I\cdot AはAAの QR 分解であるから、§D3.17 定理 1.2の一意性によりQ0=IQ_0=I、R0=AR_0=A、A1=AA_1=Aであり、すべてのkkについてAk=AA_k=A、Pk=IP_k=Iである。(Ak)21=0(A_k)_{21}=0であるが、(Ak)11=1≠λ1(A_k)_{11}=1\ne\lambda_1であり、PkP_kの第11列が張る部分空間span⁡{e1}\operatorname{span}\{e_1\}の単位ベクトルe1e_1はdist⁡(e1,span⁡{v1})=1\operatorname{dist}(e_1,\operatorname{span}\{v_1\})=1を満たす。0<∣η∣<20<\lvert\eta\rvert<\sqrt2とし、Aη:=(1ηη2)A_\eta:=\begin{pmatrix}1&\eta\\\eta&2\end{pmatrix}とする。AηA_\etaは対称な非簡約上 Hessenberg 行列であり、固有値はμ±:=(3±1+4η2)/2\mu_\pm:=\bigl(3\pm\sqrt{1+4\eta^2}\bigr)/2である。1+4η2<91+4\eta^2<9からμ−>0\mu_->0であり、μ+>μ−>0\mu_+>\mu_->0である。σ=0\sigma=0についてλ1=μ+\lambda_1=\mu_+、λ2=μ−\lambda_2=\mu_-とし、対応する単位固有ベクトルをv1v_1、v2v_2とすると、§D3.15 定理 3.1によりv1v_1とv2v_2は直交し、V=(v1 v2)V=(v_1\ v_2)は直交行列である。定理 3.3の固有値の条件が成り立ち、命題 3.4 (4)によりM1M_1は正則である。定理 3.3 (4)により、AηA_\etaに対するシフトなしの QR 法の(1,1)(1,1)成分はμ+\mu_+に収束する。1+4η2>1\sqrt{1+4\eta^2}>1からμ+>2\mu_+>2であり、η→0\eta\to0のときμ+→2\mu_+\to2である。η=0\eta=0では(1,1)(1,1)成分は11のままである。

4 Gershgorin の包含定理と固有値の摂動

定理 4.1 (Gershgorin の包含定理).n∈N≥1n\in\NN、A=(aij)∈Cn×nA=(a_{ij})\in\C^{n\times n}とし、1≤i≤n1\le i\le nについてri:=∑j≠i∣aij∣r_i:=\sum_{j\ne i}\lvert a_{ij}\rvert、Di:={z∈C∣∣z−aii∣≤ri}\mathcal D_i:=\{z\in\C\mid\lvert z-a_{ii}\rvert\le r_i\}と置く。det⁡(λI−A)=0\det(\lambda I-A)=0を満たす任意のλ∈C\lambda\in\CはD1∪⋯∪Dn\mathcal D_1\cup\dots\cup\mathcal D_nに属する。

証明.Ax=λxAx=\lambda xを満たすx∈Cn∖{0}x\in\C^n\setminus\{0\}をとり、∣xi∣=max⁡j∣xj∣\lvert x_i\rvert=\max_j\lvert x_j\rvertを満たすiiをとる。x≠0x\ne0であるから∣xi∣>0\lvert x_i\rvert>0である。Ax=λxAx=\lambda xの第ii成分から(λ−aii)xi=∑j≠iaijxj(\lambda-a_{ii})x_i=\sum_{j\ne i}a_{ij}x_jであり、

∣λ−aii∣∣xi∣≤∑j≠i∣aij∣∣xj∣≤ri∣xi∣\lvert\lambda-a_{ii}\rvert\lvert x_i\rvert\le\sum_{j\ne i}\lvert a_{ij}\rvert\lvert x_j\rvert\le r_i\lvert x_i\rvert

である。両辺を∣xi∣\lvert x_i\rvertで割ってλ∈Di\lambda\in\mathcal D_iを得る。▨

系 4.2.n≥2n\ge2とし、A=(aij)∈Rn×nA=(a_{ij})\in\R^{n\times n}はAT=AA^{\mathsf T}=Aを満たすとする。ri:=∑j≠i∣aij∣r_i:=\sum_{j\ne i}\lvert a_{ij}\rvert、ℓ:=min⁡i(aii−ri)\ell:=\min_i(a_{ii}-r_i)、u:=max⁡i(aii+ri)u:=\max_i(a_{ii}+r_i)と置く。

  1. det⁡(tI−A)\det(tI-A)の根はすべて実数であり、区間[ℓ,u][\ell,u]に属する。
  2. AAが非簡約上 Hessenberg 行列であり、σ<ℓ\sigma<\ellであるとする。det⁡(tI−A)\det(tI-A)の根は相異なり、根をλ1>λ2>⋯>λn\lambda_1>\lambda_2>\dots>\lambda_nと並べると、直交行列V=(v1 ⋯ vn)V=(v_1\ \cdots\ v_n)でAvi=λiviAv_i=\lambda_iv_iを満たすものが存在する。そのような任意のVVについて、AA、σ\sigma、VV、λ1,…,λn\lambda_1,\dots,\lambda_nは定理 3.3の仮定をすべて満たし、同定理のqjq_jは(λj+1−σ)/(λj−σ)(\lambda_{j+1}-\sigma)/(\lambda_j-\sigma)に等しい。
  3. (2)の仮定の下で、σ<σ′<ℓ\sigma<\sigma'<\ellならば、1≤j≤n−11\le j\le n-1について(λj+1−σ′)/(λj−σ′)<(λj+1−σ)/(λj−σ)(\lambda_{j+1}-\sigma')/(\lambda_j-\sigma')<(\lambda_{j+1}-\sigma)/(\lambda_j-\sigma)が成り立つ。

証明.(1)を示す。§E20.7 補題 2.1 (3)によりdet⁡(tI−A)\det(tI-A)の根は実数である。根λ\lambdaは定理 4.1によりあるiiについて∣λ−aii∣≤ri\lvert\lambda-a_{ii}\rvert\le r_iを満たすから、ℓ≤aii−ri≤λ≤aii+ri≤u\ell\le a_{ii}-r_i\le\lambda\le a_{ii}+r_i\le uである。

(2)を示す。命題 3.4 (2)により根は相異なる。§E20.7 補題 2.1 (3)の正規直交基底q1,…,qnq_1,\dots,q_nとλ1′<⋯<λn′\lambda'_1<\dots<\lambda'_nをとり、vi:=qn+1−iv_i:=q_{n+1-i}と置けば、VVは直交行列でありAvi=λiviAv_i=\lambda_iv_iである。(1)によりλi≥ℓ>σ\lambda_i\ge\ell>\sigmaであるから、λ1−σ>⋯>λn−σ>0\lambda_1-\sigma>\dots>\lambda_n-\sigma>0であり、∣λi−σ∣=λi−σ\lvert\lambda_i-\sigma\rvert=\lambda_i-\sigmaである。命題 3.4 (4)によりMjM_jは正則である。

(3)を示す。(λj+1−σ)/(λj−σ)=1−(λj−λj+1)/(λj−σ)(\lambda_{j+1}-\sigma)/(\lambda_j-\sigma)=1-(\lambda_j-\lambda_{j+1})/(\lambda_j-\sigma)であり、λj−λj+1>0\lambda_j-\lambda_{j+1}>0、0<λj−σ′<λj−σ0<\lambda_j-\sigma'<\lambda_j-\sigmaであるから、右辺の分数はσ′\sigma'に対する方が大きい。▨

定理 4.3 (Weyl の不等式).n∈N≥1n\in\NNとする。XT=XX^{\mathsf T}=Xを満たすX∈Rn×nX\in\R^{n\times n}に対して、det⁡(tI−X)\det(tI-X)の根(§E20.7 補題 2.1 (3)によりすべて実数である)を重複度を込めてλ1(X)≤⋯≤λn(X)\lambda_1(X)\le\dots\le\lambda_n(X)と並べる。A,E∈Rn×nA,E\in\R^{n\times n}がAT=AA^{\mathsf T}=A、ET=EE^{\mathsf T}=Eを満たすならば、Euclid ノルムに関するEEの作用素ノルム∥E∥2\lVert E\rVert_2について

∣λk(A+E)−λk(A)∣≤∥E∥2(1≤k≤n)\lvert\lambda_k(A+E)-\lambda_k(A)\rvert\le\lVert E\rVert_2\qquad(1\le k\le n)

が成り立つ。

証明. 単位ベクトルx∈Rnx\in\R^nについて、Cauchy–Schwarz の不等式と作用素ノルムの定義(有限性は§E20.6 補題 2.1 (1)による)により∣xTEx∣≤∥x∥2∥Ex∥2≤∥E∥2\lvert x^{\mathsf T}Ex\rvert\le\lVert x\rVert_2\lVert Ex\rVert_2\le\lVert E\rVert_2である。S⊂RnS\subset\R^nをdim⁡S=k\dim S=kの部分空間とすると、SSの任意の単位ベクトルxxについて

xT(A+E)x≤xTAx+∥E∥2≤max⁡y∈S, ∥y∥2=1yTAy+∥E∥2x^{\mathsf T}(A+E)x\le x^{\mathsf T}Ax+\lVert E\rVert_2\le\max_{y\in S,\ \lVert y\rVert_2=1}y^{\mathsf T}Ay+\lVert E\rVert_2

である。§E20.7 定理 4.2により、max⁡y∈S, ∥y∥2=1yTAy=λk(A)\max_{y\in S,\ \lVert y\rVert_2=1}y^{\mathsf T}Ay=\lambda_k(A)を満たすkk次元部分空間SSが存在し、そのSSについて左辺の最大値はλk(A+E)\lambda_k(A+E)以上である。したがってλk(A+E)≤λk(A)+∥E∥2\lambda_k(A+E)\le\lambda_k(A)+\lVert E\rVert_2である。A+EA+Eと−E-Eに同じ議論を適用すると、∥−E∥2=∥E∥2\lVert-E\rVert_2=\lVert E\rVert_2であるからλk(A)≤λk(A+E)+∥E∥2\lambda_k(A)\le\lambda_k(A+E)+\lVert E\rVert_2である。二つの不等式から主張が従う。▨

5 デフレーション

定義 5.1.n≥2n\ge2、T∈Rn×nT\in\R^{n\times n}を対称な三重対角行列とし、1≤j≤n−11\le j\le n-1とする。TTの(j+1,j)(j+1,j)成分と(j,j+1)(j,j+1)成分を00に置き換えた行列T′T'を、TTの第jj副対角成分での デフレーション (deflation) という。T′T'の左上のj×jj\times j部分をT1T_1、右下の(n−j)×(n−j)(n-j)\times(n-j)部分をT2T_2とすると、T1T_1とT2T_2は対称な三重対角行列であり、T′=diag⁡(T1,T2)T'=\operatorname{diag}(T_1,T_2)である。

命題 5.2.n≥2n\ge2、T∈Rn×nT\in\R^{n\times n}を対称な三重対角行列、1≤j≤n−11\le j\le n-1、β:=tj+1,j\beta:=t_{j+1,j}とし、T′T'、T1T_1、T2T_2を定義 5.1のとおりとする。λk(⋅)\lambda_k(\cdot)は定理 4.3の記号とする。

  1. Euclid ノルムに関する作用素ノルムについて∥T−T′∥2=∣β∣\lVert T-T'\rVert_2=\lvert\beta\rvertである。
  2. det⁡(tI−T′)=det⁡(tIj−T1)det⁡(tIn−j−T2)\det(tI-T')=\det(tI_j-T_1)\det(tI_{n-j}-T_2)である。
  3. 1≤k≤n1\le k\le nについて∣λk(T′)−λk(T)∣≤∣β∣\lvert\lambda_k(T')-\lambda_k(T)\rvert\le\lvert\beta\rvertである。
  4. A∈Rn×nA\in\R^{n\times n}を対称な三重対角行列、(Ak)(A_k)をAAに対するシフト(σk)(\sigma_k)の QR 法とし、τ≥0\tau\ge0とする。AkA_kが定まり∣(Ak)j+1,j∣≤τ\lvert(A_k)_{j+1,j}\rvert\le\tauを満たすならば、AkA_kの第jj副対角成分でのデフレーションの左上のj×jj\times j部分の固有値と右下の(n−j)×(n−j)(n-j)\times(n-j)部分の固有値を合わせて重複度を込めてμ1≤⋯≤μn\mu_1\le\dots\le\mu_nと並べると、∣μk−λk(A)∣≤τ\lvert\mu_k-\lambda_k(A)\rvert\le\tau(1≤k≤n1\le k\le n)が成り立つ。

証明.(1)を示す。T−T′=β(ej+1ejT+ejej+1T)T-T'=\beta(e_{j+1}e_j^{\mathsf T}+e_je_{j+1}^{\mathsf T})であるから、h∈Rnh\in\R^nについて(T−T′)h=β(hjej+1+hj+1ej)(T-T')h=\beta(h_je_{j+1}+h_{j+1}e_j)であり、∥(T−T′)h∥2=∣β∣(hj2+hj+12)1/2≤∣β∣∥h∥2\lVert(T-T')h\rVert_2=\lvert\beta\rvert(h_j^2+h_{j+1}^2)^{1/2}\le\lvert\beta\rvert\lVert h\rVert_2である。h=ejh=e_jで等号が成り立つ。

(2)を示す。tI−T′=diag⁡(tIj−T1, tIn−j−T2)tI-T'=\operatorname{diag}(tI_j-T_1,\,tI_{n-j}-T_2)はブロック対角行列であり、その行列式は二つの対角ブロックの行列式の積である。

(3)を示す。E:=T′−TE:=T'-Tは対称であり、(1)により∥E∥2=∣β∣\lVert E\rVert_2=\lvert\beta\rvertである。定理 4.3をTTとEEに適用する。

(4)を示す。命題 1.2 (3)によりAkA_kは対称な三重対角行列である。Ak′A_k'をAkA_kの第jj副対角成分でのデフレーションとすると、(2)によりμk=λk(Ak′)\mu_k=\lambda_k(A_k')であり、(3)により∣μk−λk(Ak)∣≤∣(Ak)j+1,j∣≤τ\lvert\mu_k-\lambda_k(A_k)\rvert\le\lvert(A_k)_{j+1,j}\rvert\le\tauである。命題 1.2 (1)によりdet⁡(tI−Ak)=det⁡(tI−A)\det(tI-A_k)=\det(tI-A)であるからλk(Ak)=λk(A)\lambda_k(A_k)=\lambda_k(A)である。▨

定義 5.3.n≥2n\ge2、A∈Rn×nA\in\R^{n\times n}を対称行列とし、AAに対するシフト(σk)(\sigma_k)の QR 法を考える。AkA_kが定まるとき、AkA_kのene_nにおける Rayleigh 商σk:=enTAken=(Ak)nn\sigma_k:=e_n^{\mathsf T}A_ke_n=(A_k)_{nn}をシフトに選ぶことを Rayleigh シフト (Rayleigh quotient shift) という。AkA_kの右下の2×22\times2部分を(abbc)\begin{pmatrix}a&b\\b&c\end{pmatrix}とし、その固有値a+c2±(a−c2)2+b2\frac{a+c}{2}\pm\sqrt{\bigl(\frac{a-c}{2}\bigr)^2+b^2}のうちccとの距離が小さい方(距離が等しいときは小さい方)をσk\sigma_kに選ぶことを Wilkinson シフト (Wilkinson shift) という。いずれの選び方でも、Ak−σkIA_k-\sigma_kIが正則である限りAk+1A_{k+1}が定まる。

例 5.4.n=2n=2とし、Ak=(abbc)A_k=\begin{pmatrix}a&b\\b&c\end{pmatrix}が定まるとする。h:=(a−c)/2h:=(a-c)/2、s:=h2+b2s:=\sqrt{h^2+b^2}と置くと、Wilkinson シフトはσk=(a+c)/2+ϵs\sigma_k=(a+c)/2+\epsilon s(ϵ∈{1,−1}\epsilon\in\{1,-1\})の形であり、σk−a=ϵs−h\sigma_k-a=\epsilon s-h、σk−c=ϵs+h\sigma_k-c=\epsilon s+hであるから

det⁡(Ak−σkI)=(σk−a)(σk−c)−b2=s2−h2−b2=0\det(A_k-\sigma_kI)=(\sigma_k-a)(\sigma_k-c)-b^2=s^2-h^2-b^2=0

である。したがってAk−σkIA_k-\sigma_kIは正則でなく、定義 1.1 (1)はAk+1A_{k+1}を定めない。J:=(0110)J:=\begin{pmatrix}0&1\\1&0\end{pmatrix}に対する Rayleigh シフトの QR 法を考える。A0=JA_0=Jならばσ0=(J)22=0\sigma_0=(J)_{22}=0であり、J−σ0I=JJ-\sigma_0I=Jは正則である。JTJ=IJ^{\mathsf T}J=IであるからJ=J⋅IJ=J\cdot IはJJの QR 分解であり、§D3.17 定理 1.2の一意性によりQ0=JQ_0=J、R0=IR_0=I、A1=R0Q0+0⋅I=JA_1=R_0Q_0+0\cdot I=Jである。kkに関する帰納法により、すべてのkkについてσk=0\sigma_k=0、Ak=JA_k=Jであり、この列はJJに対するシフトなしの QR 法に等しい。(Ak)21=1(A_k)_{21}=1であるから、非対角成分は00に収束しない。

例 5.5.

T:=(210131014)T:=\begin{pmatrix}2&1&0\\1&3&1\\0&1&4\end{pmatrix}

とする。det⁡(tI−T)=t3−9t2+24t−18=(t−3)(t2−6t+6)\det(tI-T)=t^3-9t^2+24t-18=(t-3)(t^2-6t+6)であり、固有値は3+33+\sqrt3、33、3−33-\sqrt3である。固有ベクトルは順に(1,1+3,2+3)T(1,1+\sqrt3,2+\sqrt3)^{\mathsf T}、(1,1,−1)T(1,1,-1)^{\mathsf T}、(1,1−3,2−3)T(1,1-\sqrt3,2-\sqrt3)^{\mathsf T}の正の定数倍にとることができる。系 4.2のℓ\ellはmin⁡{2−1,3−2,4−1}=1\min\{2-1,3-2,4-1\}=1であり、TTは対称な非簡約上 Hessenberg 行列であるから、系 4.2 (2)により、σ<1\sigma<1の固定シフトについて定理 3.3がλ1=3+3\lambda_1=3+\sqrt3、λ2=3\lambda_2=3、λ3=3−3\lambda_3=3-\sqrt3で適用される。上の固有ベクトルを正規化してVVを作るとt2=4.6252…t_2=4.6252\ldotsである。

TTに対して、固定シフトσ=0\sigma=0とσ=9/10\sigma=9/10、Rayleigh シフト、Wilkinson シフトの QR 法を、有効数字6060桁の十進浮動小数点演算で計算し、∣(Ak)32∣≤10−10\lvert(A_k)_{32}\rvert\le10^{-10}となる最初のkkを求めた(値は有効数字33桁に丸めて示す)。

  1. σ=0\sigma=0ではq2=(3−3)/3=0.4226…q_2=(3-\sqrt3)/3=0.4226\ldotsであり、k=29k=29で∣(A29)32∣=6.74×10−11\lvert(A_{29})_{32}\rvert=6.74\times10^{-11}であった。定理 3.3 (3)の上界2λ1t2q2292\lambda_1t_2q_2^{29}は6.23×10−106.23\times10^{-10}である。σ=9/10\sigma=9/10ではq2=(2.1−3)/2.1=0.1752…q_2=(2.1-\sqrt3)/2.1=0.1752\ldotsであり、系 4.2 (3)のとおりσ=0\sigma=0の場合より小さい。k=15k=15で∣(A15)32∣=2.13×10−11\lvert(A_{15})_{32}\rvert=2.13\times10^{-11}であり、上界2(λ1−910)t2q2152(\lambda_1-\tfrac9{10})t_2q_2^{15}は1.60×10−101.60\times10^{-10}である。二つの固定シフトとも、計算したすべてのkkで∣(Ak)32∣\lvert(A_k)_{32}\rvertと∣(Ak)21∣\lvert(A_k)_{21}\rvertの計算値は定理 3.3 (3)の上界以下であった。
  2. Rayleigh シフトでは、k=1,…,5k=1,\dots,5の∣(Ak)32∣\lvert(A_k)_{32}\rvertは7.45×10−17.45\times10^{-1}、2.72×10−12.72\times10^{-1}、7.19×10−37.19\times10^{-3}、1.24×10−71.24\times10^{-7}、6.27×10−226.27\times10^{-22}であった。k=3,4k=3,4について∣(Ak+1)32∣/∣(Ak)32∣3\lvert(A_{k+1})_{32}\rvert/\lvert(A_k)_{32}\rvert^3は順に0.3320.332、0.3330.333であった。(A5)33(A_5)_{33}と3+33+\sqrt3の差の絶対値は10−4010^{-40}より小さかった。
  3. Wilkinson シフトでは、k=1,2,3k=1,2,3の∣(Ak)32∣\lvert(A_k)_{32}\rvertは9.45×10−29.45\times10^{-2}、1.21×10−51.21\times10^{-5}、8.27×10−188.27\times10^{-18}であり、(A3)33(A_3)_{33}と3+33+\sqrt3の差の絶対値は10−3010^{-30}より小さかった。

命題 5.2 (4)をj=2j=2、τ=10−10\tau=10^{-10}に適用すると、厳密な反復のAkA_kが∣(Ak)32∣≤10−10\lvert(A_k)_{32}\rvert\le10^{-10}を満たすならば、(Ak)33(A_k)_{33}とAkA_kの左上の2×22\times2部分の固有値を合わせて昇順に並べた列は、TTの固有値の昇順の列と各項で10−1010^{-10}以内にある。上のAkA_kは有効数字6060桁の十進演算による計算値であり、その丸め誤差の評価は与えていない。計算値から同じ列を作ると、止めたkkでTTの固有値の昇順の列との各項の差はいずれの場合も10−2010^{-20}より小さく、この評価と整合した。計算した(Ak)33(A_k)_{33}に最も近いTTの固有値は、固定シフトでは定理 3.3 (4)と整合して最小の固有値3−33-\sqrt3、Rayleigh シフトと Wilkinson シフトでは最大の固有値3+33+\sqrt3であった。

6 一般の実行列

例 6.1.J:=(0110)J:=\begin{pmatrix}0&1\\1&0\end{pmatrix}は直交行列であり、J=J⋅IJ=J\cdot IはJJの QR 分解である。§D3.17 定理 1.2の一意性により、JJに対するシフトなしの QR 法はQ0=JQ_0=J、R0=IR_0=I、A1=R0Q0=JA_1=R_0Q_0=Jを与え、すべてのkkについてAk=JA_k=Jである。JJの固有値11、−1-1は実数であるが絶対値が等しく、σ=0\sigma=0は定理 3.3の仮定∣λ1−σ∣>∣λ2−σ∣\lvert\lambda_1-\sigma\rvert>\lvert\lambda_2-\sigma\rvertを満たさない。σ∉{−1,0,1}\sigma\notin\{-1,0,1\}の固定シフトでは∣1−σ∣≠∣−1−σ∣\lvert1-\sigma\rvert\ne\lvert-1-\sigma\rvertであり、JJは対称な非簡約上 Hessenberg 行列であるから、命題 3.4 (4)により同定理の仮定が満たされ、非対角成分は00に収束する。K:=(0−110)K:=\begin{pmatrix}0&-1\\1&0\end{pmatrix}も直交行列であり、同じ理由でKKに対するシフトなしの QR 法はすべてのkkについてAk=KA_k=Kを与える。det⁡(tI−K)=t2+1\det(tI-K)=t^2+1の根は±i\pm\mathrm iであり、命題 1.2 (4)により、どのシフト(σk)(\sigma_k)についても、すべてのAkA_kが定まるならば(Ak)(A_k)は上三角行列に収束しない。

注意 6.2.A∈Rn×nA\in\R^{n\times n}に対する QR 法のAkA_kは、実数σk\sigma_kと実行列の QR 分解から作られるので、すべて実行列である。§E3.36 系 2.2によりAAはユニタリ行列QQで上三角行列R=Q∗AQR=Q^*AQに移されるが、RRの対角成分はdet⁡(tI−A)\det(tI-A)の根であるから、det⁡(tI−A)\det(tI-A)が実数でない根をもつときRRは実行列でなく、命題 1.2 (4)により実行列の列(Ak)(A_k)は上三角行列に収束しない。実行列を直交相似で移した形としては、§E3.36 注意 3.1の実 Schur 形、すなわち実固有値に対応する1×11\times1の対角ブロックと非実共役対に対応する2×22\times2の対角ブロックをもつブロック上三角行列が上三角行列に代わる。例 6.1のKKは、2×22\times2の対角ブロック一つからなる実 Schur 形である。

7 演習

問題 7.1.a,b,c∈Ra,b,c\in\R、b≠0b\ne0とし、A:=(abbc)A:=\begin{pmatrix}a&b\\b&c\end{pmatrix}、d:=a−cd:=a-cと置く。AAに対する QR 法の第一段を Rayleigh シフトσ0=c\sigma_0=cで行うと、A−cIA-cIは正則であり

A1=(a+db2d2+b2b3d2+b2b3d2+b2c−db2d2+b2)A_1=\begin{pmatrix}a+\dfrac{db^2}{d^2+b^2}&\dfrac{b^3}{d^2+b^2}\\[2mm]\dfrac{b^3}{d^2+b^2}&c-\dfrac{db^2}{d^2+b^2}\end{pmatrix}

であることを示せ。またd≠0d\ne0ならば∣(A1)21∣≤∣b∣3/d2\lvert(A_1)_{21}\rvert\le\lvert b\rvert^3/d^2であることを示せ。

解答.

det⁡(A−cI)=d⋅0−b2=−b2≠0\det(A-cI)=d\cdot0-b^2=-b^2\ne0であるからA−cIA-cIは正則である。A−cI=(dbb0)A-cI=\begin{pmatrix}d&b\\b&0\end{pmatrix}は正則な上 Hessenberg 行列であり、命題 2.3をn=2n=2で適用する。r:=r1=d2+b2>0r:=r_1=\sqrt{d^2+b^2}>0、c1=d/rc_1=d/r、s1=b/rs_1=b/rであり、

W(1)=G1T(A−cI)=(d/rb/r−b/rd/r)(dbb0)=(rdb/r0−b2/r)W^{(1)}=G_1^{\mathsf T}(A-cI)=\begin{pmatrix}d/r&b/r\\-b/r&d/r\end{pmatrix}\begin{pmatrix}d&b\\b&0\end{pmatrix}=\begin{pmatrix}r&db/r\\0&-b^2/r\end{pmatrix}

である。w=−b2/r<0w=-b^2/r<0であるからS=diag⁡(1,−1)S=\operatorname{diag}(1,-1)であり、命題 2.3 (2)により

R0=(rdb/r0b2/r),Q0=G1S=(d/rb/rb/r−d/r)R_0=\begin{pmatrix}r&db/r\\0&b^2/r\end{pmatrix},\qquad Q_0=G_1S=\begin{pmatrix}d/r&b/r\\b/r&-d/r\end{pmatrix}

である。

R0Q0=(d+db2/r2b−d2b/r2b3/r2−db2/r2)R_0Q_0=\begin{pmatrix}d+db^2/r^2&b-d^2b/r^2\\b^3/r^2&-db^2/r^2\end{pmatrix}

であり、b−d2b/r2=b(r2−d2)/r2=b3/r2b-d^2b/r^2=b(r^2-d^2)/r^2=b^3/r^2である。A1=R0Q0+cIA_1=R_0Q_0+cIとd+c=ad+c=aから主張の式を得る。d≠0d\ne0ならばr2≥d2r^2\ge d^2であるから∣(A1)21∣=∣b∣3/r2≤∣b∣3/d2\lvert(A_1)_{21}\rvert=\lvert b\rvert^3/r^2\le\lvert b\rvert^3/d^2である。▨

問題 7.2.a,c,β∈Ra,c,\beta\in\R、a≤ca\le cとし、T:=(aββc)T:=\begin{pmatrix}a&\beta\\\beta&c\end{pmatrix}、T′:=diag⁡(a,c)T':=\operatorname{diag}(a,c)と置く。λk(⋅)\lambda_k(\cdot)を定理 4.3の記号とする。a=ca=cならば∣λk(T)−λk(T′)∣=∣β∣\lvert\lambda_k(T)-\lambda_k(T')\rvert=\lvert\beta\rvert(k=1,2k=1,2)であり、a<ca<cならば∣λk(T)−λk(T′)∣≤β2/(c−a)\lvert\lambda_k(T)-\lambda_k(T')\rvert\le\beta^2/(c-a)(k=1,2k=1,2)であることを示せ。

解答.

g:=(c−a)/2≥0g:=(c-a)/2\ge0、m:=(a+c)/2m:=(a+c)/2と置く。det⁡(tI−T)=(t−m)2−g2−β2\det(tI-T)=(t-m)^2-g^2-\beta^2であるからλ1(T)=m−g2+β2\lambda_1(T)=m-\sqrt{g^2+\beta^2}、λ2(T)=m+g2+β2\lambda_2(T)=m+\sqrt{g^2+\beta^2}であり、λ1(T′)=a=m−g\lambda_1(T')=a=m-g、λ2(T′)=c=m+g\lambda_2(T')=c=m+gである。したがってk=1,2k=1,2について

∣λk(T)−λk(T′)∣=g2+β2−g\lvert\lambda_k(T)-\lambda_k(T')\rvert=\sqrt{g^2+\beta^2}-g

である。a=ca=cならばg=0g=0であり、右辺は∣β∣\lvert\beta\rvertである。a<ca<cならばg>0g>0であり、右辺はβ2/(g2+β2+g)≤β2/(2g)=β2/(c−a)\beta^2/\bigl(\sqrt{g^2+\beta^2}+g\bigr)\le\beta^2/(2g)=\beta^2/(c-a)である。▨

前提記事