コンテンツにスキップ

無限次元の固有値の包含:Rayleigh–Ritz の上界と Temple・Lehmann–Goerisch・有限要素法の下界

対象読者: 本テーマ第 1〜3 章の内容と、作用素の収束・摂動やミニマックス原理、Dirichlet ラプラシアンの固有値を学んだ修士課程の人。有限要素法の知識は仮定しません。

前提となる記事:行列計算の認証と最適化の証明書:慣性・Rump の正定値性検証・Sturm 列・双対性、作用素の収束と摂動:レゾルベント収束・解析摂動・ミニマックス原理、Dirichlet ラプラシアンの固有値と Weyl 則:変分原理・Dirichlet–Neumann bracketing・Faber–Krahn

生 Markdown

太鼓や弦の振動数、原子のエネルギーは、ある作用素の固有値として決まります。この記事は、その固有値を「9.86959.8695 より大きく 9.86989.8698 より小さい」のように、上と下から厳密に挟む方法の話です。上から押さえるのは易しく、下から押さえるには工夫が要ります。読み終えると、下からの評価がなぜ成り立つのか、そしてそれを有理数の計算だけで確かめる手順が分かります。

  • 固有値の上界は易しく、試行関数の張る空間での Rayleigh–Ritz 値がそのまま上界です(ミニマックス原理)。形式の定義域の関数を使えるので、有限要素法の値も上界になります。
  • 下界には追加の情報が要ります。Temple の不等式は 1 つの試行関数と「次の固有値の下界 ν\nu」から λ1≥η−σ2/(ν−η)\lambda_1\ge\eta-\sigma^2/(\nu-\eta) を与えます。
  • Lehmann–Goerisch の方法は、シフト ρ≤λN+1\rho\le\lambda_{N+1} と、−w′=u-w'=u のような補助問題の解 ww から作った行列の慣性で、λN+1−k\lambda_{N+1-k} の下界を与えます。慣性は第 3 章の方法で厳密に数えられます。
  • 有限要素法では、要素ごとの Poincaré 不等式 ∥v∥≤(h/π)∥v′∥\|v\|\le(h/\pi)\|v'\| から Galerkin 射影の誤差定数 ChC_h が決まり、Liu の不等式 λk≥λk,h/(1+Ch2λk,h)\lambda_k\ge\lambda_{k,h}/(1+C_h^2\lambda_{k,h}) が成り立ちます。
  • これらを組み合わせると、モデル問題 −u′′=λu-u''=\lambda u の λ1=π2\lambda_1=\pi^2 を、有理数の計算だけで 9.8695<π2<9.86989.8695\lt\pi^2\lt9.8698 と包めます。

量子力学の束縛状態のエネルギーや、弾性体の振動数は、微分作用素の固有値です。厳密な結果を証明するとき、たとえば「2 電子原子の基底状態は束縛されている」「この作用素は 11 より小さい固有値を 3 個もつ」といった主張には、固有値の上下からの評価が要ります。上からの評価は試行関数を 1 つ選んで Rayleigh 商を計算すれば得られますが、下からの評価はそう簡単ではありません。Rayleigh 商の最小化は「上から近づく」操作だからです。

本章では、Temple(1928)、Lehmann(1949)とその Goerisch による拡張、Liu による有限要素法の下界を、すべて証明つきで扱います。どれもミニマックス原理(作用素の収束と摂動)とスペクトル分解だけから出ます。行列の固有値や慣性の厳密な計算には、第 3 章の方法を使います。

本章を通じて次を仮定します。H\mathcal{H} は実 Hilbert 空間、AA は H\mathcal{H} 上の自己共役作用素で、ある c>0c\gt0 について A≥cA\ge c、かつ固有値 0<λ1≤λ2≤⋯→∞0\lt\lambda_1\le\lambda_2\le\cdots\to\infty(重複度込み)と正規直交固有基底 {em}\{e_m\} をもつとします(計数関数 N(λ;A)N(\lambda;A) がすべての λ\lambda で有限な場合で、Dirichlet ラプラシアンの章の変分原理の直後で述べた状況です)。AA に対応する閉形式を qq、その定義域を Q=D(A1/2)Q=D(A^{1/2}) とします(定理 4.2[自己共役性の判定])。u=∑mcmemu=\sum_mc_me_m と展開すると

∥u∥2=∑mcm2,q(u)=∑mλmcm2 (u∈Q),∥Au∥2=∑mλm2cm2 (u∈D(A)),⟨u,A−1u⟩=∑mcm2λm\|u\|^2=\sum_mc_m^2,\qquad q(u)=\sum_m\lambda_mc_m^2\ (u\in Q),\qquad\|Au\|^2=\sum_m\lambda_m^2c_m^2\ (u\in D(A)),\qquad\langle u,A^{-1}u\rangle=\sum_m\frac{c_m^2}{\lambda_m}

です。変分原理(補題 2.2[Dirichlet ラプラシアンの固有値と Weyl 則])は、λk≤Λ\lambda_k\le\Lambda であることと、QQ の kk 次元部分空間 FF で FF 上 q(u)≤Λ∥u∥2q(u)\le\Lambda\|u\|^2 となるものが存在することの同値性を述べています。

形式 qq は、のちのモデル問題では q(u)=∫01u′2dxq(u)=\int_0^1u'^2dx というエネルギーにあたり、QQ はそのエネルギーが有限になる関数の空間です。QQ は D(A)D(A) より広く、微分を 1 回しか要求しません。

