「実践的な変分法のアプローチ」koun/lecs/var_main.pdf ·...

41
大学 大学院 学」 アプローチ」 大学・ 2006 10 10 Department of Computational Nanomaterials Design ISIR, Osaka University

Upload: others

Post on 03-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

岡山理科大学 大学院講義「数理科学」

 「実践的な変分法のアプローチ」不等式の美学

白井光雲

大阪大学・産業科学研究所

2006年10月10日

Department of Computational Nanomaterials Design

ISIR, Osaka University

Page 2: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

目 次

第 1章 量子力学のおさらい 31.1 変分法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Euler-Lagrange方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 変分法の実例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

第 2章 線形問題としての最小化問題 82.1 汎関数から関数へ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 固有値問題の解法としての変分法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 繰り返し法による最小化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.1 最急勾配法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.2 共役勾配法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.3 一次元最小値探索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.4 特異行列、ヌル空間の扱い . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

第 3章 古典物理学での変分法 193.1 任意形状の導体における定常電流の問題 . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1 数値問題としての記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.1.2 変分原理による問題の定式化 . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 変分原理の問題への定式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.1 時間依存を含まない方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 調和近似での分子構造の最適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.1 古典モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.2 従来の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.3 Newton-Raphson 法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.4 Broyden 法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4 拘束条件の実現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.4.1 ホロノミックな拘束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

第 4章 密度汎関数理論 284.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2 ハートリー・フォック法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3 密度汎関数法の基本原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.1 Hohenberg-Kohnの定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3.2 制限付き探索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3.3 Thoms-Fermiのアプローチ . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 コーン・シャム方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.1 軌道の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

0

Page 3: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

4.4.2 局所密度近似 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.4.3 コーン・シャム軌道の意味 . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.4 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.5 密度汎関数理論の発展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

1

Page 4: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

はじめに

変分法は今日、第一原理電子状態計算1で一般的に用いられている方法である。といっても、第一原理計算だけで使われているわけではない。むしろ広範囲の物理の問題に対して一般的な処方箋となっている。特に多変量関数の最小化問題は数理科学の分野では非常に一般的な問題であり、さまざまな技法が開発されている。その中の最新の成果を第一原理計算が活用しているというべきであろう。この講義では、その主要な応用として第一原理計算を念頭に置き、変分法原理の説明を行う。このようなテーマを取り上げる一つの動機は、変分法の実際的なアプローチのテキストがなかなか無いという事情である。変分法の原理は大抵の量子力学の教科書で取り上げられている。にもかかわらず、ほとんどの場合は、その原理だけ述べられ、実際にはどうやって解いてゆくかは書かれていない。それはもっともなことで、摂動論などは簡単な解析解があり、演習問題も出しやすい。変分法の特徴は式が等式でなく不等式であるということである。不等式はほとんどの場合、数値計算の手法でしか評価できない。紙と鉛筆だけで解ける演習問題としては成立しない。教科書の中では教えにくい部分である。本講義の扱いの中でもその困難性はもちろん変わらない。が、著者の研究経験に基づき、そこの数値的に解いてゆく過程はもう少し生々しく伝えられるのではないか、という思いで書き著した。こう書くと読者の中には、たかが量子力学の解法の一つになぜこのような一つのコースが割かれるのかと疑問に思うかもしれない。あるいはそのような七面倒な技巧にはかかわりたくないというふうに思うかもしれない。後者の思いはこのような研究をしている研究者自身も同じで、できることならあまり技巧をおらすことに時間を割かれたくないと願っている。しかしながら、現実の多くの計算は結

1量子力学の原理から電子状態を計算する方法の総称であるが、今日では密度汎関数理論に基づくものをさすことが多い。以下、第一原理計算と略する。

局のところそのような数値的技巧を凝らさない限り解けない。数値的技巧の多くは、先に述べたようにきれいな等式ではなく不等式である。不等式の中でもがくことは非常に苦しい。出口が見えない。しかし著者などは、もがいているうちに今では、この不等式の中にこそ豊富な物理がある、そこにはいわば「不等式の美学」なるものがあると思えてきた。著者は、応用数学の専門家ではないので、変

分法の体系的な講義をする資格はない。その分野は立派な成書がある(たとえば [2])。したがっていたずらに数学的な方法論だけを追い求めることはしない(またできない)。この点で応用数学の講義とは違う。その代わり、著者は固体物理での研究経験で、抽象的な数学的なアイデアがどのように応用されてきたかを見てきている。その経験から応用としては偏っていたとしても、数学的アイデアが生き生きと見てとれる具体例を示すことはできる。そのことにより、抽象的な数学定理の有用性が理解できればと願う。この講義の後半は、変分法の応用として問

題を特化している。それは今日固体物理の理論研究の中で中心的な役割を果たしている「密度汎関数理論」を取り上げている。ここにいたっては、数学の形式的議論よりも物理に深く入ってくる。数学はそれを支える単なる道具に過ぎない。しかしながらそれらの間にある絶妙なバランスというものを見ていただきたい。実際の密度汎関数理論の計算でも、数学的意味と物理的解釈の両方のバランスが必要である。実際に計算してみて何かおかしな結果が出たとき、「これは何か物理的におかしい」という勘が働かないとだめである。応用数学と物理のそのような健全なバランス感覚が必要で、本講義はそれを養うことを意図している。

2

Page 5: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

第1章 量子力学のおさらい

1.1 変分法

量子力学の多くの問題では、系の基底状態の波動関数Ψ0、あるいはエネルギーE0を知りたいが、解析的に解けない場合が多い。そのようなときに数値的な解法が取られるが、変分法はその中でも良く利用される手法である。我々は真の基底状態の波動関数 Ψ0 は知ら

ないが、何とか(物理的な直感とか)もっともらしい波動関数Φを用いて、それに「改良」を加えて真の Ψ0 に近づけたい。変分法というものは、その改良の方策を与えるものである。与えられた系がハミルトニアンHで記述されるとして、次のようなことをいう。

定理 1 試行関数 Φに対するエネルギー期待値E[Φ]

E[Φ] ≡ (Φ,HΦ)(Φ, Φ)

(1.1)

は常にE0より小さくはならない。すなわち

E[Φ] ≥ E0 (1.2)

proofハミルトニアンHのエネルギー固有関数の組を{Ψk}として、この組で Φを展開する。すなわち

Φ =∑

k

ckΨk (1.3)

と表される。この展開式を式(1.1)に代入し、

E[Φ] =∑

k |ck|2Ek∑k |ck|2

=∑

k |ck|2(Ek − E0)∑k |ck|2

+ E0

≥ E0 (1.4)

f(x)

Function f(x) maps a point x to a point y.

(a)

x

y

H[f(x)]

Functional H[f(x)] maps a function f(x) to a point y

(b)

f(x)

y

図 1.1: 汎関数と通常の関数との違い

ここで、E0が基底状態であることより、Ek −E0

が常に正であることを用いた。また等号は 0を除く全ての kに対して ckが 0になるときのみ成り立つことも分かる。

proof end

この定理によると波動関数を改良するための行動指針は、エネルギー期待値をできるだけ小さくするような方向に進めば良いということである。もう一つこの方法のメリットを挙げると、推定波動関数の誤差を ε、すなわち k 6= 0に対し ck ∼ O(ε)とすると、エネルギーの誤差は

E[Φ] − E0 ∼ O(ε2) (1.5)

程度である。すなわち波動関数に関する誤差が少々あってもエネルギーは誤差が少ないという点がありがたい。なお、式(1.2)の等号は、試行関数Φが真

の基底状態波動関数 Ψ0 が等しいときに成り立つということは、すぐわかることであろう。

定義 1 汎関数定理 1 に現れる、E[Φ] の類いの角カッコ

によって表されている関数は 汎関数 と呼ば

3

Page 6: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

れているものである。通常の関数 f(x) は、値を値に写すものに対し、汎関数H[f(x)]は関数自体を値に写すものである。

関数の引数として xがあってもそれは特定の xをある値に対応させているのではなく、x

の全ての領域をある値に写していると理解すべきである。図 1.1参照。例えばフーリエ変換は

g(ω) =∫ ∞

−∞f(x)eiωxdx (1.6)

により関数 f(x)を別の関数 g(x)に写しているが、これは ω をパラメータとしたときの、特定の ωに対して関数 f(x)を値 g(ω)に写す汎関数と見なすことができる。

今、汎関数としてエネルギー汎関数を取り上げた。これは系の全エネルギーが波動関数の関数として表せるという事情による。エネルギー極小の原理は、物理のさまざまな分野で普遍的に現れるものであるので、物理の問題の中で汎関数の応用例としては、このエネルギーへの応用がおそらくもっとも見かけられるものであろう。しかし汎関数としては、もちろんそれに限られることはない。物理的な解釈ができることもおそらく必要ではないであろう。また極小でなく、極大であっても良い。数学的には、極小と極大の違いは汎関数の符号を変えるだけで良いので、極大値の問題に書き換えることはトリビアルな問題である。しかし物理では勝手に符号を変えることはできない。符号を変えるとその汎関数の物理的意味が違ってしまう。それゆえ、物理では、ある汎関数が極大値を持つような問題を考えることはトリビアルな問題ではない。そのような例として、後で見るエントロピー汎関数がある(第 3.2節参照)。

1.2 Euler-Lagrange方程式

量子力学(に限らないが)の教科書での扱いでは、変分原理は式(1.2)そのものよりも、

その原理から導かれる方程式を使うことが多い。以下にその方程式を求めてみる。式(1.2)は関数Ψは真の基底状態波動関数

Ψ0の付近で極値をとるということを述べている。したがって、Ψ0の付近での波動関数のいかなる微小変位 δΨに対してもエネルギー期待値は増加する。すなわち δE > 0である。波動関数の微小変位 δΨに対するエネルギー期待値の変化が変分と呼ばれるものである。式(1.1)における変分を求めてみる。さし

あたり、複素数に関する煩わしさを放っておいて、波動関数の実部と、虚部は独立に扱って良いとして、虚部 δΨ∗に関しての変分をとる。

δE =(δΨ,HΨ)

(Ψ,Ψ)− (Ψ,HΨ)(δΨ, Ψ)

(Ψ, Ψ)2

=(δΨ,HΨ) − E(δΨ, Ψ)

(Ψ,Ψ)(1.7)

となり、最後の式の分子を取ると、

(δΨ, (H − E)Ψ) = 0 (1.8)

式(1.8)が任意の変位Ψ∗に対して成り立つためには

(H − E)Ψ = 0 (1.9)

が成り立たねばならないことが導かれる。変分原理から導き出された式(1.9)を Euler-Lagrange方程式という。量子力学の問題の場合、おなじみの Schrodingerの波動方程式である。通常は、式(1.2)を使うより、式(1.9)を

使う。原理上は(拘束条件などうるさいことを言わなければ)それらは同等のものであるので、どちらを使っても良い。教科書的な扱いでは、きれいな解析解を求める。そのようなアプローチでは式(1.2)のような不等号は扱い難い。A = 0のような等号を用いた方程式を用いる方が扱いやすいからだろう。ところが数値的に解を求めてゆく場合は、かえって不等号の扱いの方が便利である。

汎関数の変分 式(1.8)から式(1.9)を得る過程を振り返ってみる。陽に積分を使って書

4

Page 7: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

f(x)

Derivative df(x)/dx evaluates a small change in f(x) at the vicinity of a point x.

(a)

x

(b) Variational δH[f(x)]/δf(x) evaluates a small change in H[f(x)] for a infinitesimal change δf(x) over the whole range of x.

x

f(x)

δf(x)H[f]

H[f+δf]

図 1.2: 汎関数の変分と、通常の関数の微分との違い

くと、汎関数 F [f ]は

F [f ] =∫

H(x)f(x)dx (1.10)

と書ける。汎関数 F [f ]の関数 f による変分δF/δf は

δF

δf= H(x) (1.11)

となる。これは積分

δF [f ] =∫

H(x)δf(x)dx

が任意の変化 δf(x)に対して0とならなければならないという事情から導かれる。

例題 1  関数の変分の例(1)もし、汎関数 F [f ]が関数 f の冪で与えられる

ならば、すなわち

F [f ] =∫{f(x)}ndx (1.12)

ならば、変分 δF/δf は

δF

δf= n{f(x)}n−1 (1.13)

となる。

変分というのは、このようにあたかも微分と同じような操作をするように見える。実際多くの場合、「変分を取る」と形式的には「微分を取る」のと同じ効果を生む。しかしながら変分と微分とは似て非なるものである。微分とはある関数 f(x)の空間 xのある一点での変化を見るものに対し、変分とは関数自体f(x)を変える。したがって空間の一点だけでなく、全体に渡って変化させるのである(図1.2)。式(1.10)の中に現れるH(x)と式(1.11)

の H(x)とは同じものであった。このような例は非常に多く見かけれれるので、あたかもいつでも成り立つことのように錯覚しがちである。しかし一般には、エネルギー汎関数に表れるハミルトニアンHと、それから導かれる波動方程式の中のハミルトニアンHとは同じであるとは限らない。今の場合、H は f の関数でないことを暗黙のうちに仮定したためである。一般にはそれらは同じであるとは限らない。そのような例は、多電子系の問題では一般的である(ハートリー項など)。このことの重要性は後にいくつもの例で示されるだろう。

例題 2  フーリエ変換関数の変分式(1.6)のフーリエ変換を見る。フーリエ積分

g(ω)を f(x)の汎関数とみて、その fによる変分は

δg

δf= eiωx

となる。

さらに変分に関していくつかのコメントをしておく。

拘束条件 変分をとるとき、問題とする変分に何らかの拘束条件を課すことは通常のことである。波動関数の場合は、規格化された波動関数となるような変化をしなければならない。ということは「任意の変化」といっても、そのような拘束条件が満たされるよう、余計な注意と労力が必要となる。式(1.1)の場合、エネルギー期待値は (Φ,HΦ)そのものではなく、(Φ, Φ)で割ってある。これによりΦ(x)に

5

Page 8: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

は何も拘束が無くなり、勝手にどのようなものにも変えられる。そのかわり (Φ,HΦ)で割るという余計な計算が必要である。このように、拘束条件の課し方には二通りある。

1. 関数を変えるとき、その拘束条件が満たされるように変位させる。このときは分母の再規格化は必要でない。このときはその代わり関数の変化のさせ方に注意と労力が必要となる。

2. 関数の変化のさせ方に注意と労力が必要としない、任意の変化の場合は、その代わり汎関数の変化の評価に余計な労力が必要となる。今の例では再規格化である。

