Home
1941 words
10 minutes
計算複雑性の階梯:EHTからSQM, Hartree-Fockへ至る「数式の計算複雑性の階梯」

last_modified: 2026-01-21

※生成AIにより自動生成した記事です。自己責任でご覧ください。

序論:数式の複雑さから見る量子化学の手法#

量子化学の歴史において、Hartree-Fock法(HF)の理論的枠組みは比較的初期に完成していましたが、計算機資源の制約から、実用的には拡張ヒュッケル法(EHT)や半経験的手法(SQM)が多用された時期がありました。

本稿では、あえてこの歴史的順序を無視し、**「プログラマーがゼロから分子軌道法計算機を実装すると考えた場合、どの段階でどの数式を追加しなければならないか」という計算複雑性の積み上げ(Hierarchy of Complexity)**の観点から、これら3つの手法の関係性を整理します。

  1. Level 1: EHT - 静的な行列対角化(線形代数)
  2. Level 2: SQM - 動的な場の導入(非線形・反復計算)
  3. Level 3: HF - 積分計算の完全実施(多重積分・ O(N4)O(N^4) コスト)

Level 1. 拡張ヒュッケル法 (EHT)#

「静的」な一回限りの計算#

EHTの実装上の特徴は、**電子間の相互作用を無視(あるいは定数に埋め込み)**している点です。これにより、ハミルトニアン行列 H\mathbf{H} は、電子がどこにいるか(電子密度)に依存せず、原子の座標だけで一意に決定されます。

数学的構造#

解くべき方程式は、単純な一般化固有値問題です。

HC=SCE\mathbf{H}\mathbf{C} = \mathbf{S}\mathbf{C}\mathbf{E}

ここでの行列要素 HμνH_{\mu\nu} の決定プロセスは極めて代数的かつ静的です。

