# NBO・IAO/IBO と軌道局在化

SCF が返す標準分子軌道は非局在化しています — 水の HOMO は「O–H 結合」ではなく、分子全体に広がった AO の何らか
の組み合わせです。**局在化**法は、*同じ*密度とエネルギーを表す、化学的に解釈可能な等価な軌道集合 — Lewis 構造の
結合・孤立電子対・内殻軌道 — を見つけます。本章は qc-rs の 2 つの局在化ファミリ — **NBO**（自然結合軌道、
古典的な Weinhold の処方箋）と **IAO/IBO**（固有原子/結合軌道、より新しく単純な構成）— に加え、汎用の軌道局在化
を扱います。

## 理論:最小の原子様軌道 — IAO

IAO と IBO 両方の出発点は、占有空間をちょうど張りつつ、できる限り**自由原子**軌道に似た、小さな**正規直交**基底
— **固有原子軌道（IAO）** — を構築することです。この構成（Knizia, 2013）は、占有 MO $\mathbf C$ を同じ原子上に
座る**最小**参照基底（`minao`）へ射影し、その射影を Löwdin 直交化して脱分極させ、結果を $\mathbf C$ 自身と組み
合わせることで、最終的な IAO は最小基底の関数と同数でありながら占有空間をちょうど張るようにします。実務的には、
対象基底と最小基底の間の統合された重なりが一度作られ、脱分極射影子が形成され、構成全体が（分子軌道の簿記ではなく）
**密度**（その自然軌道を通じて）だけで駆動されます。

**IAO 電荷** — この最小の原子様基底で取った Mulliken 様の母集団 — は、NPA 自身の反復機構を必要とせずに、
1 回の線形代数のレシピから **NPA 品質**の原子電荷を与えます:

```python
import qc
water = "O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469"
m = qc.chk.new(atom=water, ao="def2-svp", unit="angstrom").scf(ref="r").run()

qc.prop.nbo.iao(m)["charges"]   # [-0.696, 0.348, 0.348]  -- pyscf.lo.iao と ~1e-6 で一致
```

## 理論:結合への局在化 — IBO

**固有結合軌道（IBO）**は占有標準 MO を取り、占有空間内で**回転**させて、各局在軌道ができるだけ少ない原子に
鋭く座るよう最大化します — **Pipek–Mezey** 局在化ですが、IAO 基底で行われます（だから IAO は完全な AO と違い
占有空間しか張らないのに「原子 $A$ にどれだけ電荷が座るか」が well-defined です）:

$$
L = \sum_i \sum_A \big(Q^i_A\big)^p ,
$$

$2\times2$ 軌道回転（Jacobi 掃引）で最大化します。ここで $Q^i_A$ は軌道 $i$ の IAO 基底 Mulliken 母集団の
原子 $A$ 上の値、$p$（既定 4）は 1〜2 原子への集中をどれだけ積極的に報いるかを制御します。結果は*見て*認識
できる軌道の集合です:1 原子に座る内殻軌道、2 原子に分かれた結合軌道、ほぼ 1 原子に座る孤立電子対。

```python
ibo = qc.prop.nbo.ibo(m)
len(ibo["orbitals"])                 # 5 -- 水なら O 内殻 + 孤立電子対 2 + O-H 結合 2
ibo["orbitals"][0]["centers"]        # この軌道がどの原子に座るか（>10% の重み）
```

`qc.prop.orb.localize` は同じ Pipek–Mezey 機構を（IAO 基底に縛られない）汎用ツールとして提供し、特定の
IAO/IBO 構成ではなく単に*何らかの*局在軌道集合が欲しいときに便利です。

## 理論:NBO — 密度から Lewis 構造を

**自然結合軌道（NBO）**は異なる、より古い（Weinhold の）道を取ります:滑らかな最適化ではなく、自然軌道基底
（NAO）での占有行列 $\mathbf P = \mathbf C^\top(\mathbf{SDS})\mathbf C$ から最良の Lewis 構造を直接**探索**
します。

:::{prf:algorithm} NBO の Lewis 構造探索
:label: alg-nbo

**入力:** NAO 基底の占有行列 $\mathbf P$;目標の対数 $n_{\text{pairs}}=\text{round}(N/2)$。
**出力:** 枯渇させた、正規直交な Lewis 構造軌道の集合（内殻、孤立電子対、結合）。