後者のやり方として、今の場合、再規格化をとっているが、他に

(Ψ,Ψ) = 1 (1.14)

という条件より、

(δΨ,Ψ) = 0 (1.15)

が常に成り立つが、それに任意定数 λ(La-grange の未定乗数と呼ばれる)を掛けて、(δΨHΨ) から引くというやり方がある。つまり

(δΨ,HΨ) − λ(δΨ, Ψ) = 0 (1.16)

となり、式(1.9)と同じものが得られるということになる。これが教科書ではもっとも一般的な取り扱いであろう。[3]式(1.9)は、考えるべきエネルギー汎関数として、式(1.1)ではなく、

E[Ψ] = (Ψ, HΨ) − λ(Ψ, Ψ) (1.17)

をとれば良いことを示唆する(Ψが規格化されているとして)。λが定数である限り、このことは正しい。実際の繰り返し計算で λをどう取るかは重要な問題で、固有値問題として後でもう少し詳しく取り上げる。

実数性 エネルギーは実数である。式(1.2)のように大小比較をするときは実数でないとできない。それゆえエネルギー汎関数の変分も実数でなければならない。しかるに式(1.7)の右辺は一般には複素数なので、そのままでは正しくない。この問題は、波動関数の虚部に関する変分を見るだけでなく、実部に関してもとり、それらを常に対として用いれば良い。すなわち、

δE = (δΨ, HΨ) + (Ψ,HδΨ) (1.18)

とすることで、正しく実数化が図れたことになる(Hがエルミートであるとして)。しかし大抵の問題では、この必要はない。つまり式(1.18)のどちらか一方だけで良い。確かにエネルギーの値としては実数にしないといけないが、しかしその勾配が0になるべしという要請は(すなわち式(1.9))は複素数でも構わない。当然だが複素数でも0は定義されているからである。

1.3 変分法の実例

変分法の技術的な詳細はおいておき、早速、変分法の効果を実例で示すことにする。ここではH2分子の問題に適応してみる。H2分子は陽子2個が d = 0.74 A離れている構造を持つ。つまりイオンのポテンシャルは dだけ離れた2個の点電荷の作るクーロンポテンシャルに等しい。そのイオンポテンシャルを図 1.3に示す。二個のH原子は、a = 3 Aの格子定数の人為的な格子に入れられており、その中で相対座標 u = 0.377と u = 0.623に位置する。このポテンシャルに対して、セルフコンシ

ステントに決まる電子の密度 ρ(r)は、この変分法により求まる。初期の波動関数を適当に与え、それで式(1.2)のエネルギー期待値を求める。次の試行関数としてこれよりエネルギーが下がるようなものを探し(どう探すかが問題であるがここではともかく何らかの方法で探せたとする)、再びエネルギー期待値を評価する。できるだけエネルギー期待値が小

6

Page 9: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

0 0.2 0.4 0.6 0.8 1

-40

-30

-20

-10

0

-50

u

V[R

y]

図 1.3: H2分子のポテンシャル。H2分子の軸方向の相対位置 uの関数としてプロットしてある。二個のH原子の位置にポテンシャルの特異点がある。

0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.0

u

ρ[e

l/Boh

r3]

1

2

3

4

5 -1.04184278

-1.04184277

-1.04184222

-1.04166297

-0.97793678

4.143912060

step Eel

図 1.4: セルフコンシステント計算における各繰り返しステップでの電荷密度の変化

図 1.5: H2分子の電荷密度分布。

さくなるように、この操作を繰り返す。ある程度、この過程を繰り返した後は、エネルギー期待値はほとんど変わらなくなる。それが波動関数あるいは密度の真の分布に対応する。図 1.4に、この繰り返し計算によるエネルギー最小化の過程を示す。示しているのはH2

分子の軸方向位置 uの密度分布 ρ(u)の変化である。はじめは、全く乱数により密度分布が与えられる。それゆえ、はじめの ρ(u)は極めて平坦で、水素位置とは全く関係ないものとなっている。それから繰り返しのステップが進むたびに、2つのH原子の周りに電荷分布が形成される様子がわかる。電子エネルギーEの変化は以下のようになった。

iter Eel (Ry)----- --------------0 4.143912061 -0.977936782 -1.041662973 -1.041842224 -1.041842775 -1.04184278

注意したいのはEの収束の早さである。3ステップ目でEは早くも5ケタ目が収束している。ρ(r)の分布は最終値に比べてまだ目に見えて違いがある。このことは ρ(r)の分布に少しくらいの誤差が含まれていてもEに関しての誤差は非常に小さいことを示している。このことが変分法の利点の一つとして強調される点である。図 1.5に、最終的なセルフコンシステント計算が終わった後の電荷密度分布を示す。2個の水素原子の間に電荷が溜まり、共有結合を作っていることがわかる。

7

Page 10: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

第2章 線形問題としての最小化問題

エネルギー汎関数あるいは何かの関数を最小化すれば良いことはわかったが、どうやって最小化すれば良いのか、その方法を次に議論する。そのためには、よりなじみ深い線形代数の問題を取り上げ、一般解法の手引きを与えよう。

2.1 汎関数から関数へ

変分原理の問題は、「全ての位置で」関数ϕ

を変化させたときの汎関数E[ϕ]の最小値を求めるものである。それを計算機で数値解として求めるときどうするか。一つの方法は、空間的に連続な関数 ϕ(x)を、空間を {xi}i=1,··· ,N と離散化し、各点での関数の値 {ϕi} = {ϕ(xi)}を変化させるというやり方である。これは{ϕi}をあたかも N 個の独立変数のように扱い、したがって汎関数 E[ϕ]はN 個の変数の関数となる。つまり汎関数の最小化は、多変量関数の最小値を求める問題に帰着する。

多次元ベクトル空間xでの関数 f(x)の最小値を求める問題は、数学ではいろいろ知られている。ここでは、もう少し取り扱いを易しくするため、その関数を多次元の線形関数で代用しよう。すなわち、N 次元の変数 xの関数 f(x)が xの二次形式

f(x) =12xtAx − bx + c (2.1)

で与えられるとする。ここに正方行列AはN

次元実対称行列、あるいはエルミート行列とする。このようにAを制限しても、多くの物理の問題に対しては特別な制限にならない。

定義 2 正の定符号正方行列 A が 正の定符号(positive defi-

nite)であるということはAの固有値が全て正であるということである。

正方行列Aが正の定符号であれば、任意のベクトル xに対し

xtAx > 0 (2.2)

となる。証明は任意のベクトル xがAの固有ベクトルの線形結合で表されることを使えばよい。

この性質よりAが正の定符号行列であればf(x)が下に有界である。したがってこのときは極小は一つだけで、したがって極小位置は同時にグローバルな最小値ともなる。最小化過程は必ず成功できる。

例題 3  系の安定性正の定符号行列という性質は、物理の問題では

多くの場合、系の安定性の数学的条件となる。例えば、固体の弾性応答を考える。外部ストレスが与えられると結晶は歪むが、その応答を記述するものが弾性定数 C である。外部ストレス σij および歪み εij は2階のテンソルであるので、弾性定数は

σij = Cijklεkl (2.3)

と4階のテンソル Cijkl で表される。しかし通常は対称性ゆえに 6 × 6行列 Cij で記述される。系が安定であるということは、「任意の変形 εij に対して、系は常に復元力を引き起こす」ということである。このことは、まさに数学的には行列 Cij

が正の定符号行列であることをいっている。従って Cij で記述されるある結晶が機械的な変形に対して安定であるかどうかは、Cの固有値を調べれば良い。

Cの固有値が全て正であれば、多くの場合、個々

の要素Cijも正であるが、しかし負であっても構わ

ない。全体として全ての固有値が負であれば良い。

フォノンを求める際の動力学行列の固有値は、そのままフォノン振動数という物理的意味を持つので、その固有値が正という性質は、すぐ理解できる。弾性定数の場合、それの作る行列の固有値を議論することはあまりない。あまり対応する物理量が見当たらないからで

8

Page 11: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

あろう。しかしその場合、次に見るような有用な関係式がある。正の定符号という性質は、「全ての固有値が正」ということや、式(2.2)以外にも表現できる。

定理 2 Aが正の定符号行列であればAから作られる全ての主小行列式は正となる。

主小行列式(principal minors)とは n × n

行列の一番左上から順に、i× i行列を取り出し、その行列式のことをいう。この表現が有用な場合が弾性定数行列である。

例題 4  立方晶の安定性立方晶における弾性定数 Cij は

c11 c12 c12

c12 c11 c12 0c12 c12 c11

c44 00 c44

0 c44

と表わされる。順に主小行列式を作ってみると

1. (1, 1)小行列式

c11 > 0

2. (2, 2)小行列式

c211 − c2

12 > 0

これと1を合わせると、

c11 > c12

しかあり得ない。

3. (3, 3)小行列式

(c11 + 2c12)(c11 − c12)2 > 0

これからは

c11 + 2c12 > 0

4. (4, 4)小行列式

c44D33 > 0

より、c44 > 0

が得られる。

これらはコーシーの安定条件として知られている。これらの関係式を行列Cの固有値を求める方法で導くことは大変である。次に実際の結晶で、この弾性定数がどのよ

うな値となっているかを調べる。

例題 5  立方晶の弾性定数

弾性定数 Cij の値のテーブルは例えば、Landolt-Bornsteinのハンドブックによく集められている。それをみると、立方晶ではほとんど Cij は正である。どれもコーシーの安定条件を満たしている。上のコーシー条件はしかしながら C11と C44は正であることを要求するが、C12 は必ずしもその必要がない。C11 + 2C12 > 0であれば良いわけである。そのような条件を満たしながらかつ負となるC12 を探してみると極くわずかだがある。パイライト構造 FeS2 では

C11 = 402, C44 = 114, C12 = −44 (2.4)

と負の C12 を示している(GPa単位)。それでも

もちろんコーシー条件を満たしているので安定で

ある。1

正の定符号という制限は、多くの物理の問題ではある限られた範囲内でしか成立しない。式(2.2)の不等号の条件を少し緩めて、

定義 3 正の半定符号

xtAx ≥ 0 (2.5)

と等号も含めたときを 正の半定符号(semi-positive definite)という。

正の半定符号と定符号の違いはたった一つの境界値を含むか含まないかの違いであるが、この違いが案外効いてくる。Aが正の半定符号の場合、固有値として 0が含まれることになる。この場合よく知られているように、Aの逆行列は存在しない。そのような行列を特異行列(singular matrix)とよぶ。物理の問題でこの正の半定符号あるいは特異行列が現

1この部分は、このテキストを書いているとき調べたものであるが、その後最近の論文を調べてみると、どうもこの負の C12 は間違いのようである。H. M. Sithole,P. E. Ngoepe, and K. Wright, Phys. Chem. Minerals30 615 (2003); S. B. Thali, et al, phys. stat. sol.(c) 1 3073 (2004); Y. Le Page, J. R. Rodgers, Phys.Chem. Minerals 32 564 (2005).

9

Page 12: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

れるのは珍しいことではない。このときは値が一意的に決まらないなど厄介な問題が生じるので後で詳細する。

正の定符号 A により特徴づけられる関数(2.1)の最小値は形式的には直ちにわかる。式(2.1)を xで微分して

∇f(x) = Ax − b = 0 (2.6)

が得られるが、したがって f(x)は

x0 = A−1b (2.7)

で最小になる。こうして、Aと bが与えられれば問題は形

式的には直ちに解けた。しかし、· · ·

• 多くの問題では、Aが陽には与えられていないことが多い。あるいは与えることができるが、そうしたくない場合がある。次元数が大きくなると、N×Nの行列を格納するメモリー領域が大変になる。2現在のスーパーコンピュータでも単独のCPUで扱う限りN > 10000くらいのオーダーで大抵オーバーフローとなる。

• たとえ、Aが実メモリーに格納できたとしても、次元数が大きくなると式(2.7)で現れる逆行列を数値的に求めること自体が大変な問題となる。実際行列と行列の積の計算はすこぶる非効率的である。計算の負荷はO(N3)のオーダーでスケールするからだ。できたら直接A−1を計算するようなことは避けたいところである。

行列のサイズが大きくなると、行列の直接的な積の計算がいかに大変になるか。それを典型的な対角化の例で示す。図 2.1にはN×N

の実対称行列の対角化にかかる計算時間をN

に対してプロットしたものである。ほぼ計算時間はN3に比例して増加することがわかる。このテキストで、繰り返し「行列の積の演算

2倍精度の実数は一つを収めるのに 8 バイトのメモリーを使うとすると、N = 10, 000の正方行列を収めるのに、0.8 GB必要となる。

10410310210110 -3

10

10 -1

10 0

10 1

10 2

10 3

10 4

-2

N

t(s

)

t ~ N3

図 2.1: N × N の実対称行列の対角化にかかる計算時間

はできるだけ避ける」ことを強調する意味はここにある。数値計算を行わない人にとって、これは単なる計算技巧の問題と映るだろうが、しかし数値計算にとってはこれが全てといっても過言ではない。行列のサイズが 100くらいのもの(場合によれば1000くらいでも)は、このストリージや計算時間の問題は無視できる。直接的に行列をメモリー空間上に展開し積を取ることはそれほど問題ではない。しかしもっと大規模計算では、これから述べるような技法なしでは先に進むことはできない。このような理由で、多くの問題ではAの逆

行列を取るより、繰り返し法で最小位置 x0を求めることをしている。次の節でその最小化する過程を見てみるが、その前に関係したいくつかの定義を述べておく。

定義 4  疎行列行列Aの要素が、少ない要素だけ 0でなく、

残りはほとんど 0である場合がしばしばある。そのような行列は疎行列(sparse matrix)と呼ばれる。反対にほとんどの要素が同じ程度の大きさを持つものは密行列(dense matrix)と呼ばれる。

このような疎行列に対して、まともに行列演算を行ったのでは、ほとんどの計算時間は0×0というつまらない計算に費やされる。従っ

10

Page 13: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

て、疎行列では「行列とベクトルの積A ·xとして扱う」ようにするのが原則である。そのためにあらかじめ 0でない要素の表を作っておくことが効率的である。疎行列の自明な例として、対角行列A(n×n)

がある。

A =

a1 . . .

. a2 . .

. . a3 .

. . . .

(2.8)

この場合は、この行列と任意の行列B(n×n)との積は n回で済む。

2.2 固有値問題の解法としての変

分法