モデル問題。 H=L2(0,1)\mathcal{H}=L^2(0,1)、QQ を [0,1][0,1] 上絶対連続で u′∈L2u'\in L^2、u(0)=u(1)=0u(0)=u(1)=0 を満たす関数の空間(=H01(0,1)=H^1_0(0,1))、q(u)=∫01u′2dxq(u)=\int_0^1u'^2dx とすると、A=−d2/dx2A=-d^2/dx^2(Dirichlet 条件)で、固有値は λk=k2π2\lambda_k=k^2\pi^2、固有関数は 2sin⁡kπx\sqrt2\sin k\pi x です(命題 6.2[Sturm–Liouville 問題と Green 関数])。以下の例はすべてこの問題で、答えを知っている状態で各方法の精度を確かめます。

定理 3.1(Rayleigh–Ritz の上界(形式版))✓

u1,…,un∈Qu_1,\ldots,u_n\in Q を一次独立とし、A0=(q(ui,uj))A_0=(q(u_i,u_j)), A1=(⟨ui,uj⟩)A_1=(\langle u_i,u_j\rangle) とする。一般化固有値問題 A0x=ΛA1xA_0\boldsymbol{x}=\Lambda A_1\boldsymbol{x} の固有値(Ritz 値)を Λ1≤⋯≤Λn\Lambda_1\le\cdots\le\Lambda_n とすると、k=1,…,nk=1,\ldots,n について λk≤Λk\lambda_k\le\Lambda_k である。

証明(定理 3.1)

A1A_1 は正定値なので、A1=RTRA_1=R^{\mathsf{T}}R と分解して対称行列 R−TA0R−1R^{-\mathsf{T}}A_0R^{-1} を対角化すれば、x(j)TA1x(l)=δjl\boldsymbol{x}^{(j)\mathsf{T}}A_1\boldsymbol{x}^{(l)}=\delta_{jl} を満たす固有ベクトル x(j)\boldsymbol{x}^{(j)} がとれます。vj=∑ixi(j)uiv_j=\sum_ix^{(j)}_iu_i とおくと ⟨vj,vl⟩=δjl\langle v_j,v_l\rangle=\delta_{jl}, q(vj,vl)=Λjδjlq(v_j,v_l)=\Lambda_j\delta_{jl} です。F=span⁡{v1,…,vk}F=\operatorname{span}\{v_1,\ldots,v_k\} は kk 次元で、v=∑j≤kajvjv=\sum_{j\le k}a_jv_j について q(v)=∑jΛjaj2≤Λk∥v∥2q(v)=\sum_j\Lambda_ja_j^2\le\Lambda_k\|v\|^2 です。変分原理から λk≤Λk\lambda_k\le\Lambda_k です。

試行関数は D(A)D(A) でなく形式の定義域 QQ から選べます(系 6.4[作用素の収束と摂動] の形式版)。区分 1 次の有限要素は Q=H01Q=H^1_0 に属するので、有限要素法の固有値は真の固有値の上界です。モデル問題で uj=xj(1−x)u_j=x^j(1-x)(j=1,2,3j=1,2,3)とすると、Ritz 値は Λ1=10\Lambda_1=10(n=1n=1)、Λ1=9.86975…\Lambda_1=9.86975\ldots(n=3n=3)で(Ritz 値は、試行関数の張る空間の中で Rayleigh 商の極値を順に取ったものです)、π2=9.869604…\pi^2=9.869604\ldots を上から近似します。

定理 4.1(Temple の不等式)✓

ψ∈D(A)\psi\in D(A), ∥ψ∥=1\|\psi\|=1 とし、η=⟨ψ,Aψ⟩\eta=\langle\psi,A\psi\rangle, σ2=∥Aψ∥2−η2\sigma^2=\|A\psi\|^2-\eta^2 とおく。ν≤λ2\nu\le\lambda_2 かつ η<ν\eta\lt\nu ならば

λ1 ≥ η−σ2ν−η.\lambda_1\ \ge\ \eta-\frac{\sigma^2}{\nu-\eta}.
証明(定理 4.1)

ψ=∑mcmem\psi=\sum_mc_me_m とします。各 mm で (λm−λ1)(λm−ν)≥0(\lambda_m-\lambda_1)(\lambda_m-\nu)\ge0 です(λm=λ1\lambda_m=\lambda_1 なら 00、それ以外は λm≥λ2≥ν\lambda_m\ge\lambda_2\ge\nu で両因子が非負)。cm2c_m^2 を掛けて足すと

0≤∑m(λm−λ1)(λm−ν)cm2=∥Aψ∥2−(λ1+ν)η+λ1ν=σ2+(η−λ1)(η−ν)0\le\sum_m(\lambda_m-\lambda_1)(\lambda_m-\nu)c_m^2=\|A\psi\|^2-(\lambda_1+\nu)\eta+\lambda_1\nu=\sigma^2+(\eta-\lambda_1)(\eta-\nu)

です。よって (ν−η)(η−λ1)≤σ2(\nu-\eta)(\eta-\lambda_1)\le\sigma^2 で、ν−η>0\nu-\eta\gt0 で割れば主張です。

σ2\sigma^2 は ψ\psi が固有ベクトルからどれだけずれているかの量で、ψ\psi が固有ベクトルなら 00 です。下界には2 番目の固有値の下界 ν\nu が必要です。これが下界の問題の本質で、どの方法も何らかの「先の固有値の情報」を入力に要します。ν\nu は、より簡単な比較作用素の固有値(系 6.5[作用素の収束と摂動])や、第 6 節の有限要素法の下界から得ます。

図は並びの感覚を表す概念図です(目盛りは正確ではありません)。試行関数から計算した η\eta は λ1\lambda_1 の上にあり、ν\nu は λ2\lambda_2 以下の既知の値です。σ2\sigma^2 が小さいほど、下界 η−σ2/(ν−η)\eta-\sigma^2/(\nu-\eta) は η\eta のすぐ左に来ます。