1. **内殻。** 内殻 NAO をそのまま内殻（CR）NBO として取り、その占有を $\mathbf P$ から枯渇させる。
2. **Lewis 探索。** 降順の占有しきい値を ${\approx}2.0$ からある下限まで歩く。各水準で、$\mathbf P$ の
   最高占有の候補固有ベクトルを受理する — ただし同程度の占有の 2 中心結合より 1 中心の孤立電子対を*優先*する
   （これは対称な孤立電子対の組み合わせが結合と誤読されるのを防ぎ、アミド窒素のような強く非局在化した孤立電子対
   が偽の結合に吸収されず見つかるようにする）。候補が真の 2 中心**結合**として数えられるのは*両方の*中心で
   有意な重みを持つときだけ;さもなければ孤立電子対の尾です。受理した軌道を枯渇させ、
   $\mathbf P \leftarrow \mathbf P - n\,|v\rangle\langle v|$、$n_{\text{pairs}}$ 個の軌道で止める。
3. **混成。** 各 NBO の中心上の振幅を角運動量で分解すると、自然混成組成（$\%s/\%p/\%d$）と、結合については
   2 原子間の分極が得られる。
4. **完成。** すべての結合はその直交補空間である反結合（BD*）を得る;残りの方向が、NAO 基底から完全な NBO
   基底（結合、孤立電子対、非 Lewis の Rydberg 軌道）への正規直交変換を完成させる。
:::

こうして完全な Lewis 構造を作る見返りが**2 次のドナー–アクセプター解析**です:Fock 行列を NBO 基底に変換し、
$F = T^\top(\mathbf C^\top F_{\text{AO}}\mathbf C)T$、占有軌道 $i$ が空軌道 $j$（典型的には孤立電子対が
反結合へ供与する）と相互作用すると、エネルギーは

$$
E^{(2)}_{i\to j} = -2\,\frac{F_{ij}^2}{\varepsilon_j-\varepsilon_i}
$$

だけ安定化します。これはまさに教科書の 2 次摂動論の安定化エネルギーを、「ドナー」と「アクセプター」の軌道が
既に化学的にラベル付けされた基底で評価したもの — だから NBO の $E^{(2)}$ は超共役・アノマー効果その他のドナー–
アクセプター相互作用を定量する標準的な方法なのです。

```python
nbo = qc.prop.nbo.nbo(m)
nbo["e2"][0]   # {'donor': ..., 'acceptor': ..., 'donor_desc': 'LP O1', 'acceptor_desc': 'RY H2', 'energy_kcal': 2.07}
```

## 総合例

```python
import qc, numpy as np
water = "O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469"
m = qc.chk.new(atom=water, ao="def2-svp", unit="angstrom").scf(ref="r").run()

print("IAO charges :", np.round(qc.prop.nbo.iao(m)["charges"], 3))     # [-0.696  0.348  0.348]

ibo = qc.prop.nbo.ibo(m)
print("IBO orbital count:", len(ibo["orbitals"]))                      # 5

nbo = qc.prop.nbo.nbo(m)
top = nbo["e2"][0]
print(f"largest E(2): {top['donor_desc']} -> {top['acceptor_desc']}, {top['energy_kcal']:.2f} kcal/mol")
```

:::{exercise}
:label: ex-nbo

1. IAO 電荷と NPA 電荷はどちらも「NPA 品質」を意図していますが、構成方法はまったく異なります。Mulliken に
   欠けていて、両手法に共通する 1 つのことは何ですか。
2. IBO 局在化は水（電子 10 個）についてちょうど 5 個の軌道を返します。なぜ 5 個で、それらはどんな物理的対象
   だと期待されますか。
3. ある孤立電子対から隣接する反結合への大きな NBO $E^{(2)}$ を見つけました。これが定量する実際の化学現象を
   1 つ挙げ、$E^{(2)}$ の式を使って、*小さな*軌道エネルギー差 $\varepsilon_j-\varepsilon_i$ がなぜ効果を
   強めるかを説明しなさい。
:::

:::{solution} ex-nbo
:class: dropdown

1. どちらも、素の計算基底ではなく**最小の原子中心参照基底**（IAO の `minao` への脱分極射影;NPA の自然原子
   軌道）で評価されます — これがまさに両者が素の Mulliken よりずっと基底感受性が低い理由です。
2. **5 個**、水は占有軌道が 5 個（電子 10 個 ÷ 軌道あたり 2 個）だからです:O 1s 内殻、2 つの O 孤立電子対、
   2 本の O–H 結合 — まさに水の教科書的な Lewis 構造です。
3. これは**超共役**（あるいは、環をまたいだヘテロ原子孤立電子対から反結合軌道への場合は**アノマー効果**）の
   署名です。$E^{(2)}=-2F_{ij}^2/(\varepsilon_j-\varepsilon_i)$ から、より小さいエネルギー分母は同じ結合
   $F_{ij}$ に対して $E^{(2)}$ を直接*膨らませ*ます — エネルギーが近いドナーとアクセプター軌道ほど強く
   相互作用する、通常の摂動論どおりの予測です。
:::

次は[ESP 表面](esp-surfaces.md) で、軌道空間の解析から、分子表面に直接マップできる実空間の静電性質へ移ります。
