Hückel (ヒュッケル) 法の要点

$\pi$電子を提供する炭素原子の数を$N$とする.

(例: エチレン $\rm C_2H_4$は$N=2$, ブタジエン $\rm C_4H_6$は$N=4$, ベンゼン $\rm C_6H_6$は$N=6$)

ハミルトニアン行列 $H$ は $N \times N$ 対称行列

  • 対角要素は全て $\alpha$ とおく.
  • $ij$, $ji$ $(i \ne j)$ 非対角要素は, 炭素$i, j$が隣接しているときは $\beta$ とおく. それ以外は 0 とおく.

$H$ の固有ベクトルが分子軌道係数, 固有値が分子軌道エネルギーを与える.($\beta < 0$に注意)

例1: エチレン $H = \begin{pmatrix} \alpha & \beta \\ \beta & \alpha \end{pmatrix}$

$E_1 = \alpha + \beta, \quad \psi_1 = \frac{1}{\sqrt{2}}(\phi_1 + \phi_2)$

$E_2 = \alpha - \beta, \quad \psi_2 = \frac{1}{\sqrt{2}}(\phi_1 - \phi_2)$

例2: アリルカチオン $H = \begin{pmatrix} \alpha & \beta & 0 \\ \beta & \alpha & \beta \\ 0 & \beta & \alpha \end{pmatrix}$

$E_1 = \alpha + \sqrt{2} \beta, \quad \psi_1 = \frac{1}{2}(\phi_1 + \sqrt{2} \phi_2 + \phi_3)$

$E_2 = \alpha, \quad \psi_2 = \frac{1}{\sqrt{2}}(\phi_1 - \phi_3)$

$E_3 = \alpha - \sqrt{2} \beta, \quad \psi_3 = \frac{1}{2}(\phi_1 - \sqrt{2} \phi_2 + \phi_3)$

Symbolic PythonによるHückel分子軌道計算

In [1]:
from sympy.abc import a, b  # a, b は通常の変数ではなくシンボルとする
from sympy import Matrix, pprint, simplify

N=2 エチレン

In [2]:
H = Matrix([      # 行列の入力
        [a, b],
        [b, a]])  # 複数行に書いてもよい
pprint(H)  # sympy の pretty print
pprint(H.eigenvals())
pprint(H.eigenvects())
⎡a  b⎤
⎢    ⎥
⎣b  a⎦
{a - b: 1, a + b: 1}
⎡⎛          ⎡⎡-1⎤⎤⎞  ⎛          ⎡⎡1⎤⎤⎞⎤
⎢⎜a - b, 1, ⎢⎢  ⎥⎥⎟, ⎜a + b, 1, ⎢⎢ ⎥⎥⎟⎥
⎣⎝          ⎣⎣1 ⎦⎦⎠  ⎝          ⎣⎣1⎦⎦⎠⎦

N=4 ブタジエン

以下に示されるように, 非常に長い出力になってしまう.

In [3]:
H = Matrix([
        [a,b,0,0],
        [b,a,b,0],
        [0,b,a,b],
        [0,0,b,a]
    ])
pprint(H)
pprint(H.eigenvals())
pprint(H.eigenvects())
⎡a  b  0  0⎤
⎢          ⎥
⎢b  a  b  0⎥
⎢          ⎥
⎢0  b  a  b⎥
⎢          ⎥
⎣0  0  b  a⎦
⎧    b   √5⋅b         b   √5⋅b         √5⋅b   b         √5⋅b   b   ⎫
⎨a - ─ + ────: 1, a + ─ + ────: 1, a - ──── - ─: 1, a - ──── + ─: 1⎬
⎩    2    2           2    2            2     2          2     2   ⎭
⎡⎛                 ⎡⎡                            3                          ⎤⎤
⎢⎜                 ⎢⎢                          -b                           ⎥⎥
⎢⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
⎢⎜                 ⎢⎢                    ⎛                   2⎞             ⎥⎥
⎢⎜                 ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞⎥⎥
⎢⎜                 ⎢⎢- b ⋅⎜- ──── + ─⎟ + ⎜- b  + ⎜- ──── + ─⎟ ⎟⋅⎜- ──── + ─⎟⎥⎥
⎢⎜                 ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠⎥⎥
⎢⎜                 ⎢⎢                                                       ⎥⎥
⎢⎜                 ⎢⎢                     2 ⎛  √5⋅b   b⎞                    ⎥⎥
⎢⎜                 ⎢⎢                    b ⋅⎜- ──── + ─⎟                    ⎥⎥
⎢⎜                 ⎢⎢                       ⎝   2     2⎠                    ⎥⎥
⎢⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
⎢⎜                 ⎢⎢                    ⎛                   2⎞             ⎥⎥
⎢⎜    b   √5⋅b     ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞⎥⎥
⎢⎜a - ─ + ────, 1, ⎢⎢- b ⋅⎜- ──── + ─⎟ + ⎜- b  + ⎜- ──── + ─⎟ ⎟⋅⎜- ──── + ─⎟⎥⎥
⎢⎜    2    2       ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠⎥⎥
⎢⎜                 ⎢⎢                                                       ⎥⎥
⎢⎜                 ⎢⎢                  ⎛                   2⎞               ⎥⎥
⎢⎜                 ⎢⎢                  ⎜   2   ⎛  √5⋅b   b⎞ ⎟               ⎥⎥
⎢⎜                 ⎢⎢               -b⋅⎜- b  + ⎜- ──── + ─⎟ ⎟               ⎥⎥
⎢⎜                 ⎢⎢                  ⎝       ⎝   2     2⎠ ⎠               ⎥⎥
⎢⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
⎢⎜                 ⎢⎢                    ⎛                   2⎞             ⎥⎥
⎢⎜                 ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞⎥⎥
⎢⎜                 ⎢⎢- b ⋅⎜- ──── + ─⎟ + ⎜- b  + ⎜- ──── + ─⎟ ⎟⋅⎜- ──── + ─⎟⎥⎥
⎢⎜                 ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠⎥⎥
⎢⎜                 ⎢⎢                                                       ⎥⎥
⎣⎝                 ⎣⎣                           1                           ⎦⎦