λ₁ηνλ₂下界η−σ²/(ν−η)
Temple の不等式の概念図(目盛りは正確ではない)。η は λ₁ 以上、ν は λ₂ 以下で、下界 η−σ²/(ν−η) は λ₁ の左に来る。

例 4.2(モデル問題での Temple の下界)

ψ=x(1−x)\psi=x(1-x) とすると Aψ=2A\psi=2 です。∥ψ∥2=130\|\psi\|^2=\tfrac1{30}, ⟨ψ,Aψ⟩=13\langle\psi,A\psi\rangle=\tfrac13, ∥Aψ∥2=4\|A\psi\|^2=4 なので、正規化すると η=10\eta=10, σ2=120−100=20\sigma^2=120-100=20 です。ν=38\nu=38(≤λ2\le\lambda_2。第 6 節で示します)とすると λ1≥10−2028=9.2857…\lambda_1\ge10-\tfrac{20}{28}=9.2857\ldots で、9.2857≤π2≤109.2857\le\pi^2\le10 です。

Temple の方法は ∥Aψ∥2\|A\psi\|^2 を使うので ψ∈D(A)\psi\in D(A) が必要で、有限要素のような QQ の関数には使えません。Goerisch は、∥Aψ∥2\|A\psi\|^2 の代わりに補助的な問題の解を使う形に Lehmann の方法を拡張しました。次の構造を追加で仮定します。これは、エネルギー qq を「何かの関数 TuTu の大きさの 2 乗」と見る仮定で、モデル問題では Tu=u′Tu=u' がそれにあたります。

(G) 実 Hilbert 空間 XX と線形写像 T:Q→XT:Q\to X があって、u,v∈Qu,v\in Q について q(u,v)=⟨Tu,Tv⟩Xq(u,v)=\langle Tu,Tv\rangle_X である。

モデル問題では X=L2(0,1)X=L^2(0,1), Tu=u′Tu=u' です。

補題 5.1(Goerisch の補題)✓

(G) のもとで、u∈Hu\in\mathcal{H} と w∈Xw\in X がすべての f∈Qf\in Q について ⟨Tf,w⟩X=⟨f,u⟩\langle Tf,w\rangle_X=\langle f,u\rangle を満たすならば、⟨u,A−1u⟩≤∥w∥X2\langle u,A^{-1}u\rangle\le\|w\|_X^2 である。

証明(補題 5.1)

g=A−1u∈D(A)⊂Qg=A^{-1}u\in D(A)\subset Q とおくと、表現定理(定理 4.2[自己共役性の判定] の 1)から f∈Qf\in Q について q(f,g)=⟨f,Ag⟩=⟨f,u⟩q(f,g)=\langle f,Ag\rangle=\langle f,u\rangle です。したがって ⟨Tf,w−Tg⟩X=⟨f,u⟩−q(f,g)=0\langle Tf,w-Tg\rangle_X=\langle f,u\rangle-q(f,g)=0 がすべての f∈Qf\in Q で成り立ち、とくに f=gf=g として w−Tg⊥Tgw-Tg\perp Tg です。よって

∥w∥X2=∥Tg∥X2+∥w−Tg∥X2≥∥Tg∥X2=q(g)=⟨g,Ag⟩=⟨A−1u,u⟩.\|w\|_X^2=\|Tg\|_X^2+\|w-Tg\|_X^2\ge\|Tg\|_X^2=q(g)=\langle g,Ag\rangle=\langle A^{-1}u,u\rangle.

モデル問題では、条件は ∫01f′w dx=∫01fu dx\int_0^1f'w\,dx=\int_0^1fu\,dx(f∈H01f\in H^1_0)、すなわち w′=−uw'=-u です。境界条件は要らないので、w=−∫0xu+定数w=-\int_0^xu+\text{定数} と積分 1 回で陽に書けます。

次の定理のねらいは、試行関数から作った行列 G(Λ)G(\Lambda) が負の固有値をもつことを確かめるだけで、区間 (Λ,ρ)(\Lambda,\rho) に固有値があると言い切ることです。証明では、t≤Λt\le\Lambda または t≥ρt\ge\rho で非負になる関数 h(t)=(t−ρ)(t−Λ)/th(t)=(t-\rho)(t-\Lambda)/t を使います。固有値が区間の外にしかなければ、hh の和が負になることはありえないからです。

定理 5.2(Lehmann–Goerisch の下界)✓

(G) を仮定し、ρ>0\rho\gt0 と N≥1N\ge1 が ρ≤λN+1\rho\le\lambda_{N+1} を満たすとする。u1,…,un∈Qu_1,\ldots,u_n\in Q と w1,…,wn∈Xw_1,\ldots,w_n\in X が、各 ii ですべての f∈Qf\in Q について ⟨Tf,wi⟩X=⟨f,ui⟩\langle Tf,w_i\rangle_X=\langle f,u_i\rangle を満たすとし、

A0=(q(ui,uj)),A1=(⟨ui,uj⟩),A2=(⟨wi,wj⟩X),G(Λ)=A0−(ρ+Λ)A1+ρΛA2A_0=(q(u_i,u_j)),\quad A_1=(\langle u_i,u_j\rangle),\quad A_2=(\langle w_i,w_j\rangle_X),\quad G(\Lambda)=A_0-(\rho+\Lambda)A_1+\rho\Lambda A_2

とおく。0<Λ<ρ0\lt\Lambda\lt\rho で、G(Λ)G(\Lambda) が負の固有値を(重複度込みで)kk 個以上もつ(k≤Nk\le N)ならば、λN+1−k>Λ\lambda_{N+1-k}\gt\Lambda である。

証明(定理 5.2)

