変数分離法(偏微分方程式)

同義語:変数分離法(偏微分方程式)separation of variables

概要

変数分離法(偏微分方程式)(separation of variables)とは、複数の変数を持つ解を一変数関数の積に分け、固有値問題と時間の方程式へ移す方法である。境界に適合する固有関数を重ね合わせ、初期条件から係数を決める。有界区間の熱の分布や長方形の定常境界値問題の計算に使われる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 半区間展開, 常微分方程式, 一様収束, 偏微分

変数分離法は、複数の変数を持つ方程式の解を、各変数だけに依存する関数の積として探す方法である。積の形の一つの解だけでは、一般の初期分布を表せない。そこで境界条件を満たす積の解を列挙し、それらを重ね合わせて初期条件を合わせる。空間の境界条件が許される振動数を決め、時間の方程式が各振動数の減衰や振動を決める。
本記事では長さ $L$ の区間の熱方程式を主な題材にする。両端の温度を固定する場合と、両端を断熱する場合では、用いる固有関数と長時間後の温度が変わる。さらに定常解を引いて非零の境界値を扱い、長方形のLaplace方程式でも同じ分離の手順を確認する。全空間の熱核や最大値原理の一般論とは別に、有界領域での級数解の構成と正当化を扱う。

分離した解と境界値問題

変数分離による積の解

$u_t=ku_{xx}$、$0< x< L$、$k>0$ に対し、$u(x,t)=X(x)T(t)$ と置く。非零の積の解では
$$ -X''=\lambda X,\qquad T'=-k\lambda T $$
を同じ定数 $\lambda$ で満たす。境界条件を満たす $X$ を選び、$T(t)=e^{-k\lambda t}$ として重ね合わせる方法を変数分離法という。

導出は $XT'=kX''T$ で、$X,T$ が零でない部分で割ると $T'/(kT)=X''/X$ となる。左辺は時間だけ、右辺は空間だけに依存するため、連結した長方形のその部分では定数になる。定数を $-\lambda$ と定めれば上の二式が得られる。零点で割った式を使い続けるのでなく、得た常微分方程式を解いて元の積の方程式へ代入することで全域の解を確認する。
両端Dirichlet条件なら $X(0)=X(L)=0$、両端Neumann条件なら $X'(0)=X'(L)=0$ である。固有値・固有関数の列挙は 半区間展開 の定理「固定端と自由端の固有関数」を使う。熱の場合、負の固有値がなければ各非定数モードは減衰する。Neumannの固有値零だけは時間因子が $1$ で、その係数は初期分布の平均を保持する。

級数解が本当に解になること

零温度境界での熱の級数解

$f$ は $[0,L]$ で区分的に連続とし、$B_n=\frac2L\int_0^Lf(x)\sin(n\pi x/L)dx$ とする。
$$ u(x,t)=\sum_{n=1}^{\infty}B_ne^{-k(n\pi/L)^2t}\sin\frac{n\pi x}{L} $$
は $t>0$ で任意の階数の空間・時間導関数を持ち、$u_t=ku_{xx}$、$u(0,t)=u(L,t)=0$ を満たす。さらに $f$ が連続で区分的に $C^1$ 級、$f(0)=f(L)=0$ なら、$t\to0+$ で $u(\cdot,t)\to f$ は $[0,L]$ で一様である。