第 1.2節で、エネルギー汎関数 E[Ψ(r)] =(Ψ,HΨ)から出発し、波動関数が規格化されているとして、拘束条件を課して一般的な固有値方程式

HΨ(r) = λΨ(r) (2.9)

を導いた。式(1.17)を見ると、このような特別な拘束条件をあからさまには取り入れず、新たな汎関数 F [Ψ]

F [Ψ] = (Ψ,HΨ) − λ(Ψ, Ψ) (2.10)

を E[Ψ]の代わりに用いたならば、E をΨで変分することで直接、固有方程式が導かれるように思える。だが残念なことに、今我々は定数 λ(すなわち基底状態エネルギーE0)の値を知らない。それを求めるのが問題である。この λはどうしたら良いか。考えられるの

は、その時その時の試行関数Ψによるエネルギー期待値を取ることである。すなわち、

λ = (Ψ,HΨ) (2.11)

と取る。このときはしかしながら、こうして決められた λに関して概念的な注意が必要となる。λはΨに依存するので、形式的に変分を取ると、λを定数とする取り扱いができな

xAx

λxλ=xAx

Ax-λx

図 2.2: 残留誤差ベクトルの幾何学的意味

くなる。というよりも規格化された波動関数に対して式(2.10)は恒等的に0となり、変分関数としては意味をなさなくなる。文献では式(2.10)はよく使われる。そして

ラグランジュの未定乗数を式(2.11)で与えることもしょっちゅう行われている。なぜうまく行くのか?それはλを導入する際ちょっとしたトリックが使われているのである(あるいは暗黙のうちに了承されている)。それはまず、式(2.10)の中では λは定数扱いで、それが式(2.11)で与えられると考えない。変分を取った後、λはその値が式(2.11)で与えられるものと考える。したがって

HΨ(r) − λΨ(r) (2.12)

は、正確な意味での、式(2.10)で与えられるところの汎関数 F [Ψ] の勾配 δF/δΨではない。ただ、エネルギー汎関数 E[Ψ]の極小点と式(2.12)が0となる点は一致するというだけのことである。式(2.12)が何かある汎関数の自然な変分

であるような汎関数 G[Ψ]を構築することは可能であろう。しかしそのような汎関数G[Ψ]を追い求めるということはしないほうが良い。できないことではないが、それに余計な労力が求められる。我々が関心あるのは「Eの極小点 x0」であり、それ以外の点での値には関心が無い。したがって x0 以外の点では E の値、あるいはその微分を正確に知る必要はない。必要なことは x0で勾配が0を与えるよう

11

Page 14: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

-1 0 1

-1

0

1

図 2.3: 関数 f(x) = xtAxの等高線。赤線は拘束条件 |x|2 = 1(曲線C)を示す。この拘束条件の中では赤の点が最小値となる。

な関数である。それが x0 以外の点で E の正確な微分になっている必要はない。

今述べたことを、より具体的に示すため線形近似を用いて書き直す。関数 f(x) = xtAxの最小値を拘束条件 |x|2 = 1の下で求める。この拘束条件つきの f(x)の勾配は

∇g(x) = Ax − λx (2.13)

と取る。λは λ = xtAxと取る。繰り返すが、g(x)は f(x)そのものではないが、f(x)の極小点と g(x)の停留点は一致する。ベクトル xが規格化されているとして、式(2.13)で与えられる拘束力の解釈は図 2.2に示される。ベクトル xがAの真の固有ベクトル xiであれば(固有値 λi)、Axは xと平行になる。そうでないときは、Axと λxとの差 yは、xと垂直のベクトルである。したがって、式(2.13)の第二項は、xが固有ベクトルから外れたときそれを固有ベクトルのうちの一つに近づけるような復元力の働きをする。

例題 6   2 × 2行列による関数 f(x)行列Aとして 2 × 2の実対称行列

A =(

2 −1−1 2

)(2.14)

を取り上げる。この行列Aは固有値として λ = 1と 3を持つ。どちらも正であるので、正の定符号

λ = 3 λ = 1

図 2.4: 関数 F (x) = f(x) − λ|x|2 の等高線。λとして 1と 3を取ったものを示す。黒いところがエネルギーが高い領域。

-1 0 1

-1

0

1

図 2.5: ベクトル場−∇g(x)のようす

12

Page 15: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

行列である。それらの固有ベクトルはそれぞれ、(1, 1)と (1,−1)であることも直ちにわかる。この行列から作られる関数

f(x) = xtAx

= x2 − xy + y2 (2.15)

は、従って下に凸な関数でる。図 2.3にはこの f(x)

の等高線が描かれてあるが、原点 (0, 0)で最小値

が 0あることは自明である。何の拘束条件も無け

れば、この原点が最小値となる。

この例題において、|x|2 = 1という拘束条件を課して、その中で f(x)の最小値を求めてみよう。図 2.3には条件 |x|2 = 1の描く領域(曲線C)が、赤線で描かれている。いうまでもなく、原点を中心とする半径1の円である。この円上での最小値は図から直ちに (1, 1)方向であることがわかる。これは二つの固有値のうち小さい方、λ = 1に対応する。今この問題を、式(2.10)の処方箋に沿って解いてみる。λとして 1と 3を取ったものを図 2.4に示す。これらの図を見ると、それぞれ固有値に対応した特別の方向を選ぶことが直ちにわかる。λ = 1であれば極小値を、λ = 3であれば極大値を指し示している。どちらの等高線を使っても、曲線C上で探索する限り、大局的には正しく (1, 1)方向にたどり着くことがわかる。しかしよく見ると違いがでる。λ = 1の場合は、曲線Cに沿って(1, 1)方向は極小点であるのでその付近ではこの勾配に従って進めば良い。ところが (1,−1)付近では、曲線Cに沿って見ると勾配は曲線Cと直交している。ということはこの付近から出発するとほとんどこの付近から抜け出せない。一方 λ = 3の場合は、(1,−1)付近では曲線Cに沿って勾配があるので、この付近からはすぐ抜け出せることがわかる。しかし求めたい極小値方向 (1, 1)の付近では、勾配は曲線Cと直交しているので、この付近まで来ても真の方向 (1, 1)はほとんど判別不可能となる。

λとして固有値以外の値の場合はどうなるか?その場合でも曲線Cで探索する限り、(1, 1)と (1,−1)方向に極値があることには変わりな

い。しかしその曲線から外れたときは、図 2.4ほどには、極小値のありかが明確にならない。一方、式(2.13)で微分を評価する方法では

どうだろうか?

−∇g(x) = Ax − λx (2.16)

ここで、この式の微分の意味は、「式 F (x) =f(x) − λ|x|2 において λを定数と考え、xで勾配を取った後、各点 (x, y)で評価した f(x)を用いる」と理解する。図 2.5には、このようにして得られたベクトル場−∇g(x)の様子が描かれている。これからこのベクトル場の方向にしたがって進めば最小値として正しい方向 (1, 1)が得られることが一目瞭然であろう。ここで現れた F (x)にしろ g(x)にしろ、真

の f(x)の勾配とは違うが、しかし極小点の位置は一致することをもう一度強調しよう。これらの式が、そういう意味での元の関数 f(x)の勾配に相当している点は重要である。関数f(x)の最小値を探索するとき、その微分を知っていると非常に役立つが、しかしその勾配を求めるのに大変な計算労力が払われるようでは意味がない。F (x)にしろ g(x)にしろ、多くの問題では(大抵は解析的な形が知られているので)簡単に評価できるので、これらによる f(x)の勾配の推定は非常に強力な道具となる。

まとめ

 逆行列を求めることと、固有方程式を解くことは、数値解析のなかでは、共通した技法が使える。 関数 f(x)の微分∇f(x)がわかるとき、それを最小値探索の基本方針とできる。しかしそれは正確な微分である必要はない。最小値 f(xmin)の近傍で関数 f(x)と一致しておればよく、その他の領域では近似で十分である。

13

Page 16: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

Conjugate-gradient

Steepest-descents

図 2.6: 最急勾配法と共役勾配法の違い

2.3 繰り返し法による最小化

関数 f(x)の極小点を求めるとき、その微分∇f(x)が知られていると非常に役立つことを見てきた。真の極小点 xmin以外では、その真の微分∇f(x)と違っても、真の極小点xminだけで 0になるようなものであればよい。先の例では簡単な2次元問題を扱ったが、実際の問題として、ベクトル xは多次元であることが多く、そのような場合どうしたら良いだろうか?多次元空間で絨毯爆撃的に探索したのでは効率的でない。そのようなとき、この勾配の方向を利用する。

2.3.1 最急勾配法

直感的に分かりやすいのは 最急勾配法(steepest-descent method)であろう。この最小化過程を図 2.6を参照しながら説明する。

1. はじめに初期推定位置として x0と取る。この点での勾配∇f(x0)を求める。

2. 次にこの方向に探索方向を固定し、その方向で f(x)の一次元最小値探索を行う。

3. この方向での最小点 x1 が見つかったなら、この点での勾配 ∇f(x1)を改めて評価する。

4. 以下、過程 2- 3を繰り返す。これを繰り返しているうちにやがては真の最小点xminにたどり着けるだろう。

xn

hn

xn+1

hn+1

gn+1g(hn+1)

図 2.7: 共役勾配の方向

この方法は、正の定符号関数に対しては確実に最小点を見いだす。しかし図 2.6をみればわかる通り、一般には、試行錯誤を多数繰り返し、従ってベクトル空間の次元N が大きいと効率は悪い。この最急勾配法の効率を上げる方法がいろいろ提案されている。その中で典型的な共役勾配法を次に説明する。

2.3.2 共役勾配法

最急勾配法の効率がなぜ悪いかという原因を探ると、図 2.6をみればわかる通り、この方法では、過去辿った方向を何度も辿っていることがわかる。いわば過去の反省が生かされていないのである。過去辿った方向の情報を全て生かして現在のベストの探索方向を決めるのが共役勾配法(conjugate-gradient method)である。この共役勾配とはどういうものかを直感的

に理解するため、図 2.6を詳細に見よう。最急勾配法がなぜ効率が悪かったかというと、それは過去辿った方向を何度も辿っていることを述べた。ということはその繰り返しの方向が「谷底」であることを暗示している。スキーヤーが何度もターンしながら谷底へ向かう有り様を思い浮かべれば、繰り返しの方向に真の探索方向があることが予感させられる。このことを数学的に表現してみる。今、最小探索を、x0、x1、x2、、、と進め

ることを考える。n番目のステップでは点 xn

14

Page 17: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

から出発する。xnでの勾配ベクトルは gnとする。xnから出発して hn方向に一次元探索を行う。この線上に最小値が見つかり、それを次のステップの出発点xn+1とする。ここで我々は次の勾配 gn+1を評価する。しかし単純にそれを次の探索方向とは取らない。それとは一般に違う方向hn+1を取るのであるが、どうやって決めるか?それは先程述べたその前の「勾配が繰り返される方向」をとるのである。つまり点xn+1の周りに単位円を描き、その円周上の点x′ = xn+1 +hで勾配 g(x′)を評価する。この勾配 g(x′)が現時点の勾配 gn+1

と平行になっているような方向 hが求めている探索方向である。

N 次元を作るときは、通常直交基底ベクトルを使うのが便利であるが、共役ベクトルの組によってもその空間が張ることができる。この共役ベクトルの興味深い応用として、逆行列を求めるとき使われることが挙がられる。そのような例を節で示す。やはり具体的に考えるため、関数 f(x) =

xtAxで与えられるような簡単な線形問題を取り上げる。n番目の探索では、xnから出発して hn方向に進む。すなわち、xn + αhn で表される空間上を探索する。これは一つのパラメーター αで表されているので、一次元探索である。この探索方向での極小点 xn+1は

xn+1 = xn + αnhn (2.17)

で表される。極小位置を決めるパラメータαn

は、

hn · gn+1 = hn · g(xn+1) = 0 (2.18)

を満たす。一般の関数 f(x)の場合でも一次元探索では数値的に比較的容易に得られる。線形関数 f(x) = xtAxの場合であれば、解析解が存在する。それは g(x) = −Axであるので、条件(2.18)は

αn = −hnAxn

hnAhn(2.19)

と表される。次に、この新しい点xn+1から出発し、新たな探索方向hn+1を求める。新たな探索方向は

やはりその点での勾配 gn+1を基本とするが、それに修正を加える。すなわち

hn+1 = gn+1 + βnhn (2.20)

の形で与え、適切な βnの値を求める。図 2.7を参考にすると、それは g(hn+1)と gn+1 が平行という条件となる。これは kをスカラーとして

g(hn+1 + xn+1) = kg(xn+1) (2.21)

であることをいっている。やはり線形問題であれば、式(2.21)は

Ahn+1 = k′Axn+1

= k′gn+1 (2.22)

となる。式(2.22)の重要な帰結の一つは、これに左

から hnを掛けて、式(2.18)の直交性を使うことで得られる、

hnAhn+1 = 0 (2.23)

という性質である。この性質(2.23)を利用すると、βnの値が

求まる。式(2.20)に左からAを掛け、さらにそれに hnを掛けて、この性質(2.23)を使うと、

βn = −hnhgn+1

hnAhn(2.24)

となる。さらに便利なように g だけを使って式

(2.24)を書き直すと

βn =gn+1gn+1

gngn(2.25)

を得る。式(2.24)と(2.25)は、線形関数に関しては等価でありどちらを使っても同じである。しかし一般の非線形関数に対しては違いが生じてくる。式(2.24)に基づくものがHestens-Steifel型、式(2.25)に基づくものがPollak-Ribiere型と呼ばれるものである。図 2.8に、実例で共役勾配法と最急勾配法の計算比較を示している。これから共役勾配法の効率がいかに良いかがわかる。

15

Page 18: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

0 10 20 10

10

10

10

10 1

iter

SD

CG

[Ry]

図 2.8: 共役勾配法と最急勾配法の計算比較

ここまでは共役勾配法の良いところばかり述べてきた。しかしながら、全ての方法でそうであるように利点は欠点をも併せ持つ。共役勾配法は、正の定符号を持つ関数であれば、それが線形でなくとも原理上は成り立つ。しかし非線形性が強くなるにつれ実際の効率は悪くなる。特に強調しておくべきは、共役勾配法でも、一旦方向が定まった後は通常の一次元最小値探索を行っている。この段階では何のトリックもない。先に述べられたように、最小値探索の初期段階では最小化すべき関数を厳密に取り扱うより近似的に扱うことがより効率が良い。その場合一次元探索で見つけられる最小値には誤差が伴う(そうでなくても誤差は数値計算では常に存在するがより顕著になるということだ)。共役勾配法の特徴は、常に少ない繰り返し回数で極小値を求めるアルゴリズムであるので、一度探索した方向は二度と繰り返さない。初期段階の一次元最小化の誤差は致命的で、後では回復されない。これが最急勾配法との違いで、最急勾配法であれば、初期段階のこのような失敗も後で回復できる。共役勾配法では初期段階の精度が良くないときは、繰り返しを増やしても改善されない。そのようなときは、共役勾配過程を一度リセットし、やり直すべきである。

