Home
2114 words
11 minutes
ヒュッケル則から拡張ヒュッケル法へ:半経験的分子軌道法の理論的展開と実装

last_modified: 2026-01-21

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

1. 序論#

量子化学における分子軌道法(Molecular Orbital Theory)は、原子間の結合や電子のエネルギー状態を記述するための強力なツールである。その発展の歴史において、エーリヒ・ヒュッケル(Erich Hückel)によって1930年代に提唱された**単純ヒュッケル法(HMO法)**は、共役ポリエンや芳香族化合物の安定性を説明する上で画期的な成果を挙げた。

しかし、HMO法は平面構造を持つ π\pi 電子系に限定された近似手法であり、三次元的な立体構造や σ\sigma 結合を含む一般的な分子には適用できないという限界が存在した。この制約を克服するため、1963年にロアルド・ホフマン(Roald Hoffmann)らは**拡張ヒュッケル法(Extended Hückel Method: EHM)**を開発した。

本稿では、HMO法の理論的骨子を振り返りつつ、EHMがいかにしてその制限を拡張し、三次元分子の電子状態計算を可能にしたかについて、数学的定式化とアルゴリズムの両面から論じる。

2. 単純ヒュッケル法(HMO)の理論的枠組み#

HMO法は、シュレーディンガー方程式を行列形式の永年方程式 HES=0|\mathbf{H} - E\mathbf{S}| = 0 へと落とし込む際、極めて大胆な近似を採用する。

2.1 平面 π\pi 電子系への限定#

HMO法では、σ\sigma 骨格と π\pi 電子系を分離し(σπ\sigma-\pi 分離近似)、π\pi 電子のみを計算対象とする。基底関数系には炭素原子の 2pz2p_z 軌道のみが用いられる。

2.2 行列要素の近似#

ハミルトニアン行列 H\mathbf{H} および重なり行列 S\mathbf{S} の要素は、幾何構造(距離や角度)を明示的に計算することなく、トポロジー(原子のつながり)のみに基づいて以下のように定義される。

  • 対角要素 Hii=αH_{ii} = \alpha (クーロン積分):ある炭素原子上の電子エネルギー。
  • 非対角要素 HijH_{ij}
    • 原子 i,ji, j が結合している場合:Hij=βH_{ij} = \beta (共鳴積分)。
    • 結合していない場合:Hij=0H_{ij} = 0
  • 重なり積分 SijS_{ij}
    • i=ji = j の場合:Sii=1S_{ii} = 1
    • iji \neq j の場合:Sij=0S_{ij} = 0 (ゼロ微分重なり近似)。

この近似により、永年方程式は単純化され HEI=0|\mathbf{H} - E\mathbf{I}| = 0 となる。これは、分子の幾何学的詳細を捨象し、グラフ理論的な接続行列の固有値問題として解くことを意味する。

3. 拡張ヒュッケル法(EHM)による一般化#

EHMは、HMO法の「半経験的」な精神を継承しつつ、全価電子(σ\sigma および π\pi)を扱い、かつ任意の三次元構造へ適用可能にするための拡張である。

3.1 基底関数の拡張#

EHMでは、水素の 1s1s 軌道や、炭素の 2s,2p2s, 2p 軌道など、すべての価電子軌道を基底関数として採用する。通常、これらの軌道はスレーター型軌道(STO)で記述される。

3.2 重なり積分の厳密評価#

HMO法との最大の数学的相違点は、重なり行列 S\mathbf{S} を単位行列とみなさず、原子座標に基づいて厳密に計算する点である。

Sij=χiχjdτ0(ij)S_{ij} = \int \chi_i^* \chi_j \, d\tau \neq 0 \quad (i \neq j)

これにより、解くべき方程式は一般化固有値問題となる。

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

3.3 Wolfsberg-Helmholtz近似#

ハミルトニアン行列の要素決定には、実験パラメータと近似式が用いられる。

  • 対角要素 HiiH_{ii}:原子価状態イオン化ポテンシャル(VOIE)の負の値を用いる。 Hii=IiH_{ii} = -I_{i}
  • 非対角要素 HijH_{ij}:HMO法の β\beta のように定数とするのではなく、重なり積分 SijS_{ij} に比例する値として算出する(Wolfsberg-Helmholtz近似)。 Hij=12K(Hii+Hjj)SijH_{ij} = \frac{1}{2} K (H_{ii} + H_{jj}) S_{ij}