Hμν={Iμ(μ=ν)12K(Hμμ+Hνν)Sμν(μν)H_{\mu\nu} = \begin{cases} -I_{\mu} & (\mu = \nu) \\ \frac{1}{2} K (H_{\mu\mu} + H_{\nu\nu}) S_{\mu\nu} & (\mu \neq \nu) \end{cases}
  • 入力: 座標、パラメータ IIKK
  • 処理: 1回だけ行列 H\mathbf{H} を作り、1回だけ対角化する。
  • 複雑さ: 行列構築 O(N2)O(N^2)、対角化 O(N3)O(N^3)。ループ処理なし。

Level 2. 半経験的分子軌道法 (SQM: CNDO/INDO等)#

「動的」な場の導入とSCFループ#

厳密性を上げるための第一の壁は、**「電子は互いに反発し合っている」**という事実をどう取り込むかです。ある電子が感じるポテンシャルは、他の電子の分布(波動関数)に依存します。

つまり、「行列を作るために答え(係数 C\mathbf{C})が必要」で、「答えを知るために行列が必要」という**鶏と卵の関係(自己無撞着問題)**が生じます。ここでアルゴリズムは「直線的」なものから「循環的(ループ)」なものへと変貌します。

数学的構造:Roothaan-Hall方程式#

方程式の形はEHTと似ていますが、行列 F\mathbf{F}(フォック行列)が密度行列 P\mathbf{P} の関数になります。

F(P)C=SCE\mathbf{F}(\mathbf{P})\mathbf{C} = \mathbf{S}\mathbf{C}\mathbf{E}

ここで密度行列 P\mathbf{P} は係数 C\mathbf{C} から作られます(Pμν=2occCμiCνiP_{\mu\nu} = 2 \sum^{occ} C_{\mu i} C_{\nu i}^*)。

実装上の追加コスト:二電子相互作用の近似#

SQMでは、フォック行列の要素に「電子間反発」項が追加されますが、計算負荷を下げるために**大胆な近似(パラメータ化)**を行います。例えばCNDO法では以下のように簡略化されます。

Fμμ=Hμμcore+βPββγAB(電子密度×平均反発パラメータ)F_{\mu\mu} = H_{\mu\mu}^{core} + \sum_{\beta} P_{\beta\beta} \gamma_{AB} \quad (\text{電子密度} \times \text{平均反発パラメータ})
  • 入力: 座標、パラメータ、初期推測密度行列 P0\mathbf{P}_0
  • 処理: SCF(Self-Consistent Field)ループ。収束するまで対角化を繰り返す。
  • 複雑さ: 反復回数 M×O(N3)M \times O(N^3)。ただし積分計算は定数参照で済むため高速。

Level 3. Hartree-Fock法 (Ab Initio HF)#

「積分」の完全計算と計算爆発#

SQMからHFの違いの説明ににおいて、方程式の形(Roothaan-Hall方程式)やSCFループの構造は変わりません。劇的に変化するのは、**フォック行列 F\mathbf{F} の中身を作る「材料」**です。EHTやSQMではパラメータや簡易式で済ませていた相互作用項を、HFでは第一原理(Ab Initio)に基づき、物理定数と基底関数を用いて真面目に積分計算します。

数学的構造:フォック行列#

HFにおける行列要素 FμνF_{\mu\nu} は以下のようになります。

Fμν=Hμνcore+λσPλσ[(μνλσ)12(μλνσ)]F_{\mu\nu} = H_{\mu\nu}^{core} + \sum_{\lambda\sigma} P_{\lambda\sigma} \left[ (\mu\nu|\lambda\sigma) - \frac{1}{2}(\mu\lambda|\nu\sigma) \right]

ここで登場する (μνλσ)(\mu\nu|\lambda\sigma)二電子積分と呼ばれ、4つの基底関数の組み合わせ全てについて計算する必要があります。

(μνλσ)=ϕμ(1)ϕν(1)1r12ϕλ(2)ϕσ(2)dτ1dτ2(\mu\nu|\lambda\sigma) = \iint \phi_\mu^*(1) \phi_\nu(1) \frac{1}{r_{12}} \phi_\lambda^*(2) \phi_\sigma(2) \, d\tau_1 d\tau_2

実装上の追加コスト:O(N4)O(N^4) の壁#

  • 入力: 座標、基底関数セット(パラメータなし)
  • 処理: SCFループ。ただし毎ステップ(あるいは初回)に膨大な数の積分計算が必要。
  • 複雑さ: 基底関数数を NN とすると、二電子積分の数は N4N^4 に比例して増大する。これがHF計算のボトルネックとなる。

アルゴリズム比較コード (Python Pseudo-code)#

以下に、これら3つの手法の実装ロジックの違いを表現した擬似コードを示します。solve メソッドの構造変化に注目してください。

import numpy as np
from scipy.linalg import eigh

class MolecularOrbitalSolver:
    def __init__(self, method='EHT'):
        self.method = method

    def solve(self, molecule):
        """
        手法に応じた計算フローの分岐
        """
        if self.method == 'EHT':
            return self._solve_eht(molecule)
        elif self.method == 'SQM':
            return self._solve_scf(molecule, approx=True)
        elif self.method == 'HF':
            return self._solve_scf(molecule, approx=False)

    # --- Level 1: EHT (Linear / One-shot) ---
    def _solve_eht(self, mol):
        # 1. 重なり行列 S の計算
        S = self.calculate_overlap(mol)
        
        # 2. ハミルトニアン H の構築 (パラメータとSのみ依存)
        # H_ij = K * S_ij * (H_ii + H_jj) / 2
        H = self.build_huckel_hamiltonian(mol, S)
        
        # 3. 1回だけの対角化
        energies, C = eigh(H, b=S)
        return energies, C

    # --- Level 2 & 3: SCF Framework (Iterative) ---
    def _solve_scf(self, mol, approx=False):
        # 1. 積分計算
        S = self.calculate_overlap(mol)
        H_core = self.calculate_core_hamiltonian(mol)
        
        if not approx: # HFの場合
            # [Level 3] O(N^4) の厳密な二電子積分計算
            ERI = self.calculate_electron_repulsion_integrals(mol)
        else:          # SQMの場合
            # [Level 2] パラメータ化された簡易積分
            ERI = self.load_empirical_parameters(mol)

        # 2. 密度行列 P の初期化 (Guess)
        P = np.zeros_like(S)
        
        converged = False
        while not converged:
            # 3. フォック行列 F の構築 (Pに依存 = 動的)
            if approx:
                # [Level 2] パラメータを用いた高速なF構築
                F = self.build_fock_sqm(H_core, P, ERI)
            else:
                # [Level 3] 厳密積分を用いた重いF構築
                # F = H_core + (Coulomb - Exchange terms)
                F = self.build_fock_ab_initio(H_core, P, ERI)
            
            # 4. 対角化
            energies, C = eigh(F, b=S)
            
            # 5. 新しい密度行列の計算
            P_new = self.make_density_matrix(C, mol.num_electrons)
            
            # 6. 収束判定
            if np.allclose(P, P_new, atol=1e-6):
                converged = True
            P = P_new
            
        return energies, C

結論#

数式の複雑さという観点から見ると、分子軌道法の進化は以下のように要約できます。

EHT: HH が定数行列である(線形代数の問題)。

SQM: HH(実際は FF)が CC の関数となる(非線形最適化の問題)。ただし相互作用項は定数近似。

HF: 非線形問題に加え、相互作用項の算出に多重積分が必要となる(多重積分の数値的/解析的評価)。

このように、厳密性を追求する過程で、「反復計算の導入」と「二電子積分の厳密計算」という二つの大きな計算コストの壁が追加されていったことがわかります。しかし、HF法であっても「平均場近似」の壁は超えられておらず、多体問題の厳密解の算出(電子相関の考慮)には、さらに上位の手法(Post-HF法)が必要となります。

補足#

  • 結論のSQMの説明に関して: 一部例外としてEHTを使ったSQMもありますが、ここでは簡略化のためにこの説明とさせていただきます。
計算複雑性の階梯:EHTからSQM, Hartree-Fockへ至る「数式の計算複雑性の階梯」
https://ss0832.github.io/posts/20260121_eht2hf/
Author
ss0832
Published at
2026-01-21
License
CC BY-NC-SA 4.0

Related Posts

幾何構造最適化における初期ヘシアン推定の数理的基礎と拡張:Schlegel Hessianについて
2026-01-25
幾何構造最適化の収束効率を決定づける初期ヘシアン推定法(Schlegel Hessian)について、H. Bernhard Schlegelによる1984年の提唱から1997年の重元素への拡張に至るまでの理論的背景、数理的アルゴリズム、および経験的パラメータ決定のプロセスを詳述する。原子価座標系を用いた力場構築と座標変換の数学的定式化に焦点を当てる。
冗長内部座標系における自動化された鞍点探索アルゴリズムの数理と実装:Sellaについて
2026-01-25
ポテンシャルエネルギー曲面(PES)上の一次鞍点(遷移状態)を探索するための新規アルゴリズム『Sella』について、その数学的基礎、座標変換の幾何学的処理、およびNull-Space SQPを用いた制約付き最適化手法を詳述する。特に、自動化を阻害する直線結合角問題へのダミー原子を用いた対処法と、反復的ヘシアン対角化による計算コスト削減効果に焦点を当てる。
多電子原子の量子化学:ヘリウムからハートリー・フォック法へ
2026-01-07
水素原子から多電子系へ。ヘリウム原子を題材に、変分法と摂動論がどのように機能するかを確認し、電子のスピン、パウリの排他原理、スレーター行列式といった現代計算化学の基礎概念を解説する。
時間依存密度汎関数法における円錐交差と二重励起:非断熱結合ベクトルを必要としないMECI探索アルゴリズムとその位相幾何学的限界
2026-01-04
B. G. Levine, C. Ko, J. Quenneville, and T. J. Martínezによる論文 *Mol. Phys.* **2006**, *104*, 1039-1051 の包括的解説。TDDFTを用いた励起状態ポテンシャル曲面、特に円錐交差(Conical Intersection)の探索における新たな数値計算法の導出と、TDDFTが抱える二重励起記述および交差近傍での位相幾何学的記述の欠陥について、数理的背景とベンチマーク結果に基づき詳述する。
同一対称性を持つ2つのポテンシャルエネルギー曲面の交差:ラグランジュ未定乗数法を用いた体系的特性化と最小エネルギー交差探索
2026-01-04
M. Riad ManaaとDavid R. Yarkonyによる論文 *J. Chem. Phys.* **1993**, *99*, 5251 の詳細な解説。同一の空間・スピン対称性を持つ2つの電子状態間の円錐交差(Conical Intersection)を、ラグランジュ未定乗数法を用いて直接探索するアルゴリズムの数学的定式化、Hessian行列を用いたニュートン・ラフソン法の実装、およびHCOラジカルを用いたベンチマーク結果について、学術的な観点から深掘りする。
PathOpt法による大域的遷移状態探索:超平面探索に基づく反応経路網の構築アルゴリズムとその数理的構造
2026-01-04
C. Grebner, L. P. Pason, B. Engelsによって提案された反応経路探索アルゴリズム「PathOpt」の包括的解説。初期状態と最終状態を結ぶ直線の垂直超平面上での大域的探索を通じて、複数の遷移状態と反応経路を一度に特定する手法の理論的背景、アルゴリズムの詳細、およびLennard-Jonesクラスター(Ar12, Ar13)への適用結果について詳述する。