⎞  ⎛                 ⎡⎡                            3                          
⎟  ⎜                 ⎢⎢                          -b                           
⎟  ⎜                 ⎢⎢───────────────────────────────────────────────────────
⎟  ⎜                 ⎢⎢                    ⎛                   2⎞             
⎟  ⎜                 ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞
⎟  ⎜                 ⎢⎢- b ⋅⎜- ──── - ─⎟ + ⎜- b  + ⎜- ──── - ─⎟ ⎟⋅⎜- ──── - ─⎟
⎟  ⎜                 ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠
⎟  ⎜                 ⎢⎢                                                       
⎟  ⎜                 ⎢⎢                     2 ⎛  √5⋅b   b⎞                    
⎟  ⎜                 ⎢⎢                    b ⋅⎜- ──── - ─⎟                    
⎟  ⎜                 ⎢⎢                       ⎝   2     2⎠                    
⎟  ⎜                 ⎢⎢───────────────────────────────────────────────────────
⎟  ⎜                 ⎢⎢                    ⎛                   2⎞             
⎟  ⎜    b   √5⋅b     ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞
⎟, ⎜a + ─ + ────, 1, ⎢⎢- b ⋅⎜- ──── - ─⎟ + ⎜- b  + ⎜- ──── - ─⎟ ⎟⋅⎜- ──── - ─⎟
⎟  ⎜    2    2       ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠
⎟  ⎜                 ⎢⎢                                                       
⎟  ⎜                 ⎢⎢                  ⎛                   2⎞               
⎟  ⎜                 ⎢⎢                  ⎜   2   ⎛  √5⋅b   b⎞ ⎟               
⎟  ⎜                 ⎢⎢               -b⋅⎜- b  + ⎜- ──── - ─⎟ ⎟               
⎟  ⎜                 ⎢⎢                  ⎝       ⎝   2     2⎠ ⎠               
⎟  ⎜                 ⎢⎢───────────────────────────────────────────────────────
⎟  ⎜                 ⎢⎢                    ⎛                   2⎞             
⎟  ⎜                 ⎢⎢   2 ⎛  √5⋅b   b⎞   ⎜   2   ⎛  √5⋅b   b⎞ ⎟ ⎛  √5⋅b   b⎞
⎟  ⎜                 ⎢⎢- b ⋅⎜- ──── - ─⎟ + ⎜- b  + ⎜- ──── - ─⎟ ⎟⋅⎜- ──── - ─⎟
⎟  ⎜                 ⎢⎢     ⎝   2     2⎠   ⎝       ⎝   2     2⎠ ⎠ ⎝   2     2⎠
⎟  ⎜                 ⎢⎢                                                       
⎠  ⎝                 ⎣⎣                           1                           

