第 2 章 熱方程式 57
2.8 Fourier の方法とスペクトル分解
—なぜ Fourierの方法で問題が解けるのだろう? —
熱伝導方程式の初期値境界値問題は、Fourier の方法で解を構成することができたが、それ は線形代数でおなじみの「実対称行列は実直交行列で対角化できる40」という定理や、定数係 数線形常微分方程式の初期値問題
dx
dt =Ax, x(0) =x0 の解法と深い関係にある。これらのことを説明しよう。
授業をするときのためのメモ 演習で様々な固有値問題を解かせておくと良いかもしれない。
固有値が実数 (さらには非負)で、異なる固有値に属する固有関数同士が直交することは確認 可能であろう。
39d dt
Z t 0
g(t, s)ds=g(t, t) + Z t
0
∂g
∂t(t, s)dsという式変形をする。しかし今の場合にこれを正当化するのは容易
ではない。
40Aを任意の実対称行列とするとき、適当な実直交行列U を選べば、tU AU は対角行列になる、ということ。
2.8.1 Fourier の方法に現れる固有値問題
Fourierの方法を実行する過程で
次式を満たすζ =ζ(x), λ を見い出せ:
d2
dx2ζ(x) =λζ(x), ζ(0) =ζ(1) = 0, ζ(x)6≡0.
という問題を解いた。この問題と線形代数で学んだ固有値問題 行列の固有値問題
A∈M(N,R)が与えられたとき、
Ax=λx, x6= 0 を満たす x, λ を見い出せ。
の類似に気がついたであろうか? 実は、上の問題も、ある種の固有値問題と考えられる。
おおざっぱに言えば、ζ(0) =ζ(1) = 0 を満す任意のζ に対して Aζ := d2
dx2ζ
によって、作用素 Aを定めると、これは線形作用素となるが、上の問題は、A の固有値λ と 固有ベクトル(ふつうは固有関数と呼ぶ)ζ を求めよ、ということになる。この問題の答は、既 に見たように、
• 固有値は λn =−n2π2 (n ∈N)
• λn に対応する固有ベクトルは φn(x) = sinnπx
だったが、固有値がすべて実数で、固有ベクトルについて直交関係 n 6=m =⇒
Z 1
0
φn(x)φm(x)dx= 0 ば成り立つのは、偶然ではなく、
実対称行列の固有ベクトルの直交性
A を実対称行列とすると、固有値はすべて実数で、相異なる固有値に属する固有ベクトル は互いに直交する。
という線形代数の定理と同じ原理に基づく。実際、関数 f, g の内積(f, g) を (f, g) :=
Z 1 0
f(x)g(x)dx
で定義すると、f(0) =f(1) = 0, g(0) =g(1) = 0 を満たす関数f,g に対して、
(Af, g) = Z 1
0
f′′(x)g(x)dx
= h
f′(x)g(x) i1
0− Z 1
0
f′(x)g′(x)dx
=− Z 1
0
f′(x)g′(x)dx
=−h
f(x)g′(x) i1
0+ Z 1
0
f(x)g′′(x)dx
= Z 1
0
f(x)g′′(x)dx= (f, Ag)
が成り立つこと (A の対称性!41) に注意しておけば、形式的には、まったく同じ証明が使え る。まず、
λn(φn, φn) = (λnφn, φn) = (Aφn, φn) = (φn, Aφn) = (φn, λnφn) =λn(φn, φn) より、
λn =λn i.e. λn∈R.
次に
λn(φn, φm) = (λnφn, φm)
= (Aφn, φm) = (φn, Aφm)
= (φn, λmφm) = λm(φn, φm) =λm(φn, φm) より
(λn−λm)(φn, φm) = 0 であるから、λn6=λm であれば
(φn, φm) = 0 が導かれる。
注意 2.8.1 (固有値が負であること) 実はλn ≤0 (n ∈N) であることも同様の議論で証明で きる:
λn(φn, φn) = (λnφn, φn) = (Aφn, φn)
= Z 1
0
φ′′n(x)φn(x)dx= h
φ′n(x)φn(x) i1
0− Z 1
0
φ′n(x)φ′n(x)dx
=− Z 1
0
|φ′n(x)|2dx≤0 の両辺を (φn, φn)>0 で割って、λn ≤0.
41行列A が対称であるための必要十分条件は、任意のベクトルx,y に対して(Ax, y) = (x, Ay)が成り立つ ことである。
注意 2.8.2 (固有値についての情報の計算への利用) 前節で固有値問題 ζ′′(x) =λζ(x) (x∈(0,1)), ζ(0) =ζ(1) = 0, ζ 6≡0
を解いたわけだが、事前に固有値 λ が実数で、正にはならないことを知っていれば、
λ =−µ2 (µ≥0)
とおくことができて、計算が少し簡単になる (複素数の計算は使わずに済む)。例えば µ6= 0 の場合はすぐに
ζ(x) =Acosµx+Bsinµx (A, B は任意定数) とおける。(細かい説明抜きに) そのようにして計算してある本も多い42。
注意 2.8.3 (実数値の固有関数が存在すること) 任意の固有値λが実数であることが分かった わけであるが、それに属する固有関数として、実数値のものが取れる。これについては、
Aφ=λφ より
Aφ=Aφ=λφ=λφ=λφ より
A(Reφ) =A 1
2(φ+φ)
=λ 1
2(φ+φ)
=λReφ.
まったく同様に
A(Imφ) = λImφ.
ゆえに Reφ, Imφ の少なくとも一方は(恒等的に 0でなくて) λに属する固有関数である。
2.8.2 固有関数の完全性
「実対称行列は、実直交行列を用いて対角化される」という定理は線形代数でおなじみであ るが、これを固有値、固有ベクトルの言葉で表すと、次のようになる:
定理 2.8.4 (実対称行列のスペクトル分解) A を N 次実対称行列とすると、A の固有ベ クトルからなるRN の基底が取れる。より詳しく言うと、A の固有値を(必要ならば重複 度の分だけ並べて)λ1, · · ·,λN とすると、対応する固有ベクトルφ1,· · ·,φN を 正規直交 系であるように取ることが出来る:
Aφj =λjφj (j = 1,2,· · · , N), (φi, φj) =δij =
(
1 (i=j のとき) 0 (i6=j のとき).
すると{φj}j=1,2,···,N は線形独立であるから、RN の基底になる。
42余談になるが、期末試験の際にその手の説明をさぼった計算の「写し」をする学生がいて、採点者を少なか らず悩ませることになる。
Fourierの方法で現れた固有値問題でも、この定理の一般化に相当する状況が成立したこと を注意しよう。すなわち、
{sinnπx;n ∈N} の完全性
固有関数φn(x) = sinnπxによって、[0,1]上の「任意の」関数f は、適当な数列{cn}n∈N
を用いて
f(x) = X∞ n=1
cnsinnπx と「表現」できる。
(脱線になるが: 初めてFourierの方法を学んだときは、新しい事実・考え方が次から次へと出て来て、
気が付きにくいところではあるが、上の事実については、大いに不思議がってもらいたい。一体なんて 都合の良いことが成り立っているのだろう! 実際、Fourier が最初にこう主張したとき、それを素直 に受け入れた人はほとんどいなかった。sin, cosの級数については、Fourier 解析で(現在のカリキュラ ムでは「実解析1」で) それが成立することを学んだと思うが、実は話はもっと大きいのである。なぜ そんなにうまく行くのか、不思議に感じる感性は持ち続けてほしい。)
前節では、このことを Fourier 級数の性質 (奇関数は Fourier 正弦級数で表現できる) で証 明したが、実は一般的に成り立つ定理 (ここではそれがどういうものか書かないが、「固有関 数系の完全性」と呼ばれる) の特別な場合に相当するのである。
2.8.3 固有関数と発展問題
前小節までは、Fourierの方法と、対称行列の固有値問題との関係を述べたが、ここでは、1 階定数係数線形常微分方程式の解法との類似点について述べよう。
まず、
1 階定数係数線形常微分方程式の解の公式
A∈M(N;R),x0 ∈RN とするとき、
dx
dt =Ax, x(0) =x0 の解は
x(t) = etAx0.
は基本的である。
ここに現れる行列の指数関数 etA は etA :=
X∞ n=0
tn n!An
で定義される。etA は、一般には例えば A の Jordan 標準形を用いて計算できるが43、係数行 列 A が実対称行列である場合には、以下示すようにかなり見通し良い形に表現できる。
43これはあくまでも、原理的にはできるという話で、対称でない行列のJordan標準形を正しく (例えばコン ピューターを使って)計算するのは、実際にはかなり難しい。
繰り返しになるが、「実対称行列は実直交行列を用いて対角化できる」という定理を、固有 値、固有ベクトルという言葉を用いて表現した定理2.8.4から x0 ∈RN は {φi}i=1,···,N の線形 結合として表される:
∃(c1,· · · , cN)∈RN s.t. x0 =c1φ1+c2φ2+· · ·+cNφN.
ちなみに、大変都合の良いことに、{φi}i=1,···,N が正規直交系であることから、係数 ci は ci = (x0, φi) (i= 1,2,· · · , N)
という簡単な式で求められる。
さて、φj は A の固有値 λj に属する固有ベクトルであることから、
Ax0 =A(c1φ1+c2φ2+· · ·+cNφN)
=c1Aφ1+c2Aφ2 +· · ·+cNAφN
=c1λ1φ1+c2λ2φ2+· · ·+cNλNφN
である。以下帰納的に任意の n ∈Nに対して
Anx0 =c1λn1φ1+c2λn2φ2+· · ·+cNλnNφN. ゆえに
etAx0 = X∞ n=0
tn
n!Anx0 = X∞ n=0
tn n!
XN j=1
cjλnjφj
= XN
j=1
cj X∞ n=0
(λjt)n n!
! φj
= XN
j=1
cjeλjtφj =c1eλ1tφ1+c2eλ2tφ2+· · ·+cNeλNtφN. 従って
(2.8.1) x(t) =
XN j=1
cjeλjtφj.
つまり、x を A の固有ベクトル成分へ分解しておくと、x への etA の作用は、各成分に
exp(固有値×t) をかけるという簡単なものになる。
(ここではx(t) =etAx0 という公式を用いて(2.8.1)を導いたが、固有値、固有ベクトルの性 質を用いて直接(2.8.1)を導くことも出来る。)
上の計算のまとめ
x0 = XN
j=1
cjφj =⇒ x(t) = XN
j=1
cjeλjtφj.
さて、
熱伝導方程式の初期値境界値問題の解の公式
f(x) = X∞ n=1
cnsinnπx =⇒ u(x, t) = X∞ n=1
cne−n2π2tsinnπx
において、−n2π2 が固有値で、sinnπx がそれに属する固有関数であることを思い出すと、1 階定数係数線形常微分方程式の初期値問題と熱伝導方程式の初期値境界値問題とで、話の成り 立ちがまったく同じであることに気が付くであろう。言葉で表すと
初期値を固有関数の線形結合の形に書いておけば、
各成分に eλnt (λn は固有値) をかけることで時間発展問題の解が得られる。
固有値問題の読書案内
この講義の最重要テーマであるFourier の方法の要とも言える微分方程式の固有値問題であるが、行 列の固有値問題と関係ある(類似が成り立つ)と指摘するだけで、あまり深くは突っ込めなかった。一 つには無限次元空間の要素を表現するのに位相などの問題が生じて、難しくなるからである (短いス ペースでうまく解説するだけの力は筆者にない)。作用素の固有値問題について勉強したい場合は、基 本的な常微分作用素については藤田 [61]がお勧めである(3年生くらいのレベルで十分読みこなせる)。 より一般の線形作用素の固有値問題については、志賀 [31]がとっつき易いかもしれない。解析系の学 生は、関数解析のしっかりした44成書、藤田・黒田・伊藤 [59] などを見るのもよい。こちらはズバリ
「楕円型偏微分作用素に関する固有関数展開」という章がある。ただし、この本は読みこなすのにある 程度の覚悟が必要だから、今のところは「そういうものがある」と覚えておくだけで十分であろう。そ れでも挑戦しようという人は、むしろ現代の古典として名高いクーラン・ヒルベルト [25]に挑戦する のが良いかもしれない。なお、小谷・俣野 [28]も面白い本である。