係数の定義から $|B_n|\le C:=2L^{-1}\int_0^L|f|dx$ である。$t\ge\tau>0$ に制限すると、空間を $r$ 回、時間を $s$ 回微分した項の絶対値は
$$ Ck^s\left(\frac{n\pi}{L}\right)^{r+2s} e^{-k(n\pi/L)^2\tau} $$
以下になる。任意の整数 $q\ge0$ と $c>0$ に対し $\sum_{n\ge1}n^qe^{-cn^2}$ は収束する。例えば大きな $n$ で $n^q\le e^{cn^2/2}$ となり、残りを $e^{-cn^2/2}\le e^{-cn/2}$ で抑えられる。従って優級数判定法から、すべての導関数の級数は $[0,L]\times[\tau,T]$ で一様収束する。
有限和は滑らかで、その導関数の級数も各階で一様収束するため、微分と極限を交換できる。各項は $u_t=ku_{xx}$ を満たすから和も満たし、正弦項の端の値はすべて零なので境界条件も満たす。$\tau>0$ は任意だから、$t>0$ 全体で主張が成立する。
最後の初期値の主張を示す。半区間展開 の定理「半区間の級数が表す値」により、$\phi_n(x)=B_n\sin(n\pi x/L)$ の級数は $[0,L]$ で一様に $f$ に収束する。従って任意の $\varepsilon>0$ に対し、十分大きな $N$ から始まる有限尾部 $\sum_{n=N+1}^M\phi_n(x)$ は、すべての $M>N$ と $x$ で絶対値 $\varepsilon$ 以下にできる。
$w_n(t)=e^{-k(n\pi/L)^2t}$ とおく。$w_n$ は $n$ について非負で減少し、$1$ 以下である。有限の部分和公式により、尾部の重み付き和は、尾部の各部分和と差 $w_n-w_{n+1}$ の積の和、および最後の部分和と $w_M$ の積になる。係数の総和は $w_{N+1}\le1$ なので、重み付き尾部も一様に $\varepsilon$ 以下である。$M\to\infty$ にしても同じ評価が残る。
最初の $N$ 項では $w_n(t)\to1$ が有限個について一様に成り立つ。重みなしの尾部も $\varepsilon$ 以下だから、$u-f$ は、最初の有限和の差と二つの尾部で抑えられる。$t\to0+$、次に $\varepsilon\to0$ とすれば一様収束を得る。初期時刻で高階微分が収束するとまでは主張していない。$\square$

この証明の時間因子は、高い周波数ほど速く減ることを数式にしている。$t>0$ では初期関数に有限個の跳びがあっても解は滑らかになる。一方、$t=0$ を含めて微分の級数を同じ評価で抑えることはできない。正の時刻からの滑らかさと、初期時刻での端の適合は別に確かめる。

一意性とエネルギー

有界区間の熱の古典解の一意性

$u,v$ が実数値の関数で、$[0,L]\times[0,T]$ で連続、$t>0$ で一回時間微分・二回空間微分でき、正の時刻で端までこれらの導関数が連続とする。同じ初期値と、同じ斉次Dirichletまたは斉次Neumann境界条件で $u_t=ku_{xx}$ を満たすなら $u=v$ である。

$w=u-v$ とおく。$w$ は初期値零で同じ斉次境界条件を満たす。正の時刻で $E(t)=\frac12\int_0^Lw(x,t)^2dx$ を微分すると
$$ E'(t)=\int_0^Lww_tdx =k\int_0^Lww_{xx}dx =k[ww_x]_0^L-k\int_0^Lw_x^2dx\le0. $$
Dirichletでは $w=0$、Neumannでは $w_x=0$ により端の項が零になる。固定した $0<\delta< t$ で積分すると $0\le E(t)\le E(\delta)$ である。初期時刻を含めた連続性から $w(\cdot,\delta)\to0$ はコンパクト区間で一様であり、$E(\delta)\to0$ となる。従って $E(t)=0$。$w$ は連続だから各点で零である。初期時刻でも零なので全域で一致する。$\square$

ここでのエネルギーは温度の二乗積分であり、物理的な熱量の積分とは異なる。Neumann条件では平均温度の積分が保存されるが、平均からのずれの二乗積分は減少する。保存される量と減少する量を区別すると、長時間後に平均へ近づくことと矛盾しない。熱の一般的な最大値原理を使わず、有界区間で必要な一意性をエネルギーで示した。

境界条件の公式の表

境界条件空間の基底時間因子初期係数・根拠
$u(0,t)=u(L,t)=0$$\sin(n\pi x/L)$$e^{-k(n\pi/L)^2t}$正弦係数、thm-svp-heat-series
$u_x(0,t)=u_x(L,t)=0$$1,\cos(n\pi x/L)$$1,e^{-k(n\pi/L)^2t}$余弦係数、同じ優級数評価
$u(0,t)=u_x(L,t)=0$$\sin((n+1/2)\pi x/L)$$e^{-k((n+1/2)\pi/L)^2t}$Sturm–Liouville問題 の定理「正則な分離問題の展開定理」(初期値は $L^2$ の意味)
$u(0,t)=A,u(L,t)=B$$u=w+v$、$w=A+(B-A)x/L$$v$ は零境界の減衰$f-w$ の正弦係数