⎤⎤⎞  ⎛                 ⎡⎡                         3                       ⎤⎤⎞ 
⎥⎥⎟  ⎜                 ⎢⎢                       -b                        ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢─────────────────────────────────────────────────⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                             ⎛                 2⎞⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢   2 ⎛b   √5⋅b⎞   ⎛b   √5⋅b⎞ ⎜   2   ⎛b   √5⋅b⎞ ⎟⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢- b ⋅⎜─ + ────⎟ + ⎜─ + ────⎟⋅⎜- b  + ⎜─ + ────⎟ ⎟⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢     ⎝2    2  ⎠   ⎝2    2  ⎠ ⎝       ⎝2    2  ⎠ ⎠⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                                                 ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                   2 ⎛b   √5⋅b⎞                  ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                  b ⋅⎜─ + ────⎟                  ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                     ⎝2    2  ⎠                  ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢─────────────────────────────────────────────────⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                             ⎛                 2⎞⎥⎥⎟ 
⎥⎥⎟  ⎜    √5⋅b   b     ⎢⎢   2 ⎛b   √5⋅b⎞   ⎛b   √5⋅b⎞ ⎜   2   ⎛b   √5⋅b⎞ ⎟⎥⎥⎟ 
⎥⎥⎟, ⎜a - ──── - ─, 1, ⎢⎢- b ⋅⎜─ + ────⎟ + ⎜─ + ────⎟⋅⎜- b  + ⎜─ + ────⎟ ⎟⎥⎥⎟,
⎥⎥⎟  ⎜     2     2     ⎢⎢     ⎝2    2  ⎠   ⎝2    2  ⎠ ⎝       ⎝2    2  ⎠ ⎠⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                                                 ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                ⎛                 2⎞             ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                ⎜   2   ⎛b   √5⋅b⎞ ⎟             ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢             -b⋅⎜- b  + ⎜─ + ────⎟ ⎟             ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                ⎝       ⎝2    2  ⎠ ⎠             ⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢─────────────────────────────────────────────────⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                             ⎛                 2⎞⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢   2 ⎛b   √5⋅b⎞   ⎛b   √5⋅b⎞ ⎜   2   ⎛b   √5⋅b⎞ ⎟⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢- b ⋅⎜─ + ────⎟ + ⎜─ + ────⎟⋅⎜- b  + ⎜─ + ────⎟ ⎟⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢     ⎝2    2  ⎠   ⎝2    2  ⎠ ⎝       ⎝2    2  ⎠ ⎠⎥⎥⎟ 
⎥⎥⎟  ⎜                 ⎢⎢                                                 ⎥⎥⎟ 
⎦⎦⎠  ⎝                 ⎣⎣                        1                        ⎦⎦⎠ 

 ⎛                 ⎡⎡                            3                          ⎤⎤
 ⎜                 ⎢⎢                          -b                           ⎥⎥
 ⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
 ⎜                 ⎢⎢                                 ⎛                   2⎞⎥⎥
 ⎜                 ⎢⎢   2 ⎛  b   √5⋅b⎞   ⎛  b   √5⋅b⎞ ⎜   2   ⎛  b   √5⋅b⎞ ⎟⎥⎥
 ⎜                 ⎢⎢- b ⋅⎜- ─ + ────⎟ + ⎜- ─ + ────⎟⋅⎜- b  + ⎜- ─ + ────⎟ ⎟⎥⎥
 ⎜                 ⎢⎢     ⎝  2    2  ⎠   ⎝  2    2  ⎠ ⎝       ⎝  2    2  ⎠ ⎠⎥⎥
 ⎜                 ⎢⎢                                                       ⎥⎥
 ⎜                 ⎢⎢                     2 ⎛  b   √5⋅b⎞                    ⎥⎥
 ⎜                 ⎢⎢                    b ⋅⎜- ─ + ────⎟                    ⎥⎥
 ⎜                 ⎢⎢                       ⎝  2    2  ⎠                    ⎥⎥
 ⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
 ⎜                 ⎢⎢                                 ⎛                   2⎞⎥⎥
 ⎜    √5⋅b   b     ⎢⎢   2 ⎛  b   √5⋅b⎞   ⎛  b   √5⋅b⎞ ⎜   2   ⎛  b   √5⋅b⎞ ⎟⎥⎥
 ⎜a - ──── + ─, 1, ⎢⎢- b ⋅⎜- ─ + ────⎟ + ⎜- ─ + ────⎟⋅⎜- b  + ⎜- ─ + ────⎟ ⎟⎥⎥
 ⎜     2     2     ⎢⎢     ⎝  2    2  ⎠   ⎝  2    2  ⎠ ⎝       ⎝  2    2  ⎠ ⎠⎥⎥
 ⎜                 ⎢⎢                                                       ⎥⎥
 ⎜                 ⎢⎢                  ⎛                   2⎞               ⎥⎥
 ⎜                 ⎢⎢                  ⎜   2   ⎛  b   √5⋅b⎞ ⎟               ⎥⎥
 ⎜                 ⎢⎢               -b⋅⎜- b  + ⎜- ─ + ────⎟ ⎟               ⎥⎥
 ⎜                 ⎢⎢                  ⎝       ⎝  2    2  ⎠ ⎠               ⎥⎥
 ⎜                 ⎢⎢───────────────────────────────────────────────────────⎥⎥
 ⎜                 ⎢⎢                                 ⎛                   2⎞⎥⎥
 ⎜                 ⎢⎢   2 ⎛  b   √5⋅b⎞   ⎛  b   √5⋅b⎞ ⎜   2   ⎛  b   √5⋅b⎞ ⎟⎥⎥
 ⎜                 ⎢⎢- b ⋅⎜- ─ + ────⎟ + ⎜- ─ + ────⎟⋅⎜- b  + ⎜- ─ + ────⎟ ⎟⎥⎥
 ⎜                 ⎢⎢     ⎝  2    2  ⎠   ⎝  2    2  ⎠ ⎝       ⎝  2    2  ⎠ ⎠⎥⎥
 ⎜                 ⎢⎢                                                       ⎥⎥
 ⎝                 ⎣⎣                           1                           ⎦⎦