G(Λ)G(\Lambda) の負の固有値の固有ベクトルが張る空間を V⊂RnV\subset\mathbb{R}^n とすると、dim⁡V≥k\dim V\ge k で、x∈V∖{0}\boldsymbol{x}\in V\setminus\{0\} なら xTG(Λ)x<0\boldsymbol{x}^{\mathsf{T}}G(\Lambda)\boldsymbol{x}\lt0 です。x\boldsymbol{x} に対し u=∑xiui=∑mcmemu=\sum x_iu_i=\sum_mc_me_m, w=∑xiwiw=\sum x_iw_i とおくと、uu と ww も 補題 5.1 の条件を満たします。h(t)=(t−ρ)(t−Λ)/t=t−(ρ+Λ)+ρΛ/th(t)=(t-\rho)(t-\Lambda)/t=t-(\rho+\Lambda)+\rho\Lambda/t とすると、第 2 節の展開と 補題 5.1(ρΛ>0\rho\Lambda\gt0)から

∑mh(λm)cm2=q(u)−(ρ+Λ)∥u∥2+ρΛ⟨u,A−1u⟩≤xTG(Λ)x<0\sum_mh(\lambda_m)c_m^2=q(u)-(\rho+\Lambda)\|u\|^2+\rho\Lambda\langle u,A^{-1}u\rangle\le\boldsymbol{x}^{\mathsf{T}}G(\Lambda)\boldsymbol{x}\lt0

です。PP を固有値が開区間 (Λ,ρ)(\Lambda,\rho) に入る固有ベクトルの張る空間への直交射影とします。h(t)≥0h(t)\ge0 は t≤Λt\le\Lambda または t≥ρt\ge\rho で成り立つので、Pu=0Pu=0 なら左辺は 00 以上となって矛盾します。よって x↦Pu\boldsymbol{x}\mapsto Pu は VV 上で単射で、dim⁡Ran⁡P≥k\dim\operatorname{Ran}P\ge k、つまり (Λ,ρ)(\Lambda,\rho) に固有値が重複度込みで kk 個以上あります。ρ\rho より小さい固有値は λ1,…,λM\lambda_1,\ldots,\lambda_M(M≤NM\le N)なので、その上位 kk 個が Λ\Lambda より大きく、λN+1−k≥λM+1−k>Λ\lambda_{N+1-k}\ge\lambda_{M+1-k}\gt\Lambda です。

G(Λ)G(\Lambda) の慣性は、有理数なら LDLᵀ 分解で厳密に、浮動小数なら第 3 章の方法で検証できます。最良の Λ\Lambda は一般化固有値問題で求まります。

系 5.3(Lehmann–Goerisch の公式)✓

定理 5.2 の状況で、D=A0−2ρA1+ρ2A2D=A_0-2\rho A_1+\rho^2A_2 が正定値であるとし、(A0−ρA1)x=μDx(A_0-\rho A_1)\boldsymbol{x}=\mu D\boldsymbol{x} の固有値を μ1≤⋯≤μn\mu_1\le\cdots\le\mu_n とする。μk<0\mu_k\lt0(k≤Nk\le N)ならば

λN+1−k ≥ ρ−ρ1−μk.\lambda_{N+1-k}\ \ge\ \rho-\frac{\rho}{1-\mu_k}.
証明(系 5.3)

右辺を Λk\Lambda_k とおきます。Λk=−ρμk/(1−μk)∈(0,ρ)\Lambda_k=-\rho\mu_k/(1-\mu_k)\in(0,\rho) です。0<Λ<Λk0\lt\Lambda\lt\Lambda_k とし、θ=Λ/ρ\theta=\Lambda/\rho とおくと、直接の計算で G(Λ)=(1−θ)(A0−ρA1)+θDG(\Lambda)=(1-\theta)(A_0-\rho A_1)+\theta D です。μ1,…,μk\mu_1,\ldots,\mu_k の固有ベクトルが張る kk 次元空間の x≠0\boldsymbol{x}\ne0 では xT(A0−ρA1)x≤μkxTDx\boldsymbol{x}^{\mathsf{T}}(A_0-\rho A_1)\boldsymbol{x}\le\mu_k\boldsymbol{x}^{\mathsf{T}}D\boldsymbol{x}(定理 3.1 の証明と同じく DD で正規直交化して展開)なので、

xTG(Λ)x≤((1−θ)μk+θ)xTDx<0\boldsymbol{x}^{\mathsf{T}}G(\Lambda)\boldsymbol{x}\le\bigl((1-\theta)\mu_k+\theta\bigr)\boldsymbol{x}^{\mathsf{T}}D\boldsymbol{x}\lt0

です((1−θ)μk+θ<0(1-\theta)\mu_k+\theta\lt0 は θ<−μk/(1−μk)\theta\lt-\mu_k/(1-\mu_k)、すなわち Λ<Λk\Lambda\lt\Lambda_k と同値)。G(Λ)G(\Lambda) は kk 次元空間上で負定値なので、最大最小原理(定理 3.1[行列の固有値評価と不等式])から負の固有値を kk 個以上もちます。定理 5.2 から λN+1−k>Λ\lambda_{N+1-k}\gt\Lambda で、Λ↑Λk\Lambda\uparrow\Lambda_k として主張を得ます。

λ₁λ₂ρ下界(Temple・Lehmann–Goerisch・Liu)上界(Rayleigh–Ritz)ρ ≤ λ₂ は別の方法で保証する
固有値の包含の構図。Rayleigh–Ritz 値は上から、Lehmann–Goerisch の値は下から λ₁ に近づく。下界には、λ₂ 以下と分かっているシフト ρ が必要になる。

例 5.4(π² を有理数で包む)