Neumannの式の収束と項別微分は、余弦係数が一様に有界であることから同じ優級数評価で示せる。初期値が連続・区分的に $C^1$ 級なら、偶延長の一様収束と重み付き尾部の評価も同じである。$u_x=0$ の正の時刻の境界条件は各余弦項で成り立つ。初期分布の端の導関数が零でない場合には、初期時刻の導関数まで連続につながるとは限らない。
混合条件では $p=r=1$、$q=0$、$X(0)=X'(L)=0$ の正則な分離問題を用いる。上記の展開定理により $\sin((n+1/2)\pi x/L)$($n\ge0$)は $L^2(0,L)$ で完全で、各二乗ノルムは $L/2$ である。$f\in L^2(0,L)$ に対し $C_n=(2/L)\int_0^Lf(x)\sin((n+1/2)\pi x/L)dx$ とし、$u=\sum_{n\ge0}C_ne^{-k((n+1/2)\pi/L)^2t}\sin((n+1/2)\pi x/L)$ を取る。Cauchy–Schwarzにより $C_n$ は一様有界なので、正の時刻の微分は熱級数と同じ優級数評価で正当化できる。各項は混合境界条件を満たす。完全性と直交性から $\|u(\cdot,t)-f\|_2^2=(L/2)\sum_{n\ge0}|C_n|^2|e^{-k((n+1/2)\pi/L)^2t}-1|^2\to0$ となる(有限項の収束と二乗係数尾部で示す)。ここでの混合条件の初期収束は $L^2$ の意味であり、Dirichletの定理の閉区間一様収束を無条件で流用しない。

非零の境界値を引く

一定の端の温度 $A,B$ があるなら、まず $w(x)=A+(B-A)x/L$ を選ぶ。$w''=0$ で端の温度を正しく持つので、$v=u-w$ は $v_t=kv_{xx}$ と零温度境界を満たす。初期分布は $v(x,0)=f(x)-w(x)$ に変わる。正弦係数を求める入力も、この差であって元の $f$ ではない。
境界値が時間に依存すると、同じ引き算の後に $-w_t+kw_{xx}$ の非斉次項が残る。時間に依存する直線を引けば方程式まで斉次になると考えてはいけない。非斉次方程式の固有関数展開はさらに時間の強制項を解く問題となる。本記事では端の温度が一定の場合に限定して手順を示す。

計算の手順

  1. 方程式、区間、境界条件、初期値、正の定数をすべて書く。温度を一定の基準から測るなど、単位と基準を決める。
  2. 非斉次の境界値が一定なら定常解を引く。
  3. $-X''=\lambda X$ と境界条件を解いて基底を選ぶ。Dirichlet・Neumannの分類は 半区間展開 を用いる。
  4. 初期分布を対応する基底で展開し、係数を計算する。
  5. 各空間モードに時間因子を掛けて足す。Neumannの零モードを残す。
  6. 級数の微分と初期値の近づき方を thm-svp-heat-series または同じ評価で正当化する。
  7. 方程式の残差、境界値、初期値をそれぞれ検査する。一意性があれば、作った解が求める唯一の解である。
    初期条件を満たすために無限和が必要であっても、境界条件は各項で満たすように選ぶ。これにより、係数を決める段と境界条件を確かめる段を分離できる。ただし無限和の一意性や存在を、有限和の重ね合わせだけで済ませることはできない。級数が収束し、その導関数も必要な場所で収束することが、有限和の議論を無限和へ移す橋となる。

例題

近似値は小数第6位までで、以下は無次元化した $L=k=1$ の例である。

二つの正弦モードの減衰

$u(0,t)=u(1,t)=0$、$u(x,0)=\sin\pi x+\frac12\sin3\pi x$ なら
$$ u(x,t)=e^{-\pi^2t}\sin\pi x+\frac12e^{-9\pi^2t}\sin3\pi x. $$
$x=1/2,t=0.1$ では $u=e^{-\pi^2/10}-\frac12e^{-9\pi^2/10}\approx0.372638$ となる。三倍の振動数の成分は九倍の率で減るため、初期の細かい形は速く消える。二つの時間因子を同じ減衰率にしてはいけない。