⎞⎤
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎟⎥
⎠⎦

(参考) 固有ベクトルを簡約(simplify)してから表示

In [4]:
v = H.eigenvects()
for i in range(len(v)):
    print('Eigenvalue')
    pprint(v[i][0])
    print('Eigenvector')
    for j in range(v[i][1]):
        pprint(simplify(v[i][2][j]).transpose())
Eigenvalue
    b   √5⋅b
a - ─ + ────
    2    2  
Eigenvector
⎡      √5   1    1   √5   ⎤
⎢-1  - ── + ─  - ─ + ──  1⎥
⎣      2    2    2   2    ⎦
Eigenvalue
    b   √5⋅b
a + ─ + ────
    2    2  
Eigenvector
⎡   1   √5  1   √5   ⎤
⎢1  ─ + ──  ─ + ──  1⎥
⎣   2   2   2   2    ⎦
Eigenvalue
    √5⋅b   b
a - ──── - ─
     2     2
Eigenvector
⎡    1   √5    √5   1   ⎤
⎢-1  ─ + ──  - ── - ─  1⎥
⎣    2   2     2    2   ⎦
Eigenvalue
    √5⋅b   b
a - ──── + ─
     2     2
Eigenvector
⎡     √5   1    √5   1   ⎤
⎢1  - ── + ─  - ── + ─  1⎥
⎣     2    2    2    2   ⎦

N=4 シクロブタジエン

ブタジエンとの違いに注目

In [5]:
H = Matrix([
        [a,b,0,b],
        [b,a,b,0],
        [0,b,a,b],
        [b,0,b,a]
    ])
pprint(H)
pprint(H.eigenvals())
pprint(H.eigenvects())
⎡a  b  0  b⎤
⎢          ⎥
⎢b  a  b  0⎥
⎢          ⎥
⎢0  b  a  b⎥
⎢          ⎥
⎣b  0  b  a⎦
{a: 2, a - 2⋅b: 1, a + 2⋅b: 1}
⎡⎛      ⎡⎡-1⎤  ⎡0 ⎤⎤⎞  ⎛            ⎡⎡-1⎤⎤⎞  ⎛            ⎡⎡1⎤⎤⎞⎤
⎢⎜      ⎢⎢  ⎥  ⎢  ⎥⎥⎟  ⎜            ⎢⎢  ⎥⎥⎟  ⎜            ⎢⎢ ⎥⎥⎟⎥
⎢⎜      ⎢⎢0 ⎥  ⎢-1⎥⎥⎟  ⎜            ⎢⎢1 ⎥⎥⎟  ⎜            ⎢⎢1⎥⎥⎟⎥
⎢⎜a, 2, ⎢⎢  ⎥, ⎢  ⎥⎥⎟, ⎜a - 2⋅b, 1, ⎢⎢  ⎥⎥⎟, ⎜a + 2⋅b, 1, ⎢⎢ ⎥⎥⎟⎥
⎢⎜      ⎢⎢1 ⎥  ⎢0 ⎥⎥⎟  ⎜            ⎢⎢-1⎥⎥⎟  ⎜            ⎢⎢1⎥⎥⎟⎥
⎢⎜      ⎢⎢  ⎥  ⎢  ⎥⎥⎟  ⎜            ⎢⎢  ⎥⎥⎟  ⎜            ⎢⎢ ⎥⎥⎟⎥
⎣⎝      ⎣⎣0 ⎦  ⎣1 ⎦⎦⎠  ⎝            ⎣⎣1 ⎦⎦⎠  ⎝            ⎣⎣1⎦⎦⎠⎦

課題

  1. アリルカチオン (N=3, 直鎖)
  2. ベンゼン (N=6, 環状)

について, 固有値と固有ベクトルを計算し印字するプログラムを書け.