まとめ

 極小値を求める方法として共役勾配法は有効である。少ない繰り返し計算で極小位置が求まる。 しかし、あまり繰り返しをやり過ぎてはいけない。特に初期段階の一次元最小化の過程があまり精度が良くないときは、繰り返しを増やしてもほとんど改善されないことに注意すべきだ。

計算コスト このように共役勾配法は効率の良いものであるが、しかしながら現実の問題として考えるなら、計算効率を考察しなければならない。この方法の計算の主な部分は、勾配∇f を求めるところである。これにあまりに時間がかかるようでは役に立たない。線形問題ではその部分は行列とベクトルの積A ·xで、だいたいO(N2)にスケールする。従って密な行列にはこの方法は勧められない。疎な行列や他の方法ではそれよりも遥かに時間がかかるときのみ有効であろう。

2.3.3 一次元最小値探索

最急勾配法であろうが共役勾配法であろうが、一旦、探索方向が決まると、その方向で一次元最小値探索を行うのは同じである。一次元での関数 f(x)の最小値を求める方法はいろいろある。一番、原始的なものは、逐次分割法である。ある決められたステップ幅で f(x)を評価し下がる方向にともかくも突き進む。どこかで上昇したら、反対に進む。そのときステップ幅をそうすることが安全な限りで狭める。この過程を繰り返し、最小点を探し求める。この方法は、関数 f(x)が滑らかな連続関数である限り、必ず成功する。しかしその代わり、一般には最小点を探り当てるまで多くの試行点が必要となる。つまり計算コストは高い。物理で現れる関数 f(x)は、多くの場合、滑

らかな連続関数という以上にもっと特定され

16

Page 19: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

た仮定が当てはめられる。典型的な仮定は、それが放物線近似 f(x) = ax2 + bx+ cで与えられるというものである。この場合は、最小点xmin = −b/2aは二つの定数さえ知れば直ちに求まる。これは計算コストのもっともかからない方法で、実際の問題ではしばしば用いられている。実際計算コストが安いという点は非常に魅力的で、それゆえこの方法は、その近似が成り立つ範囲を越えても多用されている。

2.3.4 特異行列、ヌル空間の扱い

物理の問題では、時々、A−1が存在しない場面に遭遇することがある。よく知られているように、これは行列式 |A|が 0となる場合で、そのような行列を特異行列(singular matrix)という。行列が特異的であるかどうかの判定基準はいろいろある。

定理 3 行列 Aに特異性がなければ、以下のことが成り立つ

1. detA 6= 0

2. Aは固有値として 0を持たない

3. Ax = 0の唯一可能な解は x = 0であること

4. Ax = bの解は一意的であること

特異性を持つ行列でつくられる関数 f(x) =Axはヌル空間を持つという。この場合、空間の次元性が重要なので、もう少しその点を明確にして述べる。n × n行列Aの n次元ベクトル xへの作用は、n次元ベクトル空間 V から同じく n元のベクトル空間W への写像 f(x)と見なすことができる。

定義 5 ヌル空間有限のセット {xi}で張られる部分空間に対

Axi = 0, i = 1, 2, . . . , f (2.26)

f(x)

W

xKer

V

図 2.9: ヌル空間。関数 f は空間 V を空間W

に写す。関数 f がヌル空間を持つと、ヌル空間はW 空間中に0の一点だけに写像される。

となることである。このような有限のセット{xi}で張られる部分空間は、ヌル空間(nullspace)あるいは核空間(kernel)と呼ばれるものである。その次元数 f は退化次数(nullity)と呼ばれる。r = n − f が関数 f(x)の階数(rank)と呼ばれるものである。

図 2.9に示されるように、関数 fがヌル空間を持つと、より低次元の空間に退化する。写像された点(×印)の集まりが関数 f のレンジ(range)と呼ばれる。したがって、写像空間 yの中では、全ての点が xからのAによる写像であるとは限らない。方程式Ax = bの解が存在しない場合がある。

特異行列に対する逆行列 数学の問題としては、特異行列であれば逆行列が存在しない以上、逆行列を求める努力はそこで止められる。しかしながら物理の問題では、そのような場合でもどうしても逆行列を求めたいことが多くある。実際、少し定義を拡張すると、特異行列でも「逆行列」を求めることができるのである。それは上のヌル空間を除いてしまうことである。それを除いた空間は逆行列を持つ。具体的に述べよう。Aのヌル空間が1次元

の場合を考えよう。それが xの最初の成分だとしよう。このときは非常に簡単で、

17

Page 20: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

a11 a1,2 .

a21 a2,2 .

. .. . .

(2.27)

と分割し、Aから1行、および1列目を除いた部分行列Ar は逆行列を持つので、それを(Ar)−1として求める。残りの部分は全て0と置き換える。 (

0 00 (Ar)−1

)(2.28)

が求める逆行列である。ヌル空間と直交する部分空間で考える限り、逆行列は求まる。常にそうなるようにプロジェクトアウトする。

18

Page 21: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

第3章 古典物理学での変分法

今度は古典物理学に戻り、なじみ深い問題に変分法を適用することで、その実行過程をつぶさに見ることにする。

3.1 任意形状の導体における定常

電流の問題

取り上げる題材は、静電気学からの問題である。任意の形状の導体に電極をつけ、それに電圧 V を掛けたとき、その導体内部での電流分布を求めてみる。導体は空間的に一様な伝導度 σを持つものと考える。図 3.1参照。定常状態では、電流が流れていても静電気の問題と同じである。静電ポテンシャルの分布 ϕ(r)を適当な境界条件で求め、

j = −σ∇ϕ (3.1)

で求めれば良い。

V

I

2 1

図 3.1: 電極で挟まれた抵抗体の中の定常電流の問題

3.1.1 数値問題としての記述

静電ポテンシャルの分布ϕ(r)は、よく知られているようにポアソン方程式

∇2ϕ(r) = 0 (3.2)

を解くことで得ることができる。計算機ではポアソン方程式(3.2)はどうやって解くか?まず空間を離散化する。2次元ではその離散化表現は、∇2

i ϕ = (ϕi+1,j + ϕi−1,j − 2ϕi,j)/(∆x)2

として∇2

i ϕ + ∇2jϕ = 0 (3.3)

となる。これはまた

ϕi,j =ϕi+1,j + ϕi−1,j + ϕi,j+1 + ϕi,j−1

4(3.4)

と書き直される。この式(3.4)は、(i, j)点での関数 ϕの値はその近傍の4点の平均で与えられるということをいっている。このことから、計算機でポアソン方程式を解く一つの方法として、式(3.4)を利用し、ある点の値をその近傍の4点で平均化させるという操作を繰り返し行うことで求めるという方法がある。緩和法といわれるものである。緩和法の詳細は [5]でよく書かれている。おそらくこの問題に対しては緩和法がもっとも適しているだろう。しかしここでは、この問題を解くのに変分

原理を使ってみよう。準備として少し数学的な準備を一つしておく。

例題 7  関数の変分の例(2)汎関数が関数 f(x)の微分 f ′(x)で与えられると

き、その変分はどうなるであろうか?具体的に書くと、

F [f ] =∫

H(f(x), f ′(x))dx (3.5)

で、関数 f(x)による変分はどうなるだろうか?この場合 p. ??で述べられた「汎関数H[f(x)]は関数自体を値に写す」に今一度、注意する必要がある。関数 f(x)を変化させると、その微分 f ′(x)は、

空間のある点 xにおけるその関数の変位 δf(x)だけでなく、空間の全ての点での変化 δf(x′)に関係する。つまり影響は非局所的である。

δF =∫

∂H

∂fδf(x)dx +

∫∂H

∂∇fδ∇f(x)dx (3.6)

19

Page 22: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

第一項はそのまま問題なく評価できる。第二項が問題である。δ∇f(x)は f(x)が δf(x)だけ変化したときの微分の変化である。つまり δ(∇f(x)) =∇(δf(x))となる。これから第二項の積分は部分積分を取り、

−∫

∇(

∂H

∂∇f

)δf(x)dx

となる。これより

δF

δf=

∂H

∂f−∇

(∂H

∂∇f

)(3.7)

となる。

3.1.2 変分原理による問題の定式化

この数学的準備の後、改めて今の定常電流の問題について考える。我々はポアソン方程式は知っている。これに変分原理を適応するには、ポアソン方程式が導かれるようなエネルギー汎関数が欲しい。それが何かはだいたい物理的直感で求まる。定常電流状態でのエネルギーはジュール熱である。従ってそれをエネルギー汎関数と取れば良いことが推測できる。実際その通りである。定常状態ではエネルギーそのものより、単位時間あたりのパワー Pjoule = IV を取るのが妥当である。二つの電極間での電位差 V のもと(電極1は ϕ = 0と取る)、電流密度 jの作るジュールパワーは

Pjoule =∫

el2V j · S (3.8)

である。ここに積分は電極2の表面全体に渡ってとる。すると

Pjoule =∫

el2ϕj · dS = −

∫div(ϕj)dv

= −∫

j · divϕdv =∫

j · Edv

= σ

∫E2dv

= σ

∫(∇ϕ)2dv (3.9)

となる。この式(3.9)はパワー Pjouleはポテンシャル関数 ϕの汎関数であることをいって

いる。この汎関数には、ϕの微分が入っているので、上で述べた処方箋に従うと、

δPjoule

δϕ= −∇2ϕ(r) (3.10)

となり、極値 δPjoule/δϕ = 0の条件は見慣れたポアソン方程式となる。このことは、∇2ϕ(r)が汎関数 Pjouleの自然

な勾配 δPjoule/δϕを与えており、適当な境界条件の元、ポアソン方程式を満たすような ϕ

がジュール熱を最小にすることを意味する。そこで、この問題を共役勾配法で解く方針

は以下のようになる。

1. 各点 (i, j) で、勾配 δPjoule/δϕi,j を求める。その負の符号をとったもの、

g0i,j = −∇2

i,jϕ = −(∇2i ϕ + ∇2

jϕ) (3.11)

が最急勾配方向 g0i,j である。

2. 全ての点での g0i,jが求まると、現在のϕ0

i,j

から出発して、各点の値を最急勾配方向g0i,jに向けて変化させ極小値を求める。これは各点の変化の方向を g0

i,j と固定しているので一次元探索である。

3. g0i,jの方向での極小値ϕ1

i,jが求まると、今度はその点を出発点として新たな探索方向を決める。その決め方は共役勾配法の原則に従い、一つ前の探索方向 g0

i,j と現在の勾配 g1

i,j から求まる。

実際のところは、拘束条件が入ってくるがこれに関しては後で議論する。(3.11)で与えられるところの勾配

δPjoule/δϕが、解に近づいて行く方向を教えるようすは図 3.2から読み取れる。

拘束条件 これまで、煩わしさを避けるため拘束条件に関しては述べてこなかった。しかし拘束条件は重要で、ほとんどこれで問題が決まる。拘束条件がなしであれば、ジュール熱は 0というトリビアルな解に行き着いてしまうだろう。この問題の場合の拘束条件は、この物質と外界との境界面で与えられ、以下のように表される。

20

Page 23: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

f(x)

The residual 2f(x) corrects the current deviation f(x) from ϕ(x).

x1 x2

ϕ(x)

2f(x)<0

2f(x)>0

図 3.2: 一次元でのポアソン方程式の繰り返し計算による解法

• 電極表面 電極表面での電位は一定。電極1では 0、電極2では V と取れる。つまり

ϕ|1 = 0, ϕ|2 = V (3.12)

• 電極以外の表面 それ以外の表面では電場は境界面に平行。

n · ∇ϕ = 0 (3.13)

これらの境界条件をどのように実現してゆけばよいだろうか?ラグランジュアンの未定乗数を導入することはできないことではないが、直接的にϕ(r)の値を操作することが一番簡単であろう。物質を(i)その内部、(ii)電極表面、(iii)それ以外の表面と3つの領域に分けたテーブルを用意し、(ii)と(iii)の境界面ではさらにその面の法線ベクトル nのデータも格納しておく。電極表面ではϕ(r)は固定とする。そして境界(iii)では

ϕi,j =nxϕi+sgn(nx),j + nyϕi,j+sgn(ny)

nx + ny

(3.14)とする。

数値精度 こうして問題は解けたが、しかし実際の問題として精度の問題についても触れておかねばならない。この問題での最終的な解としてϕ(r)と同時に、全電流の値 Iを求め、

抵抗R = V/Iを求めたい。全電流は定義により、どちらかの電極表面での積分

I =∫

el2j · S (3.15)

で与えられる。しかしながら、全電流の値として式(3.15)

を使うことは勧められない。電流密度 jは ϕiの微分∇ϕiで与えられる。変分法では、エネルギーは試行関数の正確さには鈍感であることを思い出そう。一方で式(3.15)は試行関数の正確さに直接依存する。利口な電流の評価方法は、式(3.9)により

ジュール熱 P を評価する。これは変分変量なので、精度は高い。全電流 I はこの P から、I = P/V で求めるのが良い。このときは、I

は実質、試料の全体積積分で与えられるのに対し、式(3.15)の場合は表面積分で、誤差が大きくなる。

3.2 変分原理の問題への定式化

古典物理学の教科書の中では、さまざまな方程式が現れるが、それらはまさに方程式(すなわちA = Bという等式として)として表され、不等号の関係式で表される変分原理として現れることはほとんどない。1ニュートンの運動方程式、オームの法則など不等式として表したのではほとんど理解できないだろう。しかし数値的に解いてゆくとき、変分原理として表したほうが便利なことが多い。そこでよく見慣れた方程式をいかに変分原理のスタイルに焼き直したら良いか、言い換えればいかにして変分原理を満たす汎関数 f を見いだしていったら良いかを考えてみる。はじめから抽象的な一般論を展開するのではなく、例を試しながら発見法的に考察する。

1熱力学の第二法則だけは不等式で表されているという意味で例外的であろう。

21

Page 24: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

