last_modified: 2026-01-07
生成AIによる自動生成記事に関する免責事項: 本記事は、物理学の標準的な教科書および計算化学の理論に基づき、大規模言語モデル(生成AI)によって作成された解説記事です。数式の導出や歴史的経緯の記述においては、学術的な正確性を期しておりますが、学習や研究への応用にあたっては、必ず標準的な教科書を参照してください。
1. 序論:解けない方程式への挑戦
前回の記事では、水素原子には解析解が存在するものの、ヘリウム以上の多電子原子では電子間反発のために解析解が得られないことを確認しました。 しかし、化学者が扱いたいのは複雑な分子や反応系です。解析解が得られない以上、私たちは近似を用いる必要があります。量子化学における二大近似手法である「変分法」と「摂動論」は、現代のあらゆる電子状態計算ソフトウェア(Gaussian, GAMESS, ORCAなど)のエンジンとなっています。今回は、その理論的骨子を解説します。
2. 変分法:エネルギーの上限を探る
変分原理とは
変分法(Variational Method)は、波動関数の形を推測し、パラメータを調整して真の波動関数に近づける手法です。ここで最も重要な定理が変分原理です。
任意の試行波動関数 に対して計算されたエネルギー期待値 は、真の基底状態エネルギー よりも必ず大きくなるか、等しくなります。
よくある誤解として「変分法はエネルギーの下限を与える」と混同されることがありますが、事実は逆です。変分法はエネルギーの上限を与えます。 つまり、試行関数のパラメータを変化させてエネルギーを最小化すればするほど、その値は真の値()に「上から」近づくことになります。計算化学において、より低いエネルギーが得られる計算結果ほど信頼性が高いとされるのは、この原理が保証されているためです。
線形変分法と永年方程式
試行関数 を、既知の基底関数 (変分パラメータを含まない関数)の一次結合(線形結合)で表す場合を考えます。
ここで、係数 が変分パラメータとなります。エネルギー を係数 で偏微分して極小値を求める()操作を行うと、以下の連立方程式が導かれます。
この方程式が自明でない解(すべての が0でない解)を持つための条件は、係数行列の行列式が0になることです。
これが**永年方程式(Secular Equation)**です。
- 計算化学への接続: ハートリー・フォック法やその後のCI(配置間相互作用)法は、まさにこの線形変分法に基づいています。LCAO近似において、原子軌道の係数を決定するプロセスは、この永年方程式を解くことに他なりません。
3. 摂動論:既知の解からの補正
基本的な考え方
摂動論(Perturbation Theory)は、問題の解を、わずかに異なる別の問題の既知の解を用いて表現する手法です。 ハミルトニアン を、厳密に解ける基準部分 と、微小な摂動項 に分割します。
ここで は摂動の大きさを表すパラメータです。波動関数とエネルギーを のべき級数として展開し、近似解を求めます。
- 0次近似: 基準系そのままの状態。
- 1次摂動: 基準系の波動関数を用いた期待値としての補正。
- 2次摂動: 他の準位との混合を考慮した補正。
計算化学への接続
摂動論の最も有名な応用例は、**MP法(Møller-Plesset法)**です。 ハートリー・フォック法では電子相関(電子の瞬時反発)が平均場近似によって無視されていますが、MP2(2次摂動)などの手法では、ハートリー・フォック波動関数を「0次の解」とし、電子反発の残差を「摂動」として扱うことで、より高精度なエネルギーを算出します。
4. Pythonによる可視化:変分法のシミュレーション
ここでは簡単な例として、調和振動子(ポテンシャル )の基底状態エネルギーを、ガウス型試行関数を用いて変分法で求めてみます。 真の基底状態エネルギーは です。
試行関数: ( が変分パラメータ)
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import quad
from scipy.optimize import minimize_scalar
# 真のハミルトニアン要素の定義(調和振動子)
# h_bar = m = omega = 1 とする原子単位系
def trial_wavefunction(x, alpha):
"""試行関数: ガウス関数"""
return np.exp(-alpha * x**2)
def kinetic_energy_integrand(x, alpha):
"""運動エネルギー項の被積分関数 (-1/2 d^2/dx^2)"""
# d/dx (e^-ax^2) = -2ax e^-ax^2
# d^2/dx^2 = -2a e^-ax^2 + 4a^2 x^2 e^-ax^2
d2_phi = (-2*alpha + 4*alpha**2 * x**2) * np.exp(-alpha * x**2)
return -0.5 * np.exp(-alpha * x**2) * d2_phi
def potential_energy_integrand(x, alpha):
"""ポテンシャルエネルギー項の被積分関数 (1/2 x^2)"""
return 0.5 * x**2 * (np.exp(-alpha * x**2))**2
def overlap_integrand(x, alpha):
"""重なり積分の被積分関数"""
return (np.exp(-alpha * x**2))**2
def calculate_energy(alpha):
"""変分パラメータ alpha に対するエネルギー期待値を計算"""
limit = 10.0 # 積分範囲
# 運動エネルギー期待値 <T>
T, _ = quad(kinetic_energy_integrand, -limit, limit, args=(alpha))
# ポテンシャルエネルギー期待値 <V>
V, _ = quad(potential_energy_integrand, -limit, limit, args=(alpha))
# ノルム <phi|phi>
S, _ = quad(overlap_integrand, -limit, limit, args=(alpha))
return (T + V) / S
def run_variational_method():
# パラメータ alpha を変化させてエネルギーをプロット
alphas = np.linspace(0.1, 2.0, 100)
energies = [calculate_energy(a) for a in alphas]
# 最適化(最小化)の実行
res = minimize_scalar(calculate_energy, bounds=(0.1, 2.0), method='bounded')
optimal_alpha = res.x
min_energy = res.fun
# 結果の可視化
plt.figure(figsize=(10, 6))
plt.plot(alphas, energies, label='Trial Energy E(alpha)', color='blue')
plt.axhline(y=0.5, color='red', linestyle='--', label='True Ground State Energy (0.5)')
plt.scatter(optimal_alpha, min_energy, color='green', zorder=5, label=f'Minimum: E={min_energy:.5f} at a={optimal_alpha:.2f}')
plt.title("Variational Method for Harmonic Oscillator")
plt.xlabel("Variational Parameter (alpha)")
plt.ylabel("Energy (Hartree)")
plt.legend()
plt.grid(True, alpha=0.3)
print(f"Optimal Alpha: {optimal_alpha:.4f}")
print(f"Calculated Energy: {min_energy:.6f}")
print(f"True Energy: 0.500000")
print("変分原理により、計算値 >= 真の値 となっていることが確認できます。")
run_variational_method()
plt.show()
このコードを実行すると、パラメータ をどのように変化させても、計算されるエネルギーは真の値(0.5)を下回らないことが確認できます。これが「変分法は上限を与える」という事実の証明です。
5. 結論
計算化学は、解けない(解析解が存在しない)シュレーディンガー方程式に対し、**変分法(試行関数の最適化)と摂動論(既知の系からの補正)**という二つの武器で挑んできました。変分法は、より良い試行関数を作れば作るほど、真のエネルギーに向かって上から収束していくため、計算精度の指標として非常に強力です。線形変分法から導かれる永年方程式は、分子軌道計算の数理的な核心部分です。次回は、これらの理論が実際の原子・分子計算においてどのように実装されているか、すなわち「ハートリー・フォック方程式」と「SCF(自己無撞着場)計算」の具体的な手続きについて解説します。
参考文献
- Szabo, A., & Ostlund, N. S. “Modern Quantum Chemistry,” Dover Publications.
- Atkins, P., & de Paula, J. “Atkins’ Physical Chemistry,” Oxford University Press.
- Sakurai, J. J. “Modern Quantum Mechanics,” Cambridge University Press.
