摂動論を学ぶ理由
摂動論は近似解を求めるテクニックの一つである.正確に解ける問題があって,そこから設定がほんの少しだけずれた時に解がどのように変化するかということを導く技である.人間の力で正確に解けるのはごくごく簡単な問題だけであるから,近似計算というのは重要である.
なぜ「摂動」なんて漢訳が当てられたのかはよく分からないが英語では「掻き乱す」というような意味だ.太陽の周りを回る惑星の楕円軌道は計算で正確に求められるが,実際には他の惑星からの重力の影響があるためにわずかなずれが生じている.このわずかな撹乱が惑星の軌道にどのように影響するかを論じたものが摂動論であり,同じ考えを量子力学に応用したのである.
しかし,単なるテクニックではなく,量子力学の思想に関わる重大な意味を持つ.計算手法そのものが,自然を表現する考え方に強い影響を与えているのである.いや,数学を通して自然を見ている以上は,これに限った話ではないのかも知れないが.
これをベクトル表現で説明しようか,それとも波動関数表現で説明しようかと悩むところだ.ベクトル表現はシンプルに書けるので視覚に訴えて分かりやすいし応用も利く.一方,波動関数表現は具体的であって何をどう計算すべきかがよく分かるという利点がある.
初学者にとってはそんな長所短所の違いを言われたところで,「はぁ」としか言いようがないだろう.まだ自分で選べるほどの情報もなく,教えられるままに聞くしかない.その末に結局一方しか説明されなかったら,もう一方の方法のことが気になって仕方がない.両方やることにしよう.これで読者は余計な心配から解放される.
ここさえ乗り切れば,ベクトルだろうが波動関数だろうが,その弱点利点を知って使いこなせるようになるだろう.
まずは問題設定
あるよく知られた波動方程式があるとする.
これは時間に依存しないシュレーディンガー方程式だ.まずはこれを例にしよう.もしここで
と置けば,この式は
のようにシンプルに書ける.
はエルミート演算子であって,演算子は行列としても表せることをすでに学んだ.だから,この式と同じことを次のようなベクトル形式で表すこともできる.
これらの方程式の解はよく知られていて完全に解けるものとする.このことだけが重要な出発点であるから,
の具体的な形についてはもうこだわらないようにしよう.
ところで,微分方程式の解は一つだけではなかった.幾つもの解がある.それぞれの解を固有関数と呼び,それぞれに対応する数値
をエネルギー固有値と呼ぶのだった.だから,先ほどの式はこう書いておくべきだろうか.
あるいはこう書いてもいい.
ここで,この方程式の
にわずかな項を追加したいと思ったとする.「摂動を加える」なんて表現をすることがあるが,まぁ,少しの変更だから以前の解と大きくは変わるまい.たとえ大きく変わってしまうとしても突然は変わらないだろうから,徐々に増やしていけばいい.例えば原子に 0 から始めて徐々に強く電場を加えていくと電子の波動方程式にどんな変化があるだろうとか,そういう興味だ.
新しく加えた項を「摂動部分」とか「摂動項」とか呼ぶ.
の部分が「徐々に」というニュアンスを表している.
を 0 から増やしていった時,その変化の影響はどのように現れるだろう?それは次のように現れるだろうと仮定する.
記号がいきなり増えて驚くかも知れないが,まずは落ち着こう.関数
や固有値
の右上に数字が付いたものが現れたが,これらはべき乗を表すわけではない.単に多数の関数を新しく導入して,それらを区別したいだけだ.
ダッシュ記号で区別しようかとも思ったが賢い方法ではないと気付いた.ダッシュが 2,3 個の内はいいが,やたら増えたらどうしようか?「右辺の番目の関数」を記号で示したい時に,ダッシュの数が
個であることをどう表現したらいいだろう?初めから数字で書いておいた方が得策である.この数字は
の次数と合わせてある.右辺の第 1 項目の右上の数字は 0 になっているが,ダッシュを使った場合にはこうは行くまい.0 個のダッシュなんて,左辺にある関数と区別が付かないではないか.
我々はこれからこの全ての項の関数や固有値
が一体どんな形になるかを調べたいのだ.それぞれの項を「k 次の摂動項」などと呼んだりする.
を「k 次の摂動エネルギー」と呼んだりもする.しかし「0 次の摂動項」というのはあまり使わない表現だ.なぜなら,
や
は
の時の解であって,摂動が入る前の,すでによく知っている解だからだ.代わりにこれを「非摂動解」と呼んだりする.
なぜ摂動を加えた後の解が λ のべき乗の級数で表せるのかという点に疑問を持つかも知れない.これはテイラー展開の理屈に基づいている.初歩の数学の教科書で「テイラー展開」や「べき級数」あたりを勉強すると,ほとんどの関数がこの形式で展開できることが分かるだろう.
感覚的には λ が 1 を越えると後の項ほど値が増えることになるので和が無限大に発散してしまうのではないかと心配になるが,それは場合によるのであり,λ = 1 が特別な数字だというわけではない.どんな値を入れても発散しないことだってあるし,0 以外のどんな数字を入れても発散してしまうことだってある.では摂動論の場合,どういう条件で発散してしまうのだろうか?それについては後の方で議論することにしよう.
さて,しばらくベクトル表現についての説明が留守になっていたが,こちらも同じことが言える.元の方程式を
と変更した時に,その解が
のように表せると仮定して各ベクトル,各固有値を求めるのである.波動関数がケットベクトルになっただけで形式的には全く同じことだ.
さあ,これで目的も問題設定も話し終えて,必要な準備は整った.ようやくここからが本番だ.面白くなるぞ.
ここから先はベクトル表現を同時に説明するのは大変なので,ひとまず波動関数表現で一気に説明を終えてしまおう.ベクトル表現はその後で説明するつもりだが,ほとんど同じ形式なので楽に説明できることが期待できる.
波動関数で計算
各項の関数を求めるために,とりあえず上記の式
に,仮定の式,
を無理やり突っ込んでやる.そしてこの両辺を展開してやり,
の次数が同じになるものどうしでまとめてやり,両辺で比較してやれば次のような多数の式が導かれるだろう.右辺の展開がひどく大変に思えるが,コツが分かればこんなものはすぐに書き出せる.
一番上の式は先ほど確認したように,すでに解けることが分かっているものだ.2 番目以降の式をどう解けば
や
が導き出せるかが,これから立ち向かうべき問題だ.
2 番目の式を少し変形してやって次のようにする.
これの両辺に左から
を掛けて積分する.(つまりは関数の内積を取る.)
ところで,左辺のカッコの中身はエルミート演算子なので,左辺は次のように変形することが可能である.
つまり左辺は 0 になる.一方,右辺については,
となる.よって,両辺を合わせれば,
であることが分かる.これで知りたかったものがまず一つ求まった.
1 次の摂動項
さあ気を良くして,次にを求めよう.先ほども使ったこの式から再び始める.
自信のある人はここで立ち止まってじっくり考えてみるのもいいだろう.答えがすぐに導けそうな気がするが,しかし普通の考え方では一歩も先へは進めない.
ここで解の完全性を応用する.今から求めたい関数は,すでに解として求まっている多数の関数
の線形結合で表現できるはずだと考えるのである.
ただの
ではなく,わざわざ
という表現を使って多数の解が存在することを明示しておいたのは,このための伏線だったのだ.この式の全ての係数
が求まれば,それで
を求めたことになるという理屈で話を進めよう.
これを先ほどの式に代入してやると,
となる.そしてこの両辺に左から
を掛けて積分してやろう.まず左辺からだ.
これは関数の直交性より,
となるもの以外は消えてしまって,とてもすっきりした形になる.
もし
ならば 0 になってしまう.
次に右辺だが,
となり,もし
ならば第 2 項は消え失せることになるが,
ならば第 2 項は
が残る.
右辺と左辺をまとめれば,の時,
であり,
の時,
となるということだ.この最後の式は先ほど求めたのと全く同じ結果である.初めの計算はわざわざやらなくても良かったのだ.しかし,幾つかの方法で導けることを知っておくことは悪くない.
Cn = 0 の教科書の説明
さて,ここに来て困ったことがある.の場合についての
は求められたが,
についてだけはその値を決めるためのヒントが何もない.実際,
の値が何であろうともここまでの条件をすべてクリアしてしまうのだ.(どんな値を入れても両辺で打ち消しあうので固有関数として認められる.)
一つ制限があるとすれば,は馬鹿でかい数値であってはならないということくらいだ.ならば面倒臭いから 0 にしておけば無難だ,とか,そんな曖昧な理屈で決めてしまってもいいようなものだろうか?
いや,この値をちゃんとした理屈で特定する方法がある.規格化条件を使うのだ.摂動を考慮した関数は,
のように表せるという仮定をしたが,この第 2 項の
に現在の結果を代入すれば,
である.この全体について自分自身との内積を取ってやれば,直交性により
の
の部分が異なる組み合わせは全て消えてしまって,
という形になるだろう.これは規格化条件から 1 にならなければいけないから,
以降の項は取りあえず無視できるとして,
となっていなくてはならないはずだ.つまり,
の実数部分は 0 だということになる.
虚数部分については無制限のままだが,に比べて非常に小さいはずだということは言える.そこで例えば
だとすると,
と書けて,元の関数
の位相を少しずらすだけで
の存在は吸収できてしまう.波動関数の位相はどう選ぼうとも期待値などの計算に影響しないから,元の関数の位相が元々どうだろうと関係ない.
よって,ではなく,
としておいても本質的に問題は変わらないのだ.むしろ 0 としておいた方が楽でいいだろう.
と,まぁ,ほとんどの教科書はこんな具合に説明している.
Cn = 0 の詳しい説明
しかしこれでは余りに説明不足だ.規格化条件に合わないからと言って,その責任を無理やり第 2 項だけに押し付けて 0 にしてしまうというのは,都合が良過ぎる話ではないだろうか.以降は無視できる程度だとして簡単にごまかしたが,0 ではないのだからその代わりに第 1 項目が減ったり,あるいは第 2 項目の成分がわずかに生き残ったりといった事もあっていいのではないだろうか.
規格化は全ての項が引き受けるべきものであるはずだ.つまり,先ほど計算したように,自分自身との内積の結果が
となるならば,関数
の全体を,この値の平方根で割ってやるのが筋というものである.
実際にやってみよう.とは言え,平方根で割るのは大変なので,近似を使わせてもらう.
つまり,この値を
の全体に掛ければ規格化が出来るということになる.
するとどうだ.ここに出てくる
の部分は純虚数になる.
に関してはこれしか残らない.これで初めて先ほどの教科書の理屈が意味を持ってくる.これは第 1 項目の関数の位相の違いとして吸収できるのだった.
他にに比例する項があるけれども,この式の全体の内積を取る時には,この項の影響は
に比例する部分にしか残らない.だから今は放っておいて,2 次以降の摂動を議論する時に調整してやればいいことになる.
全体を割るという正しい方法で規格化をした影響は全ての項にも出るけれど,については真っ先に調整すべき,特に重要なパラメータになっており,結局,規格化するという行為が
とおくのと同じ意味になっている,ということだ.ここだけ聞くと教科書と同じだろう?教科書は少ない書面でこのことを伝えようとしているのである.
長く掛かったが,これでようやくとなることが解決した.この結果を含めて全体をまとめれば,波動関数の 1 次の摂動はすでに求まっている多数の波動関数の組み合わせで表せて,
のようになると言える.さあ,これで 1 次の波動関数も求まった.
2 次の摂動エネルギー
次は 2 次の摂動を求めよう.この式を使う.
導きたいのは
である.前と同じように少し変形しよう.
左から
を掛けて積分すれば,右辺は
だけになるし,左辺第 2 項も,前と同じエルミート性を使って左右を引っくり返してやれば
を
に変えてもいいので 0 だと計算できる.つまり,
となる.この
に先ほどの結果を代入してやろう.
最後に第 2 項目が消えた理由は,この
についての和の中で生き残るのは直交性から
の場合だけなのだが,前に
としたから結局何も残らないということである.
に以前の結果を具体的に入れてまとめれば,
という結論になる.これで2次の摂動エネルギーも求まった.
こんな調子で高次の摂動について次々と求めていくのである.ここではこれ以上はやらない.必要なテクニックはすでに出てきている.2 次の波動関数を求めたければ
とでも置いて,同じような方法を繰り返せばいい.もし読者が高校生で退屈な授業を仕方なく受けなければいけないとしたら,暇つぶしにどこまでも先まで求めてみるのもいいかも知れない.いや,どんなことになろうと責任は持てないが.先へ行くほど複雑になることは覚悟して欲しい.
念のために言って置くが,摂動計算をする度に,これと同じ面倒な手続きを取る必要はない.今回は近似計算に必要な公式を導いたのであって,この公式を使って計算することこそ本当に必要なのである.実はそっちの方が面倒だったりする.
今回のような計算は一生に一度だけやっておいて,結果だけノートにメモしておけば,いつだって使えるものなのだ.
ベクトルで計算
では上で求めたのと同じことをブラ・ケット記法でやってみよう.基本的にを
に置き換えるだけで済む.
まず,波動関数のときと同じように次のような式が成り立っている.
一番上の式はすでに解かれているとする.2 番目の式について,
のように変形できるが,これに左から
を掛けてやる.ここだけが波動関数の場合の計算と違う.ブラを掛けるだけでいいのだ.積分をしなくても内積を計算したことになる.
シンプルでいい表現だろう?説明なしで両辺まとめて一気に変形を続けよう.
こんな具合に結果もシンプルに書き下せる.
次は 1 次の波動関数について.
と置いて,これを
に代入し,左から
の
を掛ける.
についての議論は省いて,
という結果を得る.
最後に 2 次の摂動エネルギーを求めよう.3 番目の式,
を変形することで得た
に左から
を掛けることで,
多少の印象操作はあったかも知れないが,計算をする上でブラケット記法を使う方が便利だということを感じ取ってもらえただろう.
読者はすでに,これらのブラケット記号が波動関数ではどんな意味であって,具体的にはどう計算すればいいかという対応も理解してもらえたと思う.具体的な計算が必要なときだけ,波動関数に置き換えて計算すればいいのである.
今回,摂動論の説明という形を取ってはいるが,実は2つの記法の対応の実例を示すことがもう一つの目的であって,ブラケット記法のまとめを兼ねているのである.今後の議論では,もう迷わずブラ・ケットをメインで使うことにしよう.
摂動論の適用限界
この方法がどこまで現実に対して通用するのか,次数を上げることでどの程度まで精確な値に近付くことが出来るのか,摂動をどこまで大きくしても破綻しないのか,といったことが気になるだろう.
この答えは問題によって様々である.下手をすると高次で発散してしまうこともあるが,途中までは現実をよく表すこともある.なかなか難しい問題だ.
一つ言える事は,摂動はなるべく小さいほどいい,ということだ.おおよそ,次のような目安があると考えられる.
当たり前と言えば当たり前の式だ.単に今回求めた式の形から類推できる,波動関数の摂動項が小さくなるための条件である.エネルギーの幅が広いほどうまくいくようだ.
原子の中の電子の運動を考える時には,電子のエネルギー準位が高くなるほどエネルギー幅が狭くなって行くので,エネルギーの低いところにしか摂動論が適用できないという問題もある.
まぁ,現実の問題を色々解いてみて,実験値と比較することで感覚として身につけるしかないだろう.物理とは本来,そういうものだ.(私はそういう修行はあまりしていないが・・・)
縮退の問題
違う状態,すなわち違う波動関数を持っているにも関わらず,エネルギー固有値が全く同じだということがありうる.そういう状態を「縮退」と呼ぶ.個の状態が皆全く同じ固有値を取る時,これを「
重縮退」と呼んだり「
重に縮退している」など表現するのである.
これは特に珍しいことではなく,例えば,水素原子の周りの電子の内,,
,
,
の 4 つの軌道は 4 重縮退になっている.
こういった状態は今回導いた公式を使う上で問題になる.分母にというものがあっただろう.違う状態が同じ固有値を持つということは,分母が 0 になってしまって計算が出来なくなるところがあるということだ.
だから今回の結果は縮退がない場合にしか使えない.この問題を回避する方法は次回に考えることにしよう.