断熱境界では平均が残る

$u_x(0,t)=u_x(1,t)=0$、$u(x,0)=2+\cos\pi x$ なら $u(x,t)=2+e^{-\pi^2t}\cos\pi x$ である。$x=0,t=0.1$ の値は $2+e^{-\pi^2/10}\approx2.372708$ となる。非定数モードは零へ近づくが平均 $2$ は残る。長時間後の温度は両端零境界の場合と異なり、初期の平均で決まる。

異なる端の温度

$u(0,t)=1$、$u(1,t)=3$、$u(x,0)=1+2x+\sin\pi x$ なら、定常解 $w=1+2x$ を引いて $u=1+2x+e^{-\pi^2t}\sin\pi x$ を得る。$x=1/2,t=0.1$ では $u\approx2.372708$ である。端の温度差は定常解に残り、初期の余分な正弦モードだけが減衰する。

長方形での分離

$0< x<1$、$0< y<1$ で $u_{xx}+u_{yy}=0$、下辺と左右辺で零、上辺で $\sin\pi x$ を与える。分離した答えは
$$ u(x,y)=\frac{\sinh(\pi y)}{\sinh\pi}\sin\pi x. $$
$x=y=1/2$ では $u=\sinh(\pi/2)/\sinh\pi\approx0.199268$ である。$x$ 側の二階微分が $-\pi^2X$、$y$ 側が $\pi^2Y$ なので和は零になる。熱の時間因子は指数減衰だったが、ここでは第2の空間方向が双曲線正弦になる。基底を選んで残りの一変数方程式を解く手順は同じである。

使える条件と反例

外す条件反例成り立たなくなること
初期値と端の適合$f=1$ と零温度境界初期時刻の端まで連続にはならない
Neumannの零モード初期温度 $2$全成分が減衰すると平均保存に反する
拡散係数の正値$k=-1$高周波が $e^{n^2\pi^2t}$ で増幅
級数の微分の正当化$t=0$ の非滑らかな初期分布正の時刻の評価を初期時刻へ使えない

第1の反例では、正の時刻では正弦級数が両端で零になり、内部で初期の $1$ へ近づく。端で $1$ と零を同時に要求して、初期時刻を含む閉領域の連続解を作ることはできない。初期条件の意味を内部での極限に限定すれば別の解の概念として扱えるが、一様収束の主張の端条件を外したことにはならない。
負の拡散係数では、初期係数が小さくても高周波の増幅が非常に大きくなる。例えば $f(x)=\sum_{n\ge1}e^{-n}\sin(n\pi x)$ は滑らかな初期分布だが、$t>0$ の形式的な項の係数 $e^{-n+n^2\pi^2t}$ は零に近づかない。したがって級数解の存在の証明は崩れる。正値の仮定は、単なる物理的な符号の選択だけでなく、級数を収束させる条件でもある。

長時間の形と打ち切り

Dirichletの場合は、最も低い非零のモードが一般に最後まで残る。第1係数が零なら第2以降の最初の非零モードが支配する。係数が偶奇によって消えることもあるので、長時間の形を第1正弦波と決めつけず、実際の係数を調べる。Neumannの場合は零モードが先に残り、そこからのずれを低い非零モードで近似する。
係数を $|B_n|\le C$ で抑えれば、$t\ge\tau>0$ で尾部は $C\sum_{n>N}e^{-k(n\pi/L)^2\tau}$ 以下になる。正の時刻が固定されるほど、必要な項数は少なくなる。初期時刻に近づくほど多くの項が必要になるため、全時刻で同じ項数を使った図の誤差が一様とは限らない。時刻と項数を示すことが、級数解を数値として使う際の基本である。
温度の二乗積分は減るが、点ごとの温度が常に単調に減るとは限らない。複数のモードが異なる率で減るため、負の成分が速く消える場所では温度がいったん増えることもある。エネルギーの単調性を点ごとの単調性へ読み替えない。この違いは、熱が高い所から低い所へ広がるという現象と両立している。
時間とともに高い周波数が消える熱の分布 時間とともに高い周波数が消える熱の分布
図は ex-svp-two-modes の初期分布と正の時刻の分布を示す。時間が経つと三倍周波数の成分が先に消え、第1モードの形になる。境界の値はどの時刻でも零である。分離した各項の減衰と、重ね合わせた空間の形の変化を対応させて読む。
分離の手順と熱の例は LebDQ26 §4.6(pp. 232–239)、定常解と長方形の例は §4.9(pp. 258–259)を参照できる。無限和の微分と初期値の極限は、上の定理で条件を明示して証明した。