モデル問題で u=x(1−x)u=x(1-x) の 1 つだけを使います。w′=−uw'=-u で平均 00 の w=112−x22+x33w=\tfrac1{12}-\tfrac{x^2}2+\tfrac{x^3}3 をとると、A0=13A_0=\tfrac13, A1=130A_1=\tfrac1{30}, A2=∥w∥2=175040A_2=\|w\|^2=\tfrac{17}{5040} です。ρ=38\rho=38 とすると A0−ρA1=−1415A_0-\rho A_1=-\tfrac{14}{15}, D=673252D=\tfrac{673}{252}, μ1=−11763365\mu_1=-\tfrac{1176}{3365} で、系 5.3 から

λ1≥38−38⋅33654541=446884541=9.8410…\lambda_1\ge38-\frac{38\cdot3365}{4541}=\frac{44688}{4541}=9.8410\ldots

です。同じ試行関数の Temple の下界 9.28579.2857(例 4.2)よりずっと良くなります。試行関数を xj(1−x)x^j(1-x)(j=1,2,3j=1,2,3)に増やし、定理 5.2 と 定理 3.1 の条件を有理数の LDLᵀ 分解で確かめます。

from fractions import Fraction as Fr
def mul(a, b): # 多項式(有理数の係数リスト)の積
r = [Fr(0)] * (len(a) + len(b) - 1)
for i, x in enumerate(a):
for j, y in enumerate(b):
r[i + j] += x * y
return r
def deriv(a): return [k * a[k] for k in range(1, len(a))]
def integ01(a): return sum(c / (k + 1) for k, c in enumerate(a)) # ∫_0^1
def ip(a, b): return integ01(mul(a, b))
def goerisch_w(u): # w' = -u, ∫_0^1 w = 0
w = [Fr(0)] + [-c / (k + 1) for k, c in enumerate(u)]
w[0] -= integ01(w)
return w
def negative_pivots(G): # 負のピボットの個数 = 負の固有値の個数
n, G = len(G), [row[:] for row in G]
neg = 0
for j in range(n):
d = G[j][j]
assert d != 0, "ピボットが 0(Λ を変えて再試行)"
neg += d < 0
for i in range(j + 1, n):
l = G[i][j] / d
for k in range(j + 1, n):
G[i][k] -= l * G[j][k]
return neg
n, rho = 3, Fr(38) # rho <= λ_2 は第 6 節で示す
U = [mul([Fr(0)] * j + [Fr(1)], [Fr(1), Fr(-1)]) for j in range(1, n + 1)] # x^j (1 - x)
W = [goerisch_w(u) for u in U]
A0 = [[ip(deriv(a), deriv(b)) for b in U] for a in U]
A1 = [[ip(a, b) for b in U] for a in U]
A2 = [[ip(a, b) for b in W] for a in W]
lo, hi = Fr(98695, 10000), Fr(98698, 10000)
G = [[A0[i][j] - (rho + lo) * A1[i][j] + rho * lo * A2[i][j] for j in range(n)] for i in range(n)]
R = [[A0[i][j] - hi * A1[i][j] for j in range(n)] for i in range(n)]
print(negative_pivots(G), negative_pivots(R)) # 出力: 1 1

G(lo)G(\mathrm{lo}) が負の固有値をもつので 定理 5.2(N=k=1N=k=1)から λ1>9.8695\lambda_1\gt9.8695、A0−hi A1A_0-\mathrm{hi}\,A_1 が負の固有値をもつので q(u)<hi ∥u∥2q(u)\lt\mathrm{hi}\,\|u\|^2 となる uu があり、変分原理から λ1<9.8698\lambda_1\lt9.8698 です。計算はすべて有理数で厳密なので、9.8695<π2<9.86989.8695\lt\pi^2\lt9.8698 が証明されました(浮動小数で最適化すると、下界 9.8695639.869563、上界 9.8697509.869750 です)。

6. 有限要素法の下界と要素ごとの Poincaré 不等式

Section titled “6. 有限要素法の下界と要素ごとの Poincaré 不等式”

補題 6.1(要素ごとの Poincaré 不等式)✓

vv が [a,a+h][a,a+h] で絶対連続、v′∈L2v'\in L^2、v(a)=v(a+h)=0v(a)=v(a+h)=0 ならば ∫aa+hv2 dx≤(hπ)2∫aa+hv′2 dx\displaystyle\int_a^{a+h}v^2\,dx\le\Bigl(\frac h\pi\Bigr)^2\int_a^{a+h}v'^2\,dx である。定数 h/πh/\pi は最良である。

証明(補題 6.1)

a=0a=0 としてかまいません。φk=2/hsin⁡(kπx/h)\varphi_k=\sqrt{2/h}\sin(k\pi x/h) は L2(0,h)L^2(0,h) の正規直交基底(命題 6.2[Sturm–Liouville 問題と Green 関数])、ψk=2/hcos⁡(kπx/h)\psi_k=\sqrt{2/h}\cos(k\pi x/h)(k≥1k\ge1)は正規直交系です。vψkv\psi_k は絶対連続なので、微積分学の基本定理(定理 6.9[符号付き測度と Radon–Nikodym の定理])と v(0)=v(h)=0v(0)=v(h)=0 から部分積分ができ、⟨v′,ψk⟩=−⟨v,ψk′⟩=kπh⟨v,φk⟩\langle v',\psi_k\rangle=-\langle v,\psi_k'\rangle=\frac{k\pi}h\langle v,\varphi_k\rangle です。Parseval の等式と Bessel の不等式(定理 6.2[Hilbert 空間の基礎])から

∥v∥2=∑k⟨v,φk⟩2≤(hπ)2∑k(kπh)2⟨v,φk⟩2=(hπ)2∑k⟨v′,ψk⟩2≤(hπ)2∥v′∥2\|v\|^2=\sum_k\langle v,\varphi_k\rangle^2\le\Bigl(\frac h\pi\Bigr)^2\sum_k\Bigl(\frac{k\pi}h\Bigr)^2\langle v,\varphi_k\rangle^2=\Bigl(\frac h\pi\Bigr)^2\sum_k\langle v',\psi_k\rangle^2\le\Bigl(\frac h\pi\Bigr)^2\|v'\|^2