3.2.1 時間依存を含まない方程式

空間座標 xだけに依存する方程式の場合、最も簡単な形式

Ax = b (3.16)

で考えると簡単である。多くの場合、係数行列Aは実対称行列、あるいはエルミート行列に限っても良い。この式(3.16)は、xの二次形式関数

f(x) =12xtAx − bx + c (3.17)

の微分として与えられることはすぐわかる。それゆえこの f(x)を汎関数として採用すれば良い。

式(3.16)は、線形関係を述べているが、この関係式の適用範囲は意外に広い。例えば微分方程式であるポアソン方程式は一見、式(3.16)には全く合致していないように見えるが、数値計算の問題としては同じである。それは式(3.3)でみたように、微分は

∇2ϕ(x) → ϕi+1 + ϕi−1 − 2ϕi

2(∆x)2(3.18)

と隣り合うϕiの線形結合で表されるからである。具体的には、Aは

. −2 1 . . .

. 1 −2 1 . .

. . 1 −2 1 .

. . . . . .

(3.19)

のような形となる。この特性行列Aに対し繰り返し法により解

ϕiが求まる。しかしながら、問題をこのように行列Aとして焼き直して解くやり方は、多くの場合勧められない。それは前にも何度か述べたように、行列Aを、全ての要素を直接メモリーに格納するやり方で解こうとすると非常に非効率的となる。計算がN のべきで増加するからである。行列Aとしてではなく、できる限り「行列とベクトルの積 A · xとして扱う」ようにする。

式(3.16)を行列表現したとき、その行列Aは疎行列である。したがって、そのように取り扱うべきで、まともに行列全体を展開することのないように心がけるべきである(サイズが小さい場合を除き)。

時間依存性を持つ方程式

時間依存性を持つ方程式の場合も形式的には変分原理のスタイルに直せる。いわゆる作用積分の形にすれば良い。すなわち

A[Ψ(t)] =∫ t1

t0

dt

(Ψ(t),

[i∂

∂t− H(t)

]Ψ(t)

)(3.20)

よく見慣れた時間依存性を持つ方程式はこの作用積分の変分極小として求まる。しかしながら、これは著者の勉強不足のせいであろうが、それが実際的に有用な形として使われている例を知らない。形式的に作用積分の形に直せたとして、そ

れを数値的に極小にすることで、実際に時間依存性を持つ方程式を時間積分することに比べて特に計算規模を劇的に節約したという例はあまり見ない。空間座標の場合は、多粒子系に関して、多変数極小化のアルゴリズムが利用できるので、計算規模を大いに節約でき、したがって変分原理のメリットは大きい。一方時間依存の問題では、時間変数ははじめから一つしかなく、作用積分の形にしたところで、何のメリットも無いことが理由だと思われる。

3.3 調和近似での分子構造の最適

分子や固体では、構造がほとんどの性質を決めるので、どのような構造が一番安定かは非常に重要な問題である。どの構造のとき一番安定かは、エネルギーの最小値探索の問題である。N 個の原子がありそれらの原子位置が {Ri}(i = 1, . . . N)であるときの全エネルギーEを求め、それを最小化したものが最安

22

Page 25: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

定構造ということになる。全エネルギーEは原子位置の関数E({Ri})である。広い範囲での座標空間 {Ri}に対する E({Ri})の変化を記述する簡単な解析関数は存在しない。だから、第一原理計算でE({Ri})を求めるのであるが、ここではモデルを仮定する。

3.3.1 古典モデル

よく用いられるモデルは、「調和近似」といって平衡位置を仮定して、それからのずれに対して自乗でエネルギーが増加するというもので、古典力学で見るバネ定数(あるいは力定数 force constatnt)モデルである。このモデルは簡単でありながら、驚くほど多くの現象に当てはめられ定性的な性質を説明に役立つものである。と同時に詳細を議論し始めると、大抵の場合、「調和近似が悪かった」とやり玉に挙げられるものでもある。最も簡単なものは、最近接の原子間の伸縮方向の力定数だけで記述するというものである。

E =∑i,j

12k|Rij − R0

ij |2 (3.21)

ここに、R0ijは平衡位置での i番目と j番目の

原子の間を結ぶベクトルで、Rij はそれに対応する瞬時瞬時のベクトルである。微小変位の範囲では式(3.21)は

E =∑i,j

12k((ui − uj) · eij)2 (3.22)

となる。ここに、u0i は i番目の原子の平衡位

置からの変位ベクトルで、e0ijは平衡位置での

i番目と j番目の原子の間を結ぶ単位ベクトルである。平衡位置を知っている場合は、このエネルギー関数の最小値を求めることは全くつまらない問題で、言うまでもなく、全ての原子の変位が ui = 0となることである。このようにトリビアルな問題でありながら、ここに最小化を求めるエッセンスが詰まっているのでここで議論する。

式(3.22)を変位 uiで2回偏微分を取ったものが、いわゆる動力学行列(dynamical ma-trix)Dijと呼ばれるもので、フォノンの計算をするときの基本量となる。

Dij =∂2E

∂ui∂uj(3.23)

ここに添字 iは、原子のラベルとデカルト座標のラベルを一緒にしたものと理解願いたい。この動力学行列を対角化することで、固有振動(フォノン)が求まる。各原子に働く力 FiはDij により、

Fj =∑

j

Dijuj (3.24)

と表される。

定義 6  ヘイシアン行列関数 f(x)が2回微分可能であれば、それに

より生成される行列H

[Hij ] =[∂2f(x)∂xi∂xj

](3.25)

はヘイシアン行列(Hessian)と呼ばれる。

定義から、ヘイシアン行列は対称行列である。上の動力学行列はヘイシアン行列の代表例である。例として、これも非常に簡単な、線形の3

原子分子を考える。

例題 8  ポテンシャル運動を一次元に限定して

E =12k(u1 − u2)2 +

12k(u2 − u3)2 (3.26)

となる。以降、簡単のため kの値は1とする。このポテンシャルから得られる動力学行列は

D =

1 −1 0−1 2 −10 −1 1

(3.27)

となることは直ちにわかる。

23

Page 26: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

-1 0 1

-1

0

1

-1 0 1

-1

0

1

(a) steepest descent method (b) conjugate-gradient method

図 3.3: 最急勾配法と共役勾配法によるポテンシャル(3.29)の最小化過程

動力学行列(3.27)の固有値は 1、3以外に0もあることもすぐわかる。すなわちこの行列は特異行列である。ランクは2階である。固有値 0は、純粋な並進変位 (1, 1, 1)、フォノンの言葉で言えば音響フォノンである。特異行列のところで議論したように、ヌル空間を取り除かないと以下の最小化過程が破綻する。この場合のようにヌル空間が明確にわかっているときは、常にそのヌル空間と直交するように探索を取れば良い。{u1, u2, u3}の3変数のうち、(1, 1, 1)と直交するようにするには、

u1 + u2 + u3 = 0 (3.28)

とする。そうするとポテンシャル(3.26)は

E = (u1 − u2)2 + (u1 + 2u2)2 (3.29)

と、二変数の関数に還元される。

3.3.2 従来の方法

はじめに第節で紹介した方法での2次元ポテンシャル(3.29)の最小化過程を調べてみる。図 3.3で最急勾配法と共役勾配法を比較してある。最急勾配法では、最小点に到達するために何回もステップを踏んでいる。一方、共役勾配法であればわずか2回で最小点に到達していることがわかる。

計算の技法 ここで一つ実際の計算で重要となる技法について議論しよう。最急勾配法であれ共役勾配法であれ、変位

uに対するエネルギーの変化の評価に行列D

が使われる。δF = Duを使えば良いのは明白である。しかしここで前節で述べた注意が喚起される。すなわち実際の数値計算では(特に大規模計算では)、N ×N の行列Dが非常に大きく実メモリーに収まらない、あるいは収まっても、行列の積Duの計算に多大の時間がかかってしまう。といった理由でそうすることは勧められない。できるだけ行列Dをあらわに出さないように工夫する必要がある。どうやったらそれが可能となるか?それは最小化過程などでは、多くの場合、行

列Dだけ単独に現れるより、行列の積Duの形、言い換えれば、ベクトルとしての力Fとしてのみ現れる。あるいはそうすることが可能である。式(3.23)のように行列Dとして展開せず、あくまで式(3.24)で与えられるベクトル F としてのみ評価する。そうするには、恒常的にはメモリーには行

列Dではなく、式(3.26)で与えられるポテンシャルを格納しておく。行列Dを格納するには N2 のオーダーのメモリーが必要であるのに対し、式(3.26)のタイプの情報はほぼN のオーダーのメモリーで済む。そしてそのポテンシャルから必要であれば力Fだけを求めるようにする。それには式(3.26)を単に原子位置で微分すれば良い。これに要する演算は、行列を求めかつそれの積を取ることに比べてはるかに少なくて済む。このことをプログラムコード上で実現する

には、式(3.26)のタイプのポテンシャルの表現について知る必要がある。それは一般にk((ui−uj).eij)2の形をしている。成分を明示すると、eij = eと記して、

k [(uix − ujx)ex + (uiy − ujy)ey

+(uiz − ujz)ez]2 (3.30)

であるので、番号付けられた各「ボンド」について、そのバネ定数 k、(ex, ey, ez)のリストを持っておれば良い。2各原子に働く力はそれから解析的に与えることができる。例えば、こ

2これは行列の言葉でいえば、疎行列の演算に相当する。

24

Page 27: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

f(x)

x1 x0

y = f'(x0) (x-x0) + f(x0)

図 3.4: 一次元でのニュートン法による f(x) =0の根の求め方

のボンドの場合、i番目の原子に x方向に働く力は Fix = −kexuij .e となるので、プログラムコード上でこれを評価するのは容易である。

まとめ

 数値計算では、可能な限り行列の代りにベクトルを扱え。

数値的な収束に、もっと効果的な方法はないだろうか?この節では他のアプローチを試みる。

3.3.3 Newton-Raphson 法

一次元での方程式 f(x) = 0の根を求める方法としてNewton-Raphson法が知られている。図 3.4のように、最初の推定点 x0から出発して、曲線の勾配を辿ってゆく方法である。次の改良点は x1 = x0 − y0/f ′(x0)となる。ニュートン法は最も良く知られた根の求める方法である。シンプルでありながら強力である。と同時に、全ての方法がそうであるように、また弱点も併せ持つ。良く知られている、ニュートン法が失敗する例が図 3.5に示されている。

問題 1  ニュートン法の補完上の例のようにニュートン法が失敗したとき、

どうしたら良いか?

x1x0

f(x)

図 3.5: ニュートン法が失敗する例

ヒント   xiからニュートンステップを進めると

き、いきなり xi+1 へアップデートせず、f(xi+1)

が本当に改良になっているかを調べるまで、古い

xi は残しておく。

この方法を多次元空間に拡張することができる。多次元座標xでのベクトル関数F(x)が0となる点を探す。これは物理の問題としては残留力が0となる平衡点を探す問題となる。初期位置x0で関数F(x0)を評価する。それ

は一般には 0でない残留値R0 = −F(x0)を残す。これから出発して以下のようにして改良点 x1を提案することができる。F(x)を x0

の周りで展開して

F(x0 + δx) = F(x0) + Jδx (3.31)

ここに J は

Jij =∂Fi

∂xj(3.32)

で与えれるヤコビ行列である。新たな点 x0 +δx が真の最小位置になるためには F(x0 +δx) = 0、すなわち

δx = J−1R0 (3.33)

と取れば良い。ヤコビ行列 Jの意味は何であろう?線形近似を使って考えるとすぐにわかる。線形方程式F(x) = Axでは、ヤコビ行列Jは元の行列Aそのものである。式(3.32)をみると、これは式(3.23)の力定数に相当することがわかる。

25

Page 28: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

このヤコビ行列を使い、この節でのテーマであるポテンシャル極小問題(3.29)に適用してみる。この解の過程を図 3.6に示す。ヤコビ行列は元の行列Dそのものである。この場合はずばり一回で極小点に到達している!このことはどの場所を初期位置x0にとっても変らない。今の問題は2次元であるが、もっと多次元であってもやはりそうである。関数が線形のものであれば、どんな次元であってもどこから出発しても、たった1回で極小点に到達する!もちろん現実の非線形問題では、何度もこの過程を繰り返す必要がある。この特性を、これまで述べた最急勾配法や共役勾配法と比較してみることは興味深い。どの方法も降下法であるのは同じである。すなわちその探索方向で関数の値は 0により近づく。けれども一番勾配の大きい方向に極小点がない点が面白い。ニュートン法の探索方向が降下の方向かどうかはすぐには明らかではない。それを見るには残留力Fから作られる関数 f = (1/2)F ·Fを最小化することを考える。すると、式(3.33)より

∇f · δx = − (F · J) ·(J−1 · F

)= −F · F < 0 (3.34)

となる。これはすなわち、ニュートン法の探索方向 δxは残留力を小さくする方向であることをいっている。

これで問題が解決したと思ってはいけない。

1. 大抵の問題ではAそのものが与えれていない。

2. たとえ理論的にはわかるとしても、実メモリーにAを直接展開するのが非常に非効率になる。

3. たとえ実メモリーに直接展開できても、その逆行列を求めることに大変な労力がかかる。

といった問題で、J−1を直接求めることは非

-1 0 1

-1

0

1

図 3.6: Newton-Raphson法によるポテンシャル(3.29)の最小化過程

δxδf

f(x)

x1 x0

図 3.7: 準ニュートン法におけるヤコブ行列の近似

効率的である。非線形問題では J を求めること自体大変な労力が要する。

3.3.4 Broyden 法

問題の多くはヤコブ行列を求めることにある。これに時間がかかったのではメリットは無くなる。何とか、素早く正しい形が推測できないか?そのような要請に応えるべくいろいろなヤコブ行列の近似表現が提案されている。その近似表現の目安を与えるものが準ニュートン法と呼ばれるもので、Broydenの方法が代表的である。iステップでのヤコブ行列の近似行列Biが求まったとする。するとニュートンステップ δxi = xi+1 − xiは

Bi · δxi = Fi (3.35)

26

Page 29: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

で決定されることになる。次のステップでのヤコブ行列近似表現Bi+1は

Bi+1 · δxi = δFi (3.36)

で与えられる。ここに δFi = Fi+1 − Fiである。この図示的な解釈は図 3.7で与えられているように、ちょうど真の勾配を、2点間の傾きで近似していることに相当する。しかしこの式自体はヤコビ行列 Jを一意的に与えるものではない。この式を満たす Jにはある任意性がある。これはメリットでもあり、この式を満たすような近似関数で扱いやすいものを選ぶことができる。このようなものの中で最も簡単なものは、