ここで、KK は通常 1.751.75 に設定される。この式により、原子間距離や角度の変化がハミルトニアンに反映され、立体的相互作用の評価が可能となる。

4. アルゴリズム比較と実装#

HMO法とEHM法の計算フローの違いを比較すると、以下のようになる。

プロセス単純ヒュッケル法 (HMO)拡張ヒュッケル法 (EHM)
入力原子の結合情報(隣接行列)原子の三次元座標 (x,y,z)(x, y, z)
基底関数2pz2p_z 軌道のみ全価電子軌道 (s,p,d...s, p, d...)
重なり SS単位行列 I\mathbf{I}座標から計算した行列 S\mathbf{S}
行列 HHパラメータ α,β\alpha, \beta を配置VOIEと SijS_{ij} から構築
方程式標準固有値問題 $\mathbf{H} - E\mathbf{I}

4.1 PythonによるEHMの実装例#

以下に、EHMの主要ロジックを示すPythonコードを提示する。ここでは、HMO法では無視されていた「座標依存の重なり積分」と「Wolfsberg-Helmholtz近似」がどのように実装されるかに注目されたい。

import numpy as np
from scipy.linalg import eigh

class ExtendedHueckelMethod:
    """
    拡張ヒュッケル法(EHM)の実装クラス。
    単純ヒュッケル法とは異なり、三次元座標と重なり積分を明示的に扱う。
    """

    def __init__(self, atoms, coordinates):
        """
        Args:
            atoms (list): 元素記号のリスト (例: ['H', 'H'])
            coordinates (list): 各原子の三次元座標
        """
        self.atoms = atoms
        self.coordinates = np.array(coordinates)
        self.n_orbitals = len(atoms)  # 簡略化のため、1原子1軌道として扱う(本来はs, p軌道等を考慮)
        self.K = 1.75  # Wolfsberg-Helmholtz定数
        
        # 経験的パラメータ: 原子価状態イオン化エネルギー (VOIE) [eV]
        # HMO法のαに相当するが、実験値に基づく固定値を使用する
        self.voie_params = {
            'H': -13.6,
            'C': -11.4,
        }

    def _calculate_distance(self, i, j):
        """原子間のユークリッド距離を計算"""
        return np.linalg.norm(self.coordinates[i] - self.coordinates[j])

    def _mock_overlap_integral(self, i, j):
        """
        重なり積分 S_ij の計算。
        HMO法では S_ij = 0 (i!=j) だが、EHMでは距離依存の値を計算する。
        ※本来はスレーター軌道の重なり積分公式を用いる必要があるが、ここでは距離減衰関数で代用。
        """
        if i == j:
            return 1.0
        
        dist = self._calculate_distance(i, j)
        # 簡易的な重なりモデル (距離が遠くなるほど0に近づく)
        return np.exp(-0.5 * dist**2)

    def build_matrices(self):
        """
        ハミルトニアン行列(H)と重なり行列(S)の構築
        """
        n = self.n_orbitals
        H = np.zeros((n, n))
        S = np.zeros((n, n))

        # 1. 対角要素の充填
        for i in range(n):
            atom_symbol = self.atoms[i]
            H[i, i] = self.voie_params.get(atom_symbol, 0.0)
            S[i, i] = 1.0

        # 2. 非対角要素の充填
        for i in range(n):
            for j in range(i + 1, n):
                # 重なり積分 Sの計算 (EHMの特徴)
                s_val = self._mock_overlap_integral(i, j)
                S[i, j] = s_val
                S[j, i] = s_val

                # Wolfsberg-Helmholtz近似による H_ij の計算
                # HMO法では定数βだが、EHMでは重なりに比例させる
                # H_ij = 0.5 * K * (H_ii + H_jj) * S_ij
                h_val = 0.5 * self.K * (H[i, i] + H[j, j]) * s_val
                H[i, j] = h_val
                H[j, i] = h_val

        return H, S

    def solve(self):
        """
        一般化固有値問題 HC = SCE を解く。
        HMO法 (HC = EC) と異なり、重なり行列 S が考慮される。
        """
        H, S = self.build_matrices()
        
        # scipy.linalg.eigh は一般化固有値問題に対応 (b引数にSを渡す)
        energies, coeffs = eigh(H, b=S)
        
        return energies, coeffs