です。v=φ1v=\varphi_1 で等号が成り立ちます。

[0,1][0,1] を幅 h=1/mh=1/m の要素に分け、各要素で 1 次式の連続関数で両端 00 のものの空間を Vh⊂QV_h\subset Q とします。u∈Qu\in Q の節点補間(各節点で uu と同じ値をとる区分 1 次関数)を Ihu∈VhI_hu\in V_h と書きます。

補題 6.2(1 次元では Galerkin 射影は節点補間)✓

u∈Qu\in Q, vh∈Vhv_h\in V_h について q(u−Ihu,vh)=0q(u-I_hu,v_h)=0 である。さらに ∥u−Ihu∥≤hπ q(u−Ihu)1/2\|u-I_hu\|\le\frac h\pi\,q(u-I_hu)^{1/2} である。

証明(補題 6.2)

vh′v_h' は各要素 e=[xi−1,xi]e=[x_{i-1},x_i] で定数 ses_e なので、q(u−Ihu,vh)=∑ese∫e(u−Ihu)′dx=∑ese[(u−Ihu)(xi)−(u−Ihu)(xi−1)]=0q(u-I_hu,v_h)=\sum_es_e\int_e(u-I_hu)'dx=\sum_es_e\bigl[(u-I_hu)(x_i)-(u-I_hu)(x_{i-1})\bigr]=0 です(節点で u=Ihuu=I_hu)。後半は、u−Ihuu-I_hu が各要素の両端で 00 なので、補題 6.1 を要素ごとに使って足し合わせれば得られます。

次の定理のねらいは、有限要素法の Ritz 値 λk,h\lambda_{k,h} を、射影の誤差定数 ChC_h だけで真の固有値の下界に直すことです。証明は 2 つの場合に分かれます。固有関数の張る空間に、射影すると 00 になる関数があれば、誤差定数の仮定から直接 λk\lambda_k が大きいと分かります。なければ、射影した像が VhV_h の kk 次元部分空間になり、そこへ最大最小原理を使えます。

定理 6.3(Galerkin 射影の誤差定数による下界(Liu))✓

第 2 節の設定で、Vh⊂QV_h\subset Q を有限次元部分空間、Ph:Q→VhP_h:Q\to V_h を qq に関する直交射影とし、すべての u∈Qu\in Q について ∥u−Phu∥≤Ch q(u−Phu)1/2\|u-P_hu\|\le C_h\,q(u-P_hu)^{1/2}(Ch>0C_h\gt0)とする。VhV_h での Ritz 値を λ1,h≤λ2,h≤⋯\lambda_{1,h}\le\lambda_{2,h}\le\cdots とすると、k≤dim⁡Vhk\le\dim V_h について

λk ≥ λk,h1+Ch2λk,h.\lambda_k\ \ge\ \frac{\lambda_{k,h}}{1+C_h^2\lambda_{k,h}}.
証明(定理 6.3)

Ek=span⁡{e1,…,ek}E_k=\operatorname{span}\{e_1,\ldots,e_k\} とすると、u∈Eku\in E_k で q(u)≤λk∥u∥2q(u)\le\lambda_k\|u\|^2 です。右辺を ϕ(λk,h)\phi(\lambda_{k,h}), ϕ(t)=t/(1+Ch2t)\phi(t)=t/(1+C_h^2t) と書くと ϕ(t)<Ch−2\phi(t)\lt C_h^{-2} です。

Phu=0P_hu=0 となる u∈Ek∖{0}u\in E_k\setminus\{0\} があれば、∥u∥≤Chq(u)1/2≤Chλk∥u∥\|u\|\le C_hq(u)^{1/2}\le C_h\sqrt{\lambda_k}\|u\| から λk≥Ch−2>ϕ(λk,h)\lambda_k\ge C_h^{-2}\gt\phi(\lambda_{k,h}) です。

そうでなければ PhEkP_hE_k は VhV_h の kk 次元部分空間で、有限次元の最大最小原理(定理 3.1[行列の固有値評価と不等式]。VhV_h の正規直交基底で qq を行列にして使う)から、q(Phu)≥λk,h∥Phu∥2q(P_hu)\ge\lambda_{k,h}\|P_hu\|^2 となる u∈Ek∖{0}u\in E_k\setminus\{0\} があります。α2=q(u−Phu)\alpha^2=q(u-P_hu), β2=q(Phu)\beta^2=q(P_hu) とおくと、直交性から q(u)=α2+β2q(u)=\alpha^2+\beta^2 です。三角不等式と Cauchy–Schwarz の不等式から

∥u∥≤∥Phu∥+∥u−Phu∥≤βλk,h+Chα≤α2+β2 λk,h−1+Ch2,\|u\|\le\|P_hu\|+\|u-P_hu\|\le\frac{\beta}{\sqrt{\lambda_{k,h}}}+C_h\alpha\le\sqrt{\alpha^2+\beta^2}\,\sqrt{\lambda_{k,h}^{-1}+C_h^2},

したがって ∥u∥2≤q(u) (λk,h−1+Ch2)≤λk∥u∥2(λk,h−1+Ch2)\|u\|^2\le q(u)\,(\lambda_{k,h}^{-1}+C_h^2)\le\lambda_k\|u\|^2(\lambda_{k,h}^{-1}+C_h^2) で、∥u∥2>0\|u\|^2\gt0 で割れば λk≥ϕ(λk,h)\lambda_k\ge\phi(\lambda_{k,h}) です。