Broydenによるものであろう。それはBi+1はそれ以前のものBiに必要最小限の改良を加えたものである。

Bi+1 = Bi +(δFi − Bi · δxi) ⊗ δxi

δxi · δxi(3.37)

これが、式(3.36)を満たすものであることは、実際そこに代入してみれば良い。恒等式

(b ⊗ x) · x = b (x · x) (3.38)

を使うと

Bi+1 · δxi = Bi · δxi+

δFi ⊗ δxi

δxi · δxi· δxi −

(Bi · δxi) ⊗ δxi

δxi · δxi· δxi

= Bi · δxi + δFi − Bi · δxi

= δFi (3.39)

となり式(3.36)を満たすものであることが示された。

3.4 拘束条件の実現

3.4.1 ホロノミックな拘束

ホロノミックな拘束とは、n個の座標間に、

f(q1, q2, . . . , qn) = 0 (3.40)

という明示的な等式関係があるものをいう。等式でなければ非ホロノミックな拘束となる。式(3.40)を微分したものは

∂f

∂q1dq1 +

∂f

∂q2dq2 + . . . , +

∂f

∂qndqn = 0 (3.41)

となる。式(3.40)と(3.41)はだいたいは同じと思って良いが、完全には同じではないことに注意しよう。式(3.40)からは(3.41)は導かれるが、逆に

A1dq1 + A2dq2 + . . . , +Andqn = 0 (3.42)

からは、必ずしも(3.40)が導かれるわけではない。それはある積分可能性の条件が満たされるときのみである。式(3.41)は(3.40)と違って、一部の非ホロノミックな拘束条件をもいい表すことができる。実際のところ、多くの拘束条件はホロノミッ

クではない。例えば、滑らかなテーブル表面に剛体球が転がっている有り様を思い浮かべよう。平面上での剛体球の運動はその重心座標(x, y)で記述できる。一方、剛体球の回転は3つのオイラー角 α, β, γを使って記述できる。もし剛体球が表面を滑るのであれば、オイ

ラー角と並進座標との間には何の関係もなくなり、独立変数は5となる。もし全く滑らなければ、オイラー角と並進座標との間には何らかの関係があり、独立変数は2まで減らすことができる。しかしそれらの間に、式(3.40)のような明示的な関係を打ち立てるのはほとんど不可能であろう。できることはただ、ある時点での近傍での変化に関する記述(3.41)だけであろう。

例題 9  ホロノミックな拘束の例波動関数の規格化条件はホロノミックな拘束の

例である。

固有値問題で議論したところで、力で表現した拘束条件をそのまま受け入れ、それを導く母関数が何であるかをあまり詮索しないほうが良いと述べたのはそういう事情である。

27

Page 30: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

第4章 密度汎関数理論

4.1 はじめに

今日「第一原理計算」と呼ばれるものには、大別して「ハートリー・フォック法」と密度汎関数理論の二つのアプローチがある。手短になるよう先に結論を述べると、それぞれの方法での実際上の解くべき方程式は次のようになる。ハートリー・フォック法では[

−∇2 + Vion(r) + VH(r) − 3α

{34π

ρσ(r)}1/3

]ϕiσ(r) = εiσϕiσ(r) (4.1)

また密度汎関数理論では、コーン・シャム(KS、Kohn-Sham)方程式と呼ばれる次の方程式、[

−∇2 + Vion(r) + VH(r) + V σxc(r)

]ϕiσ(r)

= εiσϕiσ(r) (4.2)

である。個々の項の意味は以下順次説明するが、まず式(4.1)と(4.2)を読み比べてみよう。どちらも量子力学のハミルトニアンとしてはなじみ深い運動エネルギー項とポテンシャル項からなり、一電子波動関数に作用して固有方程式、即ちシュレーディンガー方程式の形をしている。実際、式(4.1)は将にシュレーディンガー方程式と呼ばれるのにふさわしい内容となっている。それに対し式(4.2)は形はシュレーディンガー方程式と似ている、あるいは全く同じように見えるが、実はそれは「シュレーディンガー方程式」ではないのである。そのことを強調するためわざわざコーン・シャム方程式と呼んでいる。文献では、これらの二つの式の背後にある思想を理解した上で、なおかつ敢えて式(4.2)をシュレーディンガー方

程式と読んでいる人もいるが、その違いを理解せずに形の類似性故にシュレーディンガー方程式と呼んでいるものもあるので注意が必要だ。この二つの間には、見掛け上の類似性とは裏腹に量子力学の根底を揺るがすほどの大変な違いがあるのである。もう一つの混乱は、式(4.1)と(4.2)は両

方とも、それぞれの基本方程式の局所密度近似(LDA、Local Density Approximation)版だということである。式(4.2)を密度汎関数理論の LDA版と呼ぶことは正しいのであるが、一方、式(4.1)は LDAを用いているが、決して密度汎関数理論に基づいているのではない。名前から推測すると局所「密度」近似であればそれは密度汎関数理論の特定の場合への近似に思えるが、そうではない。実際のところLDAは密度汎関数理論の誕生するずっと以前に発見されていたのである。これら式(4.1)と(4.2)の背後にある思想

の違いを理解できれば、本稿の目的は達成されたことになる。

4.2 ハートリー・フォック法

N 個の多電子問題を解くには、正攻法としてN 個の電子に関する波動方程式を解くことが考えられる。具体的にはハートリー・フォック法と呼ばれる標準的なものがある。それによるとN 個の多電子問題のハミルトニアンは最も一般的な形で

H =N∑j

[−∇2

j + Vion(rj)]+

12

∑j 6=k

e2

|rj − rk|(4.3)

で表される。ここに原子核からのポテンシャル Vionは

Vion(r) = −∑

I

ZIe2

|rj − RI |(4.4)

と原子核の電荷ZIによるクーロンポテンシャルで表される。電子状態はN 個の電子に対する波動関数Ψに関する固有値問題

HΨ = EΨ (4.5)

28

Page 31: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

の解として表される。ここで原子単位を使っているが、電荷に関しては eを残している。これらの表式は、今日の固体や分子を解くとき最も一般的なもので、出発点としてこれ以上複雑なものは無い。ハミルトニアンの表式(4.3)を見ると、電子ー原子核間だけでなく、電子ー電子間相互作用のポテンシャルも、高校の物理以来なじみ深いクーロンポテンシャル以上の複雑なものは入っていない。後に現れる交換、相関相互作用という古典的には理解しにくい概念は、全て波動関数の複雑さから生じたものであり、最も原理的な相互作用ポテンシャルの形としては全てクーロン相互作用以外の何者でもない。式(4.3)、(4.6)は見掛け上の簡潔さにも

関わらず、まともに解くことは絶望的に難しい。何が難しいかというと、波動関数ΨはN

個の電子座標 rj の関数

Ψ = Ψ(r1, · · · , rN ) (4.6)

で、それを実際に数値的にしろ解ける形にするのが大変なのである。良く知られているように、電子はフェルミ粒子なので電子同士の入れ替えに対して波動関数は反対称でなければならない。この性質を表すものとして一番簡単なものは行列式(スレーター行列式と呼ばれる)

Ψ(r1 . . . rN ) = ‖ϕ1(r1), · · · , ϕN (rN )‖(4.7)

である。式(4.7)で表されたN電子波動関数をハミ

ルトニアンの表式(4.3)に作用させ、変分原理により得られた一電子に関するシュレーディンガー方程式が、次のいわゆるハートリー・フォック方程式である。[

−∇2 + Vion(r) + VH(r)]ϕiσ(r)

−σ′=σ∑

j

Fjσ′,iσ(r)ϕjσ′(r)

= εiσϕiσ(r) (4.8)

Fjσ′,iσ(r)はフォック演算子と呼ばれ、いわゆる交換相互作用を与えるものである。この演

算子は非局所演算子で、即ち空間のある点 rのポテンシャル値を知るのに空間の他の点全てのポテンシャル値を積分しなければならないので、計算はそれだけ大変になる。それだけでなく式(4.8)によると、i番目の軌道の波動関数を知るには他の全ての軌道波動関数を知らなければならない。計算はこのように大変になるが、そのよう

に大変な計算を実行したとしても、その計算結果の有効性は早くから疑問視されていた。

”It is now perfectly clear that asingle configuration (Slater deter-minant) wave function must in-evitably lead to a poor energy”Coulson (1960)

なぜなら、一つのスレーター行列式で表された波動関数は、N 個の電子がお互い独立に振る舞うことに相当し、この仮定が良くない場合がいくらでもあるからである。よく引用される例では、原子間距離が離れた水素分子の場合がある。このときは「水素分子」はほとんど独立した2個の水素原子として振る舞うはずであるが、ハートリー・フォック法によると、どちらかの原子核に2個の電子が偏在するイオン化状態を過大評価してしまう。このハートリー・フォック法の問題は、多電

子系の記述をたった一つのスレーター行列式で表したことに原因がある。真のN 電子系の波動関数Ψは、任意のN 個の一電子軌道(この組み合わせを電子配置K = {ϕ1 · · ·ϕN}とよぶ)から構成されるスレーター行列式の無限個の組み合わせから構成される。すなわち

ΨN =∑K

cKΨ(K) (4.9)

である。このように電子配置の異なったものが含まれると、ハミルトニアン(4.3)に関して異なる電子配置間での行列要素が出てきて、それが相関相互作用を与える。このようにして生じた相関相互作用は配置間相互作用(CI、Configuration Interaction)として知られている。

29

Page 32: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

CIを導入することでより正確な計算は原理上出来るが、ただの一つのスレーター行列式の計算でさえ大変なのに、それが複数あるときの計算はとてつもなく複雑で手に負えるものにはみえない。CIが実行できる系は今でも原子数にしてせいぜい 10個以内に限られ、現実の多様な分子、ましてや固体に対してはとても適用できるものではない。こうしたバカ正直な計算ではすぐ行き詰まってしまう。だが多様で複雑な分子を相手にする理論化学者が、そのような所でいつまでも手をこまねいているはずは無く、このような問題を何とかうまく切り抜け、実際上の計算に供されている。広く使われている方法としてスレーターによる局所密度近似がある。それは式(4.8)のフォック演算子の項を、まず非局所の部分を全空間で塗りつぶし、かつ全軌道にわたり平均化したものに置き換える。そうすることで、ポテンシャルを局所的にし、かつその軌道依存性を取り除いた。こうして得られた実際的な計算式が、式(4.1)である。元のハートリー・フォックでは交換相互作用のみを含み、式(4.8)中の定数 αは 2/3であったが、後に相関相互作用の成分を含めるべくαの値を換えたものを使うようになった。これがXα法と呼ばれる方法である。

4.3 密度汎関数法の基本原理

4.3.1 Hohenberg-Kohnの定理

N 電子問題に対して、これまで述べてきたいわば正攻法のアプローチとは全く異なる方向から攻めるものが現れた。密度汎関数理論である。その密度汎関数法の根幹を成すものはHohenberg-Kohn(HK)の定理である。[6]そこでまずこの定理が何を言わんとしているかを見よう。この定理は今日ではより洗練された形で述べることができるが、ここでは後の議論の都合上元の形で提示する。スピン無し、基底状態に縮退が無いN 電子系に対して、与えられた外場 vに対し、

定理 1 (存在定理) 基底状態エネルギー EG

は一電子密度ρ(r)により一意的に決められる。

ここに密度ρ(r)はある外場vに対するシュレーディンガー方程式の解から導かれるものとする。

定理 2 (変分原理) 基底状態エネルギーEG[ρ]は、N に規格化された一電子密度 ρ′(r)に対し、ρ′(r)が真の基底状態 ρ(r)になるとき最小値を与える。即ち

EG[ρ(r)] < EG[ρ′(r)] (4.10)

以上のHohenberg-Kohn定理の分かり難い点は、書かれていることが難解なことではなく、むしろ一見したところ凡庸なことを述べているように見え、それのどこにノーベル賞級のすごい発見があるのかということを理解する点である。証明を読んでも、どこか同義反復をしているようで、だまされたような気持ちになる。これを理解するため、上の定理の順を逆に

して定理2から解読する。この定理2が、もし密度に関してではなく波動関数に関してのものであれば、これは通常の量子力学のテキストで出てくる変分原理そのものとなる。即ち全エネルギー汎関数Ev[Ψ]は波動関数Ψが真の解であるとき最小値を取る。通常の量子力学のテキストで出てくる

変分原理は波動関数に関したもので、それであれば本当に「当たり前」のこととなり、改めて Hohenberg-Kohn 定理と呼称するほどのものではなくなる。これを波動関数ではなく密度に関するものと読み替えた

ことがHK定理の偉業なのである。通常の波動関数Ψに関する変分であれば理解することに難は無いが、しかし実際に数値的に解くのは大変な問題である。なにしろ ΨはN 個の電子座標の関数で、その最も簡単なものでさえ式(4.7)のようにN個の一電子波動関数の組で表されるものである。従ってそれに対する変分原理は、N 次元の(それも複素数の)自由度での最小値を求める問題とな

30

Page 33: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

ρ ~ const

ψ ~ e ikr E = h2k2

2m

図 4.1: 量子力学における波動関数と密度の関係。平面波の例。

る。これは次元数N が大きくなると大変な計算となる。それに対し密度に対する変分の場合はたった一次元(それも実数)の変分変数だけを試せば良いので、数値計算上膨大な節約となる。1

問題は、そのような変分原理における波動関数Ψを密度 ρに置き換えて良いかどうかということである。HK定理の1はそのような置き換えをして大丈夫と主張しているのである。密度 ρを何か漠然と波動関数Ψの同類項と見ると当たり前のような気もするが、良く考えてみるとこの置き換えは、量子力学の根幹をも揺るがしかねない非常に大胆な発想なのである。読者の大半は、量子力学なるものを学んだとき、量子力学を表現するのに複素数の導入は本質的なもので、不思議な量子現象は波動関数を実数としたのでは表しきれないという教えをたたき込まれたのではないか?著者もそうで、実際今でもそう信じている。例えば図 4.1のように平面波 ψk = eikr を考えよう。言うまでも無くこの波動関数の形は kの値により異なり、k が大きければ大きいほど激しく振動するものとなる。そしてその運動エネルギーは k2とやはり大きくなる。しかしそれ