# --- 実行例 ---
if __name__ == "__main__":
    # 水素分子 (H-H) の例
    atoms = ['H', 'H']
    # 結合距離 0.74 Å
    coords = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.74]]

    eh_solver = ExtendedHueckelMethod(atoms, coords)
    energies, coefficients = eh_solver.solve()

    print(f"System: {atoms}")
    print("\nOrbital Energies (eV):")
    for idx, e in enumerate(energies):
        print(f"  MO {idx+1}: {e:.4f}")
        
    print("\nOrbital Coefficients (Eigenvectors):")
    print(coefficients)

5. 結論#

単純ヒュッケル法(HMO)は、共役系のトポロジーに基づき π\pi 電子の安定化を直感的に理解する上で優れたモデルであった。拡張ヒュッケル法(EHM)は、その概念的明快さを保ちつつ、重なり積分の導入とWolfsberg-Helmholtz近似によって、分子軌道法を三次元の全価電子系へと昇華させた。EHMは一電子近似の限界から定量的なエネルギー精度には欠けるものの、軌道相互作用の定性的な理解、特にウッドワード・ホフマン則に代表される反応性の予測においては、現代化学においてもなお重要な教育的および概念的意義を持ち続けている。

参考文献#

  • 拡張ヒュッケル法の提唱と応用: Hoffmann, R. “An Extended Hückel Theory. I. Hydrocarbons.” The Journal of Chemical Physics, 1963, 39, 1397–1412.
ヒュッケル則から拡張ヒュッケル法へ:半経験的分子軌道法の理論的展開と実装
https://ss0832.github.io/posts/20260121_extend_huckel_theory/
Author
ss0832
Published at
2026-01-21
License
CC BY-NC-SA 4.0

Related Posts

冗長内部座標系における自動化された鞍点探索アルゴリズムの数理と実装:Sellaについて
2026-01-25
ポテンシャルエネルギー曲面(PES)上の一次鞍点(遷移状態)を探索するための新規アルゴリズム『Sella』について、その数学的基礎、座標変換の幾何学的処理、およびNull-Space SQPを用いた制約付き最適化手法を詳述する。特に、自動化を阻害する直線結合角問題へのダミー原子を用いた対処法と、反復的ヘシアン対角化による計算コスト削減効果に焦点を当てる。
シュレーディンガー方程式と「箱の中の粒子」:計算化学の基礎モデル
2026-01-07
古典的な波の記述から、量子力学の基礎方程式であるシュレーディンガー方程式へ。演算子、固有値問題、確率解釈といった基本概念を整理し、「箱の中の粒子」モデルを用いてエネルギーの量子化や縮退を解説する。さらに、この単純なモデルが計算化学における共役系分子の近似や基底関数の理解にどう繋がるかを紐解く。
量子力学の6つの仮説:計算化学を支える「文法」(厳密版)
2026-01-07
「系の状態は波動関数で決まる」「観測量は演算子の固有値である」といった量子力学の基礎的な仮説(公理)を、計算化学の実務的観点から厳密に整理。Koopmansの定理、基底関数の非直交性、TD-DFTの線形応答理論、UHF法におけるスピン汚染の数学的背景などを詳細に解説する。
調和振動子と剛体回転子:分光学と計算化学をつなぐ2つのモデル
2026-01-07
量子力学の基礎モデルである「調和振動子」と「剛体回転子」について、フックの法則や換算質量といった基本概念から解説。計算化学の実務において、これらのモデルが振動数計算(Hessian)や熱力学補正、さらには基底関数の形状にどう深く関わっているかを紐解く。
NCIplot (Non-Covalent Interaction plot) の数理的基盤とアルゴリズム:密度汎関数理論からの導出と応用
2026-01-04
非共有結合性相互作用(Non-Covalent Interactions; NCI)を可視化する手法であるNCIplotについて、その理論的背景となるReduced Density Gradient(RDG)の数学的導出、QTAIMとの関係性、およびアルゴリズムの実装詳細を学術的な視点から包括的に解説する。密度汎関数理論における均一電子ガスモデルからの展開と、ヘシアン行列の固有値解析に基づく相互作用の分類について詳述する。
【2025年版】理論化学系の研究テーマを扱っている学生のための「非公式」完全リソースマップ
2025-12-31
公式マニュアルから個人の備忘録、AIツール、PC環境、メンタルヘルスまで。計算化学者だけでなく、実験化学者やMI研究者にも役立つ、あらゆるWebリソースを網羅・分類したブックマーク集。