モデル問題の区分 1 次要素では 補題 6.2 から Ch=h/πC_h=h/\pi です。離散固有値は λk,h=6h2⋅1−cos⁡kπh2+cos⁡kπh\lambda_{k,h}=\frac6{h^2}\cdot\frac{1-\cos k\pi h}{2+\cos k\pi h} と陽に書け、定理 3.1 の上界と合わせて次の包含が得られます。

要素数 mm を増やすと、λ1\lambda_1 の上界と下界がどう π2\pi^2 を挟み込むかを動画で見てみましょう。

左に固有関数 sin πx と区分 1 次近似、右に λ₁ の上界と下界。m を増やすと上界は下がり下界は上がって、π² の破線を挟んだまま幅が縮む。
m を 4 から 64 まで増やしたときの λ₁ の上界(Rayleigh–Ritz)と下界(Liu)。区間は π² を含んだまま狭まる。
m=1/hm=1/hλ1\lambda_1 の下界λ1\lambda_1 の上界λ2\lambda_2 の下界λ2\lambda_2 の上界
89.84139.997138.98241.547
169.86279.901439.36539.988
649.86929.871639.47239.510

例 5.4 で使った ρ=38≤λ2\rho=38\le\lambda_2 は、この表から得られます。表の値自体を厳密にするには、ϕ\phi が増加関数なので λ2,h\lambda_{2,h} の下界があれば足ります。m=16m=16 では、λ2,h\lambda_{2,h} が三重対角の一般化固有値問題 Kx=λMxK\boldsymbol{x}=\lambda M\boldsymbol{x}(K=1htridiag(−1,2,−1)K=\frac1h\mathrm{tridiag}(-1,2,-1), M=h6tridiag(1,4,1)M=\frac h6\mathrm{tridiag}(1,4,1))の固有値なので、K−39910MK-\tfrac{399}{10}M の負のピボットを有理数で数えると 1 個、すなわち λ2,h≥39.9\lambda_{2,h}\ge39.9 です(第 3 章の Sturm 列)。π>3.14\pi\gt3.14 から Ch2≤(1/(16⋅3.14))2C_h^2\le(1/(16\cdot3.14))^2 として λ2≥ϕ(39.9)≥39.27>38\lambda_2\ge\phi(39.9)\ge39.27\gt38 が、有理数の計算だけで出ます。

有限要素法の下界は、すべての kk に同時に使え、補助関数 ww も要らないのが利点です。多次元では節点補間は Galerkin 射影にならないので、Crouzeix–Raviart 要素など別の射影と、その誤差定数の評価を組み合わせます(Liu の論文)。

積分作用素 (Kf)(x)=∫−11k(x,y)f(y) dy(Kf)(x)=\int_{-1}^1k(x,y)f(y)\,dy(kk は連続で k(x,y)=k(y,x)k(x,y)=k(y,x))の固有値は、第 2 章の求積と組み合わせて包めます。この方法を Nyström 法といい、積分を求積公式の節点での和に置き換えて、積分作用素を行列で近似します。μn\mu_n をミニマックス値(定義 6.1[作用素の収束と摂動])とします。

命題 7.1(有界な摂動に対する固有値の安定性)✓

KK, K~\widetilde K を無限次元 Hilbert 空間上の有界自己共役作用素とすると、すべての nn で ∣μn(K)−μn(K~)∣≤∥K−K~∥|\mu_n(K)-\mu_n(\widetilde K)|\le\|K-\widetilde K\| である。

証明(命題 7.1)

ε=∥K−K~∥\varepsilon=\|K-\widetilde K\| とすると ⟨ψ,Kψ⟩≤⟨ψ,(K~+ε)ψ⟩\langle\psi,K\psi\rangle\le\langle\psi,(\widetilde K+\varepsilon)\psi\rangle なので、系 6.5[作用素の収束と摂動] から μn(K)≤μn(K~+ε)=μn(K~)+ε\mu_n(K)\le\mu_n(\widetilde K+\varepsilon)=\mu_n(\widetilde K)+\varepsilon です(定義から定数のずれはそのまま μn\mu_n に出ます)。KK と K~\widetilde K を入れ替えれば逆向きです。

命題 7.2(Nyström 行列は補間核の作用素)✓

xix_i, wiw_i を nn 点 Gauss–Legendre 求積の節点と重み、ℓi\ell_i を Lagrange 基底とし、k~(x,y)=∑i,jk(xi,xj)ℓi(x)ℓj(y)\tilde k(x,y)=\sum_{i,j}k(x_i,x_j)\ell_i(x)\ell_j(y) とする。k~\tilde k を核とする作用素 K~\widetilde K の 00 でない固有値は、重複度も込めて、Nyström 行列 (wi k(xi,xj)wj)i,j\bigl(\sqrt{w_i}\,k(x_i,x_j)\sqrt{w_j}\bigr)_{i,j} の 00 でない固有値に一致する。

証明(命題 7.2)

ℓiℓj\ell_i\ell_j は 2n−22n-2 次なので Gauss 求積は厳密で(定理 6.1[直交多項式])、⟨ℓi,ℓj⟩=∑mwmℓi(xm)ℓj(xm)=wiδij\langle\ell_i,\ell_j\rangle=\sum_mw_m\ell_i(x_m)\ell_j(x_m)=w_i\delta_{ij} です。よって gi=ℓi/wig_i=\ell_i/\sqrt{w_i} は V=span⁡{ℓi}V=\operatorname{span}\{\ell_i\} の正規直交基底です。K~f=∑iℓi∑jk(xi,xj)⟨ℓj,f⟩\widetilde Kf=\sum_i\ell_i\sum_jk(x_i,x_j)\langle\ell_j,f\rangle なので K~\widetilde K は V⊥V^\perp 上で 00、VV を VV に写し、K~gj=∑igiwi k(xi,xj)wj\widetilde Kg_j=\sum_ig_i\sqrt{w_i}\,k(x_i,x_j)\sqrt{w_j} です。したがって K~\widetilde K は VV 上で Nyström 行列が表す作用素と V⊥V^\perp 上の 00 の直和です。