1ちなみに密度汎関数法の提唱者の一人、Kohnは変分原理を得意としている(と自分で述べている)。したがって変分原理を実際の計算において如何に効率良いものにするかということに腐心してきたわけで、その努力の延長線上で密度による変分が編み出されたことは自然なのであろう。

を密度にしてみると ρ(r) = |ψ(r)|2 であるので、どの kに対しても空間的に一様な密度を与えることが即座に分かる。この観察から我々は、波動関数は量子的な情報を全て含み持つが、それを絶対値自乗してしまうと、その波動関数の位相などの量が塗りつぶされてしまうことを理解する。波動関数から密度は決められるが、その逆は不可能であることを学ぶ。つまり豊饒な量子力学の情報はとても密度からは構築できないと思ってしまう。しかるに HK定理の1は従来の量子力学の

哲学から見ると非常にショックな内容のものである。この主張するところのものは量子力学から波動関数を追放するもののように見える。波動関数と密度は詰まる所、一対一対応するものであると主張している。より慎重に言えば、波動関数 ψと密度 ρは外部ポテンシャル vを通じて一対一対応するということである。

ρ ⇔ v ⇔ ψ (4.11)

こんなことが本当に許されるのだろうか?第一、たった今挙げた平面波の例がこの一対一対応の反例になっているのでないか、という疑問が即座に出るだろう。この疑問はその通りであるが、但し HK定理の1はそのような場合を除外している。定理1で「一意的」と言っているのは条件があり、「一定ポテンシャルの不定さを除いては一意的に決まる」と言う意味である。平面波は一定ポテンシャルに対する解であるので、このような場合の不確定性は定理1の保証外のことになる。しかし一旦ポテンシャルに少しでも非一様性が入ればもう電荷密度と波動関数は一対一対応となる。この証明には背理法が用いられているが、

ρ ⇔ ψ対応は常に外部場 vを介して行われている点がHohenberg-Kohnの元の証明の要である。密度 ρが外部場 vで与えられるシュレーディンガー方程式の解から得られるものであることを前提として証明がなされている(v表示可能と呼ばれる)。この密度 ρに関する制限が意味を持つものであるかどうかは次の節で見るが、今はこれを仮定しておく。

31

Page 34: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

ψ

v

ρ

v

ρ

図 4.2: 密度 ρと外部ポテンシャル vの関係。通常の量子力学で期待されることは、ρは v

の一価関数である。しかし vは一般に ρの一価ではなく多価関数となる(左図)。しかしHohenberg-Kohn定理によると vも ρの一価関数となる(右図)。

通常の量子力学の意味では、数学的表現で

v ⇔ ψ ⇒ ρ (4.12)

対応となる。式(4.12)は、左から右へ次のように読む。外部ポテンシャル vが与えられるとそのシュレーディンガー方程式の解としてψが一意的に決まり、それにより ρが一意的に決まる。式(4.12)の最初の v ∼ ψ対応が左右矢印、すなわち等価の対応となっているのは、HK定理が縮退のない場合を仮定しているからである(つまらない一定位相が掛かることによる不定性は除いておく)。Hohenberg-Kohnは背理法を用いて式(4.12)と逆の関係

ρ ⇒ v (4.13)

を示している(図 4.2参照)。式(4.12)と式(4.13)により、等価関係(4.11)が導かれる。エネルギー汎関数EG[ρ]は通常次のように

EG[ρ] = FHK[ρ] +∫

ρ(r)v(r)dr (4.14)

と外部ポテンシャルの項をエネルギーの表式から抜き出しておき、残りのものをHohenberg-Kohnの汎関数FHK[ρ]としておく。FHK[ρ]はN 電子系の基底状態波動関数 Ψを用いると、運動エネルギーおよび電子間相互作用の期待値

FHK[ρ] =⟨Ψ

∣∣∣T + Vee

∣∣∣ Ψ⟩

(4.15)

と数値的に等しくなる。FHK[ρ]はその表式が示す通り ρだけの関数で外部ポテンシャル v

には陽には依存しない(ρ ⇔ vを通じて陰に関係する)。密度という実数量すなわち観測量だけで理

論を構築できるということは極めて魅力的である。エネルギー汎関数の具体的な形は現在分かっていない(多分永遠にわからないだろう)が、しかし原理上その汎関数は実験的に決めることができるのである。密度とエネルギーは観測量なのでそれらの間の対応関係の無限個のリストをつくることでエネルギー汎関数を決めることができる。実証可能という点はエネルギー汎関数の形を模索する理論家に心理的な安心感を与える。この節の最後に、量子化学の分野で良く見

られる密度行列による定式化との関連を述べる。密度からだけの量子力学の構築の試みは量子化学の分野では早くからあった。Lowdinらによる簡約化密度行列により多電子状態を表す試みは、やがて(密度行列でなく)密度だけで多電子状態を表そうとする試みにつながる。その努力により「成功まではいっていないが、かなりいいところまで行っている」(A.J. Coleman, 1963)といわれるまでになった。しかしこのアプローチは、密度汎関数理論におけるエネルギー汎関数の具体的表式を求めることに相当し、これは今でも達成し得ていない。Hohenberg-Kohnの仕事の核心部分は、このように密度によるエネルギー汎関数の具体的表式を求めることは棚上げにし、それがどのようなものかわからないが、そのような汎関数が存在するということに焦点を当てた。存在が確かであれば、最初は荒い近似から出発して漸次、精度を上げてゆけば良い。

4.3.2 制限付き探索

定理1で現れる密度に関する制限が本質的意味を持つものかどうか?換言すれば「いかなる外部ポテンシャルを持つシュレーディンガー方程式の解にもなっていない密度 ρがある」(n表示可能な ρと呼ばれる)ときはどう

32

Page 35: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

Q

ψ

ρ

図 4.3: Levyによる拘束付き探索。ρは v 表示可能な範囲(青で示される)と、それを含む n表示可能な範囲がある。

なるか?という疑問が HK定理の出現時、既にあった。何よりも Hohenberg、Kohnあるいは Sham自身がそのことを気にしていたが、最初の証明の中には「そのような病的な密度ρは物理的に興味ないもので考える必要がない」とバッサリ切り捨てている。小うるさいことに関わりたくなくできるだけ早く結論を得たい人は、この格言に従ってこの節は飛ばして構わない。探索する範囲を v表示可能な範囲に限れば

定理としては成立するが、しかし現実的な立場でみると、変分原理を適用する際、試行密度 ρが v表示可能な範囲に入っているかどうか一々チェックしていたのではとてもたまらない。それでLevyにより、より広いn表示可能な範囲で変分原理が適用可能な形に書き直された。[8]図(4.3)に示されるように、v表示可能な

ρの範囲は限定的なもので、その外では ρに対応する vはない。したがってそのような領域では先程の FHK[ρ]は定義できない。また v

表示可能な範囲でも、特定の ρに対応する ψ

はいくらでもある(ρ一定の切断面を見よ)。ただし元のHK定理により、ψがある特定の v

に関するシュレーディンガー方程式の解であるという制限をつけると、許される ψは ρ切

断面の中でただ一つということになる。Levyによるとこのような場合でも

Q[ρ] = minΨ→ρ

⟨Ψρ

∣∣∣T + Vee

∣∣∣ Ψρ

⟩(4.16)

で定義される密度汎関数 Q[ρ] を使えば心配なく HK 定理が成り立つことを示した。式(4.16)の意味するところは、まず密度一定の切断面 ρにおいて、そのような特定のρを与える波動関数Ψρの組の中で T + Veeを評価し、その値を最小にするΨρを探しなさい。それをQ[ρ]と定義する。次に、このQ[ρ]と

∫ρvdrの

和で与えられるE[ρ]を ρ軸上で変え、その最小値を求めなさい、ということである。これによると v表示可能な領域ではQ[ρ]は式(4.15)の FHK[ρ]と一致する。一方、v表示可能な領域外でも式(4.16)の汎関数は定義できる。この汎関数を用いれば、ρが v 表示可能な領域にあるかどうかに拘わらず HK定理2の変分原理が適用可能となる。図 4.3で見られるように、ρに関する変分探索は、赤点線にそって進むと考えればよい。

4.3.3 Thoms-Fermiのアプローチ

HK定理により、N 電子系の密度汎関数なるものが存在することが分かったが、問題はそれが具体的にどういう形のものであるかである。式(4.15)に対応して、もう一度、密度の汎

関数としてのN 電子系全エネルギーの表式を書くと、

E[ρ] = T [ρ] +∫

ρ(r)v(r)dr + Uee[ρ] (4.17)

となる。通常、電子ー電子相互作用エネルギーUee[ρ]の項は、

Uee[ρ] =12

∫ρ(r)VH(r)dr + Exc[ρ] (4.18)

と古典的クーロン相互作用の部分を抜き出しておく。ここに VHは

VH(r) =∫

ρ(r′)|r − r′|

dr′ (4.19)

33

Page 36: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

である(ハートリー項と呼ばれる)。Ueeの残りの項が量子力学的効果を表すものである。この式(4.17)のうち密度の汎関数として分かっているのは、右辺第二項の自明な電子ー原子核相互作用の項だけである。よく密度汎関数理論では分かっていないのは電子の交換相関相互作用エネルギーであるといわれるが、しかし式(4.17)の中では運動エネルギー項でさえも(密度の汎関数として)分かっていないのである。これから近似が始まる。古くから知られている方法としてThoms-Fermiによる運動エネルギー項に対する近似がある。一様電子に対する表式を用い

T [ρ] = CTF

∫dr [ρ(r)]5/3 (4.20)

を用いれば、

53CTFρ(r)2/3 + v(r) +

∫ρ(r′)|r − r′|

dr′ = µ

(4.21)となる。ここに µはフェルミエネルギーで電子数N により決まる。この式(4.21)を見ると、密度 ρ(r)だけの表式となっていることが分かる。この意味では、この式こそ密度汎関数法のあるべき姿を最も簡潔に示したものである。この式を外部から与えられたポテンシャル v(r)の関数として解くことは難しくない。残念ながら、このThoms-Fermiによる表式

は数値精度的にとても実用に耐えうるものではない。孤立原子の殻構造を取る電子状態をこの式では再現できない。原子の化学的性質を決める殻構造が再現できなければ、多様な物質記述にはとても使えるものとならない。この方向での密度汎関数の探索は引き続き行われているが、当分の間実用に耐えうるものは現れそうにない。

4.4 コーン・シャム方程式

4.4.1 軌道の導入

Thoms-Fermiのアプローチに見られる密度だけで全エネルギーの表式を作ろうという努

力は、密度汎関数法の精神に則ったものであるというものの、数値精度上ではとても実用的なものではなかった。そこでKohn-Shamのとった方法は妥協である。[7] すなわち本来の密度汎関数理論の中には入ってこなかった軌道(波動関数といって良い)を導入した。電子密度 ρ(r)はN 個の軌道 {ϕi(r)}により

ρ(r) =N∑i

|ϕi(r)|2 (4.22)

と表されるものとしよう。式(4.22)はあくまで仮定である。2これがコーン・シャム理論の特性なのである。さらに運動エネルギー T はこの軌道を使い、

Ts[ρ] = −N∑i

⟨ϕi

∣∣∇2 ϕi

⟩(4.23)

で代用しよう。式(4.23)はN個の電子が互いに独立して運動しているときだけ正しく、一般に相互作用しながら運動している系では正しくない。どちらにしても Excの項が分からない以上、この Ts[ρ]の真の運動エネルギー T

との差を Excに押し込んでしまおうと考えるのである。こうして導き出された方程式が式(4.2)のコーン・シャム方程式である。ここに

vxc(r) =δExc[ρ]

δρ(4.24)

である。これにより本来は ρだけの方程式とならね

ばならないところが、N 個の方程式となってしまった。すなわち一個の変数だけの方程式という利点を捨てた(それでもN 個の電子座標が入るハートリー・フォック方程式を解くよりずっと簡単である)。その代わりに手に入れたものが数値精度の高さである。運動エネルギーの部分の精度を高くした結果である。

2ハートリー・フォックのアプローチで一電子密度 ρ(r)を一電子波動関数の組から表そうとすると大変複雑になる。多電子波動関数 Ψが一つのスレーター行列式で表されるときのみ式(4.22)が成り立つ。自然軌道を用いれば一電子密度 ρ(r)はすっきりした形に書かれるが、しかし今のところ自然軌道が満たすべき方程式を実際的に解ける形に書き下すことが出来ていない。

34

Page 37: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

こうして元の多体問題が、式(4.2)の一体問題に還元された。ここに εiはコーン・シャム方程式の固有値(コーン・シャム準位と呼ばれる)で、見掛け上通常のシュレーディンガー方程式の固有値と変わりない。このコーン・シャム準位を用いれば、全エネルギーは

E =N∑

i=1

εi

−12

∫ρ(r)VH(r)dr+Exc[ρ]−

∫ρ(r)vxc(r)dr

(4.25)

と表わされる。この式から分かる通り、全エネルギーは個々の準位の和ではない。もちろんこれはN 粒子系が相互作用している結果である。もう一つ重要な点は全エネルギーには個々の準位は全部の和としてのみ入っていることである。ところでコーン・シャム方程式が見掛け上軌道を導入しているということは、密度による多電子問題の記述をあきらめ波動関数に回帰したことを意味するのだろうか?いやそうではない。確かに式(4.2)の中には波動関数があらわに含まれているが、それにもかかわらず密度が依然として第一義的物理量であることは変わりないのである。そのからくりは式(4.22)にある。波動関数ϕi(r)は式(4.22)を介してのみコーン・シャム方程式に入っているのである。これがどういう意味を持つかというと、方程式には個々の波動関数ではなく、その組 {ϕi(r)}として入ってくる。つまり同じ ρ(r)を与える波動関数の組 {ϕ′

i(r)}であれば、それも解として許されるということである。そのような組は無数にある。これは通常の波動関数を用いたシュレーディンガー方程式では(縮退していない限り)あり得ない性質である。

4.4.2 局所密度近似

全エネルギー表式のうち最後に残ったのが交換相関相互作用の項Exc[ρ]である。この項は、その厳密な形はとても見つかりそうもないだ

ろうから近似に頼るしかない。Exc[ρ]として確実なことがわかっているのは電子密度が一定の場合だけである(それさえも限定的な条件下でのみ得られたものというべきだろう)。すなわち一様密度の場合の交換相関エネルギーExc[ρ] = EHOM

xc (ρ) だけが利用できるので、コーン・シャムはこれを出発点として Exc[ρ]を構築した。それが局所密度近似(LDA)である。密度の位置による変化が小さい場合は、あ