よくある誤り

誤り正しくは理由
一つの積で一般初期値を合わせる固有関数を重ね合わせる一般の分布は一モードでない
温度境界に余弦を使う正弦を使う各項の端の値
定常解を引いても係数は元の初期値初期値から定常解を引く差の初期条件
形式的な重ね合わせだけで解とする級数と導関数の収束を示すthm-svp-heat-series
エネルギー減少を各点単調と読む積分量の単調性と区別モードの相殺

無限和の解と積の形の解の関係

積 $X(x)T(t)$ の形の解を一つ求めただけでは、任意の初期条件を解いたことにはならない。積の形で表せる初期関数は、通常は一つの固有関数の定数倍である。任意の初期の形に対応させる段階では、固有関数の和を取り、その係数を初期関数の積分から求める。線形性は有限和が解になることを保証するが、無限和には収束と微分の交換の証明が必要である。
熱の級数で正の時刻を固定する理由は、この交換を区間全体で評価できるようにするためである。$t\ge\tau>0$ なら、二階空間微分や時間微分の係数に周波数のべきが掛かっても、指数減衰がそれを上回る。したがって、正の時刻から離れた領域では各階数の微分を一様に扱える。この評価の定数は $\tau$ に依存しており、$\tau\downarrow0$ とすると同じままでは使えない。
この違いにより、初期関数が区分的に連続な場合にも正の時刻で滑らかな解が得られる一方、初期時刻の全微分が連続になるとは限らない。端の初期値が境界と合わない場合には、初期時刻と端点が交わる角で連続な解を要求できない。本記事の閉区間での一様な初期値の主張では、連続性と両端零の適合を仮定している。正の時刻で成立する主張を、初期時刻へそのまま延長していない。
非零の境界値を引く方法では、引いた関数が何の方程式を満たすかも重要である。時間に依存しない直線なら二階空間微分が零なので、熱の定常解になる。時間に依存する直線の境界補間では、その時間微分が残るため、差の方程式には外力が現れる。境界だけを零にして、差も同じ斉次の熱方程式を満たすと書くのは誤りである。補間関数を元の方程式へ代入し、残差を計算してから係数の時間方程式を作る。
Neumann 条件では、一意性のエネルギー証明の境界項は $u_x=0$ によって消える。Dirichlet 条件では $u=0$ によって消える。境界項が零になる理由は異なるが、どちらでも差の二乗積分は増加しない。初期値を指定しない定常問題では、Neumann 条件だけでは定数の自由度が残ることもある。時間発展で初期値を指定した一意性と、定常境界値問題の一意性を混同しない。
二つの空間方向を持つ Laplace 方程式でも、境界条件が基底を決める。片方で正弦を選べばその方向の二階微分は負の固有値倍となり、もう一方の方程式には正の固有値が入る。従って双曲線関数が現れる。熱の時間方程式の符号をそのまま流用すると、二階空間微分の和が零にならない。分離定数を導入した式から、残る方向の方程式の符号を逐一確認する。
求めた解の確認は、方程式、境界、初期値を独立に行う。時間因子の符号が合っていても、誤った基底なら境界が合わない。正しい基底でも係数の規格化を誤れば初期値が合わない。非零境界を引いた例では、元の解に定常成分を戻した後の式を境界へ代入する。差の解だけを確認して終えると、元の条件を満たすことを示し忘れる。
時刻が大きい場合の形も、同じ確認に使える。両端零ならすべての固有値が正で、各モードは減衰する。断熱端なら固有値零の定数成分が残る。非零の固定温度なら定常解が残る。これらは数値例の偶然ではなく、空間の境界条件から決まる長時間の違いである。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する