Cauchy–Schwarz の不等式から ∥K−K~∥≤∥k−k~∥L2([−1,1]2)≤2sup⁡∣k−k~∣\|K-\widetilde K\|\le\|k-\tilde k\|_{L^2([-1,1]^2)}\le2\sup|k-\tilde k| なので、命題 7.1 により、Nyström 行列の固有値(第 3 章の方法で包む)と核の補間誤差の上界を足せば、KK の固有値の包含になります。補間誤差の上界は本章では扱いません。解析的な核なら、第 2 章の Chebyshev 係数の減衰と補間の Lebesgue 定数の評価を組み合わせて得られます。

演習 8.1易

(Weinstein の包含)定理 4.1 の記号で、∣λm−η∣≤σ|\lambda_m-\eta|\le\sigma を満たす固有値 λm\lambda_m が存在することを示し、例 4.2 の ψ\psi に適用せよ。

解答

σ2=∥Aψ∥2−η2=∑m(λm−η)2cm2≥min⁡m(λm−η)2∑mcm2=min⁡m(λm−η)2\sigma^2=\|A\psi\|^2-\eta^2=\sum_m(\lambda_m-\eta)^2c_m^2\ge\min_m(\lambda_m-\eta)^2\sum_mc_m^2=\min_m(\lambda_m-\eta)^2 です(∑mλmcm2=η\sum_m\lambda_mc_m^2=\eta, ∑cm2=1\sum c_m^2=1 を使って展開)。η=10\eta=10, σ=20≈4.47\sigma=\sqrt{20}\approx4.47 なので [5.53,14.47][5.53,14.47] に固有値があります。ν\nu を使わない代わりに、Temple の下界 9.299.29 よりずっと粗くなります。

演習 8.2標準

例 5.4 の w=112−x22+x33w=\tfrac1{12}-\tfrac{x^2}2+\tfrac{x^3}3 が w′=−x(1−x)w'=-x(1-x) を満たし、∥w∥2=175040\|w\|^2=\tfrac{17}{5040} であることを確かめよ。また、平均 00 の ww を選ぶと A2A_2 が最小になる理由を説明せよ。

解答

w′=−x+x2=−x(1−x)w'=-x+x^2=-x(1-x) です。∫01w=112−16+112=0\int_0^1w=\tfrac1{12}-\tfrac16+\tfrac1{12}=0 です。∥w∥2=∫01(112−x22+x33)2dx\|w\|^2=\int_0^1(\tfrac1{12}-\tfrac{x^2}2+\tfrac{x^3}3)^2dx を展開すると、1144+120+163−136+172−118\tfrac1{144}+\tfrac1{20}+\tfrac1{63}-\tfrac1{36}+\tfrac1{72}-\tfrac1{18} で、分母を 50405040 にそろえると 35+252+80−140+70−2805040=175040\tfrac{35+252+80-140+70-280}{5040}=\tfrac{17}{5040} です。ww に定数 CC を足しても条件 w′=−uw'=-u は保たれ、∥w+C∥2=∥w∥2+2C∫w+C2\|w+C\|^2=\|w\|^2+2C\int w+C^2 は ∫w=0\int w=0 のとき C=0C=0 で最小です。実際、T(Q)={g∈L2:∫g=0}T(Q)=\{g\in L^2:\int g=0\} なので、平均 00 の ww は 補題 5.1 の証明の TgTg そのもので、不等式は等号になります。

演習 8.3標準

m=8m=8 の区分 1 次要素で λ1,h=9.9971…\lambda_{1,h}=9.9971\ldots である。定理 6.3 から λ1\lambda_1 の下界を計算し、表の値と照合せよ。

解答

Ch=18πC_h=\frac1{8\pi} なので Ch2λ1,h=9.997164π2≈0.015826C_h^2\lambda_{1,h}=\frac{9.9971}{64\pi^2}\approx0.015826 で、λ1≥9.99711.015826≈9.8413\lambda_1\ge\frac{9.9971}{1.015826}\approx9.8413 です。上界 9.99719.9971 と合わせて 9.8413≤π2≤9.99719.8413\le\pi^2\le9.9971 です。hh を半分にすると上下の幅はおよそ 1/41/4 になり、どちらも O(h2)O(h^2) で収束することが表から読み取れます。

  • G. Temple, “The theory of Rayleigh’s principle as applied to continuous systems”, Proceedings of the Royal Society of London A 119 (1928).
  • A. Weinstein, W. Stenger, Methods of Intermediate Problems for Eigenvalues, Academic Press, 1972 — Rayleigh–Ritz、Temple、Weinstein の方法。
  • H. Behnke, F. Goerisch, “Inclusions for eigenvalues of selfadjoint problems”, in J. Herzberger (ed.), Topics in Validated Computations, North-Holland, 1994 — Lehmann–Goerisch の方法。
  • X. Liu, “A framework of verified eigenvalue bounds for self-adjoint differential operators”, Applied Mathematics and Computation 267 (2015).
  • M. T. Nakao, M. Plum, Y. Watanabe, Numerical Verification Methods and Computer-Assisted Proofs for Partial Differential Equations, Springer, 2019 — 固有値の包含と計算機援用証明の全体像。
  • M. Reed, B. Simon, Methods of Modern Mathematical Physics IV: Analysis of Operators, Academic Press, 1978 — 第 XIII.1 節(ミニマックス原理)。

このテーマの 100 本ノック(50 問)

執筆: Claude Code(Opus 5.5)、Claude Code(Sonnet 5.5)・監査 3 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。