る位置の周りの微小空間での局所交換相関相互作用エネルギー εxc(ρ(r))というものを考えることができ(汎関数記号 []でなく関数記号()であることに注意)、全交換相関相互作用エネルギーはその局所エネルギーを全空間で足し合わせたもので与えようと考えるのである。この「密度変化が小さい」という条件は、も

う少し正確に述べると何に比べてかということをきちんと述べる必要があるが、だいたい「フェルミ波長程度で変化があるかどうか」と考えれば良い。そうすると孤立原子ではもちろんのこと、たいていの固体ではこの条件は満たされていない。したがって当初は、想像するにコーン・シャム本人もこの方程式の現実の問題への適用の有効性を疑っていたのではないだろうか?ところが、このような根本的な問題があるにも拘わらず、実際のところこのLDAを適用してみると、想像以上の精度があることが次第に分かってきた。だから問題は「LDAが間違っているかどうか?」ではないのである。「なぜにこのように LDAは実際の物質をよく記述するのか?」である。その説明も70年代終わり頃までに分かっ

てきた。[14] LDAは真のExc[ρ]とはほど遠い形なのであるが、幸い空間積分した形では真のExc[ρ]の満たすべきいろいろな条件を満たしている。初期の頃の LDAの次のオーダーの近似、密度勾配展開の様々な形がかえってLDAよりも悪い結果となるのは、このような真のExc[ρ]の満たすべき条件を満たしていないことによる。

”It is advisable to stop at the simple

35

Page 38: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

LDA” W. Kohn (1984)

こうして今でもおそらく現実の計算の9割方はこの LDAで済まされている。一様電子ガスの全エネルギーの詳しい計算はいくつかの限定された密度に対してのみ得られているが、EHOM

xc (ρ)の具体的表式はそれを内挿して作られる。従ってそれは解析的な形をしていない。いくつかの内挿法が提案されているが、それらは複雑な式となっており、それから物理的解釈を起こすことは難しい。それゆえそれらの表式をここで書き並べることはしない。著者は、計算結果の解釈で、EHOM

xc (ρ)の項にまで遡って議論したことは無い。それ以前の誤差の方が問題になることの方が圧倒的に多い。なぜ見掛け上の近似の悪さにも拘らずこうまでもLDAが良く実験と合うかについての理論的根拠を知りたければ、読者は章末の参考書を読む必要がある。またここではLDAが良いことを強調したが、もちろんこれがベストということを意味しない。LDAの本質的問題は物性のいろいろな面で出てきている。半導体のギャップの問題などが良く知られている例である。これらの問題の解明には高度の議論が必要でこれまた章末の参考書を参照していただく。しかし初心者にとって、計算の利便性、およびその全体的な精度の高さは何にも代え難いものがあることは強調したい。

4.4.3 コーン・シャム軌道の意味

コーン・シャムにより実用上信頼に足り得る方程式を見い出した。その方程式は、見掛け上は通常の波動関数に関するシュレーディンガー方程式と同じ形となっている。従って一電子波動関数に関する方程式を解いてゆくと(即ちハミルトニアンを対角化すると)、固有値が得られるのも同じである。この固有値は特別に「KS準位」と呼ばれているが、見掛け上はシュレーディンガー方程式の固有値と同じである。世の中に大量に出回っているバンド図はこの KS準位をプロットしたものに

他ならない。実験家が理論と比較するものは多くの場合このバンド図である。そこで問題となるのは、光電子分光などで

観測される準位はこの KS準位と比較できるのだろうか?という問いである。実験というものは、いつでも現実の複雑さが入り、本当に知りたい物理量を測っているのかしばしば議論されるところである。解釈が入り込む余地が出てくるわけで、実験値と比較しだすと少なからず試行錯誤の泥沼の中に入らざるを得ない。初等レベルのこの小論ではこうした議論は避けたいわけで、ここではあくまで概念的な議論に限ろう。バンド図で見られる i番目の準位、固有値

をここでは i 番目の軌道エネルギー εi と呼ぼう。この軌道を外から励起し、その軌道電子を外部に取り出したとしよう。このとき要するエネルギーがこの軌道のイオン化エネルギー Ii ということになる。もともと実験で観測しているものは、大抵の場合、ある状態から別の状態への遷移でのエネルギーの変化である。例えば i番目の軌道のイオン化とは基底状態E(n1, · · · , ni, · · · , nN )から励起状態E(n1, · · · , ni − 1, · · · , nN )への遷移のことであるから、イオン化エネルギーとはそれらの差

Ii = E(· · · , ni, · · · ) − E(· · · , ni − 1, · · · )(4.26)

で与えられるものである。また最上位エネルギー準位から順番に電子を剥いでゆくと、第一イオン化エネルギー I(1) = IN、第二イオン化エネルギー I(2)、という量が定義でき、かつ測定可能である。こうやってN 個の電子を一つ一つ剥いで行くと最後には電子数を 0とできる。したがってそれらを全部足し併せたものは

E(N) =N∑

i=1

I(i) (4.27)

とN 個の電子系の全エネルギーを与えるはずである。実際のところこの関係式(4.27)を使って計算あるいは実験できるのは少数系(原子番号の小さい原子)だけであろうが、概念的には役に立つ関係式である。

36

Page 39: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

もし全エネルギーが個々の軌道エネルギーの和 E =

∑i εi で表わされるなら、Ii = εi

となるはずである。また式(4.27)から分かるように、I(i) = εN+1−iとなる。すなわちイオン化エネルギーと軌道エネルギーは同じものとまる。しかし例えば式(4.25)でみられるように全エネルギーは個々の準位の和ではないので、一般には Ii = εiとはならないし、I(i) = εN+1−iでもない。このようにイオン化エネルギーと軌道エネルギーは違うものであるにも拘らず、N が大きい系に関しては良い近似で以下の定理が成り立つ。まずハートリー・フォックのアプローチでは、ある制限の下で(電子を1個取り除いても他の軌道が変わらないという条件で)

E(· · · , ni, · · · ) − E(· · · , ni − 1, · · · ) = εi

(4.28)が成り立つ。これはクープマンの定理と呼ばれるもので、軌道エネルギーの物理的意味付けを与えるものである。これによればどのバンドもちゃんと実験で検証可能な物理的実体を持つことが保証される。一方、見かけの方程式は同じように見えるが、密度汎関数理論では式(4.28)は一般には成り立たない。そのかわり密度汎関数理論では

∂E

∂ni= εi (4.29)

が成り立つことが示されている(Janakの定理)[9]。式(4.29)から何が言えるか?第一に、軌道エネルギーは式(4.28)の差分ではなく、微分であるのでもはやイオン化エネルギーという意味はなくなるということである。しかし同時に、差分と微分の差は大きくはないので、うるさいことをいわなければ密度汎関数理論でも軌道エネルギーを実際のところイオン化エネルギーと見立てて良いということになる。大半のバンド図の解釈はこの観点から行っているものである。第二にそれはイオン化エネルギーを近似的

に求める方策を与えるものであるということである。式(4.29)の右辺をもう少し詳しく見

ると、全エネルギー Eは i番目の軌道の占有数の連続関数 E(· · · , ni, · · · )であるので、その占有数 niが変わると少しづつ変わるものである。それゆえ、良い精度で

E(· · · , ni, · · · , nN )−E(n1, · · · , ni−1, · · · ) ≈

εi(· · · , ni − 0.5, · · · ) (4.30)

が成り立つ。これがスレーターによる遷移エネルギーの概念である。従って普通のバンド図を描いている手続きを少し修正する(占有数を少し変える)だけで実験で得られるイオン化エネルギーが求まる。第三にさらに重要な点は、KS準位のうち最高占有状態のもの εN は、もし厳密な密度汎関数を使ったとすると 0 < nN ≤ 1の範囲でその占有数 nN に依存しないという定理が証明されていることである。[10] つまりこのときは式(4.29)の全エネルギーの微分は一定で、この最高占有状態のものに関しては式(4.28)が成り立ち、したがってイオン化エネルギーという物理的意味付けが承認されることになる。

E(N) − E(N − 1) = εN (4.31)

は従って実験で求められる様々なエネルギーの計算で頻繁に用いられる。エネルギーギャップや不純物準位などがその例である。ところで式(4.27)はクープマンの定理の場

合(4.28)と違い、波動関数が変わる変わらないに関わらず一般に成立するものである。これを式(4.31)を用いて形式的に書き直すと、

E(N) =N∑

i=1

εi(i) (4.32)

とあたかも全エネルギーが個々の準位の和のように表わされるが、この式右辺の固有値はもちろんN 個の系の固有値 εi = εi(N)ではない。全電子数が変わったときの固有値である。

4.4.4 まとめ

これまで述べてきた密度汎関数法のハートリー・フォック法との違いを表 4.1にまとめてみる。概念の理解・整理に役立てて欲しい。

37

Page 40: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

表 4.1: 密度汎関数法とハートリー・フォック法の違いの比較

HF DFT 基本量  Ψ(x1, · · · , xN ) ρ(r)着想 はじめにΨありき ρという直接の観測量に立脚

ρはΨより導かれるもの して理論を構築 原理上Ψは不可欠ではない

全エネルギー 〈Ψ |H|Ψ〉 E[ρ]実用上の解く LDA版のHF(S)方程式 KS方程式べき方程式

[−∇2 + Vion(r) + VH(r) + VXα(r)

] [−∇2 + Vion(r) + VH(r) + Vxc(r)

]×ϕi(r) = εiϕi(r) ×ϕi(r) = εiϕi(r)

電子相関 CI計算により原理上計算可 電子相関が何であるか 原理自体は答えてくれない

電子相関を取り CI計算はごく少数のN の LDAにより入れるための  系に対してのみ可  N が大の系に対しても計算可計算負荷

一電子の軌道 物理的実体を持つ 最高占有状態以外は エネルギー  物理的実体に乏しい励起状態 原理上可能 原理自身確立されていない の計算

4.5 密度汎関数理論の発展

もともとの密度汎関数法は、基底状態の性質に関して「スピン無し、基底状態に縮退が無い」という制限の下で導かれたものである。その後の密度汎関数理論はこれらの制限を取り払う方向に発展してきている。比較的簡単なところでは、

1. 縮退有りの場合縮退がある場合、その縮退した部分空間に関して、密度汎関数理論の主張している定理を焼き直せば、そのまま成り立つ。

2. スピン有りの場合スピンがある場合でも、系の基底状態のエネルギーは全電子密度 ρ(r)の汎関数で表わされる原則には変わりはない。したがってこの場合でもスピン密度 ρ↑(r)、ρ↓(r)を持ち出すことは必ずしも必要でない。しかしスピン密度(二変数 ρ↑(r)と ρ↓(r)、あるいは 2×2行列ραβ(r)の形で)を導入

し、それらに関して汎関数を作り変分原理を適用するほうが、はるかに精度が良いことが知られている。LDAに対して局所スピン密度近似(LSD)と呼ばれ、実際の計算に広く使われている。

が、自然な拡張として導かれてきた。しかしながらスピンに関係してでさえも、

磁場が導入されると、根本的なところでは電流が導入され、基底状態は電子密度だけでなく電流にも依存し、このような場合での密度汎関数理論は極めて難しい問題となる。電流が入ることは相対論的問題への拡張では必然的である。また励起状態を扱うことや、時間依存性密度汎関数理論の構築なども現代の密度汎関数理論において重要課題となっている。一方で密度の汎関数の近似法に関しても様々な改良が続けられている。こうした発展に関しては著者の能力の及ぶところではない。最後の参考書に譲らねばならない。この小論の目的は冒頭で述べたように「理

論の主張することを感覚で理解する」ことにあるので、きちんとした証明などを学ぶには、この分野の評価の定まっているテキストを読むべきであろう。以下にそのようなテキストを挙げておいた。これは著者自身が読み、学んだテキストで、従っていちいち引用を行っていないが、本稿のネタはそれらに散在する。

38

Page 41: 「実践的な変分法のアプローチ」koun/Lecs/var_main.pdf · 計算が活用しているというべきであろう。こ の講義では、その主要な応用として第一原理

関連図書

[1] W. H. Press, S. A. Teukolsky,W. T. Vetterling, and B. R. Flan-nery, ”Numeric Recipes”, 2nd ed.(Cambridge, Camridge, 1992)

[2] C. Lanczos, The Variational Principlesof Machanics, 4th ed., (Dover, NewYork, 1986).

[3] ゴールドスタイン、「古典力学」、野間、瀬川訳(吉岡書店、1959)

[4] Landolt-Bornstein, Numerical Data andFunctional Relationships in Science andTechnology, III18. ”Elastic, Piezoelec-tric, Pyroelectric, Piezooptic, Electroop-tic Constants, and Nonlinear Dielec-tric Susceptilibities of Crystals”, K.-H. Hellwege and A. M. Hellwege, eds.,(Springer).

[5] H. Gould and J. Tobochnik, An Intro-duction to Computer Simulation Meth-ods, 2nd ed., (Addison-Wesley, MA,1996).

[6] P. Hohenberg and W. Kohn, Phys. Rev.136 B864 (1964).

[7] W. Kohn and L. Sham, Phys. Rev. 140A1133 (1965).

[8] M. Levy, Proc. Natl. Acad. Sci. USA 766062 (1979).

[9] J. F. Janak, Phys. Rev. B 18 7165(1978).

[10] J. P. Perdew, R. G. Parr, M. Levy, andJ. L. Balduz, Jr., Phys. Rev. Lett. 491691 (1982).

[11] O. Gunnarsson, M. Jonson, and B.I. Lundqvist, Phys. Rev. B 20, 3136(1979).

一般的参考書

[12] S. Lundqvist and N. H. March, eds.,Theory of the Inhomogeneous ElectronGas (Plenum, New York, 1983).

[13] J. Callaway and N. H. March, SolidState Physics 38 (Academic, New York,1984) p. 135.

[14] R. O. Jones and O. Gunnarsson, Rev.Mod. Phys. 61, 689 (1989)

[15] S. B. Trickey ed., Adv. in QuantumChemistry 21, (Academic, San Diego,1989)

[16] R. G. Parr and W. Yang, Density-Functional Theory of Atoms andMolecules (Oxford, New York, 1989).(日本語訳、狩野、関訳「原子・分子の密度汎関数法」シュプリンガー・フェアラーク東京)

[17] C. Fiolhais, F. Nogueira, M. Marques,eds., A Primer in Density FunctionalTheory (Springer, Berlin, 2003).

39