13-hk-theorem 问答笔记¶
源文件:13-hk-theorem.md
Q1:化简 2 已经缩到 N 个 3 维轨道,化简 3 再缩到 3 维密度不就是常数项优化吗?为什么说它是"理论基石"?¶
原文:"这一步是 DFT 能够存在的理论基石"
这是个直击要害的追问。很多人(包括物理学家初学时)都会有这个困惑。关键误解:把化简 2 和化简 3 都当成"存储压缩"。实际上两者的本质完全不同:
| 化简 2(Slater) | 化简 3(HK) | |
|---|---|---|
| 本质角色 | 结构性假设(限制子空间) | 理论证明(换变量) |
| 压缩的对象 | 存储(如何记录波函数) | 变量(问什么问题) |
| 数学性质 | 定义性(人为规定 \(\Psi\) 是 Slater) | 定理性(证明了一件深刻的事) |
| 量化收益 | 指数 → 线性存储 | 原则上不减存储(见下) |
让我逐项展开。
1. 存储量对比——化简 3 的"收益"其实很小¶
| 方式 | 存什么 | \(g=100, N=8\) 的值 |
|---|---|---|
| 化简 2 后:N 个 Slater 轨道 | \(N\) 个 3D 复函数 \(\phi_i\) | \(N \cdot g^3 \cdot 16 = 128\) MB |
| 化简 3 后:电子密度 \(\rho\) | 1 个 3D 实函数 | \(g^3 \cdot 8 = 8\) MB |
| 压缩比 | —— | 16 倍(线性到线性,只变常数) |
所以单从存储角度看,化简 3 确实"只降常数项"——没有像化简 2 那样打掉指数。
但理论基石的价值根本不在存储。
2. 化简 3 的真正贡献——"换变量"¶
化简 2 之后问题是什么¶
即便用 Slater 限定 \(\Psi = \det\{\phi_i\}\),最小化能量仍然是:
- 变量:\(N\) 个相互耦合的 3D 复函数
- 约束:轨道正交 \(\langle \phi_i | \phi_j \rangle = \delta_{ij}\)
- 泛函形式:\(E = T[\{\phi_i\}] + V_{ext}[\{\phi_i\}] + J[\{\phi_i\}] + K[\{\phi_i\}]\),每项都是轨道的泛函(不是密度的)
- 这仍然是多变量耦合优化
化简 3 之后问题变成什么¶
HK 定理告诉你:基态的一切物理量(包括能量)可以只用 3D 密度 \(\rho(\vec{r})\) 确定:
- 变量:1 个 3D 实函数
- 约束:\(\int \rho = N\),\(\rho \geq 0\)
- 泛函形式:\(E = E[\rho]\)(只依赖密度)
变量从"\(N\) 个耦合轨道"变成"1 个密度"——这是范式转换,不是"常数项优化"。
3. 三个关键定理让这成为"基石"¶
HK 定理其实是三个强结论:
定理 1(存在性):基态密度 \(\rho_0\) 唯一决定外势 \(V_{ext}\)(差常数),因此唯一决定 \(\hat{H}\) 和整个基态波函数 \(\Psi_0\)。
定理 2(泛函存在):存在一个普适(universal)的泛函 \(F[\rho] = T[\rho] + V_{ee}[\rho]\),对任意 \(V_{ext}\) 都同一个 \(F\) 给出基态。
定理 3(变分原理): $$ E_0 = \min_\rho \left{ F[\rho] + \int V_{ext}(\vec{r}) \rho(\vec{r}) d\vec{r} \right} $$ 这个最小值就是基态能量,对应的 \(\rho\) 就是基态密度。
这三条合起来,才让"用密度替代波函数"成为数学上合法的操作。
4. 为什么没有这些保证就不能继续¶
- 无存在性:你怎么保证"用密度算出来的东西"对应真实基态?可能只对应波函数空间的某个投影,漏掉关键信息
- 无唯一性:同一个 \(\rho\) 可能对应多个不同的 \(V_{ext}\)、多个不同基态——"从 \(\rho\) 找物性"就歧义了
- 无变分原理:没有"最小化"可做——DFT 的整个求解框架都建立在"最小化 \(E[\rho]\)"上
没有 HK,KS 方法(化简 4)根本立不住。KS 引入虚构非相互作用系统时要求"该系统密度 = 真实系统密度" → 必须 HK 保证"相同密度 ⇒ 相同基态物理",否则这种替代无意义。
5. 类比:ML 里的万能逼近定理(Universal Approximation Theorem)¶
你应该熟悉这个类比:
| ML | DFT |
|---|---|
| 万能逼近定理(1989):存在足够大的 NN 逼近任意函数 | HK 定理(1964):存在 \(E[\rho]\) 对应基态 |
| 定理之前:NN 在做,但没人能说清"能学什么" | 定理之前:Thomas-Fermi 在做,但没理论依据 |
| 定理之后:所有 NN 方法建立在"理论上可表达"之上 | 定理之后:所有 DFT 方法建立在"精确 \(E[\rho]\) 存在"之上 |
| 具体架构(ResNet/Transformer)= 在存在性保证下的工程近似 | 具体泛函(LDA/PBE/SCAN)= 在存在性保证下的工程近似 |
没有万能逼近定理,深度学习只是经验技巧;有了才成理论基础。HK 对 DFT 的意义完全相同。
6. 化简 2 vs 化简 3 的角色对比¶
再明确一次两步各自的"定位":
| 化简 2(Slater) | 化简 3(HK) | |
|---|---|---|
| 类型 | 数学假设(选子空间) | 定理(证明事实) |
| 减少了什么 | 变量的存储复杂度(指数→线性) | 变量的逻辑身份(波函数→密度) |
| 真正的价值 | 让计算在当前硬件可行 | 让"用密度做事"合法化 |
| 如果没有它 | 只能存在于数学上(不可计算) | 理论基础塌了,DFT 不成立 |
化简 2 解决"怎么存",化简 3 解决"可以问什么"——两者都不可或缺,且顺序不能换(先有 Slater 结构假设,后来才有 HK 的密度视角)。
7. 实际 KS-DFT 里两步的配合¶
实际跑 DFT 时两步同时生效:
- 用 HK(化简 3):把能量写成密度泛函 \(E[\rho]\)
- 用 Slater(化简 2):用 N 个 KS 轨道 \(\phi_i^{KS}\) 算 \(\rho = \sum_i |\phi_i^{KS}|^2\) 和 \(T_s = \sum_i \int |\nabla \phi_i^{KS}|^2\)
- 两者结合 → Kohn-Sham 方程(化简 4)
所以 KS-DFT 两个化简都用:
8. 小结¶
- 存储角度:化简 3 只贡献 ~16 倍压缩(N 个轨道 → 1 个密度),确实像"常数项优化"
- 理论角度:化简 3 是变量身份的根本转换,让"用密度做事"有了数学合法性
- 没有化简 3:KS 方法、所有 XC 泛函、整个 DFT 理论都塌陷
- "理论基石"的含义:不是"压缩量大",而是"让 DFT 从经验技巧变成有理论保证的方法"
就像万能逼近定理不是用来"省参数"的,HK 定理也不是用来"省存储"的——它们是让整个方法论合法化的数学事实。
Q2:如果没有化简 3(HK),我们直接计算化简 2 得到的 N 个 3 维波函数不行吗?¶
完全可以做。这就是 Hartree-Fock(HF)方法——它比 HK 定理早 30 年,一直在用。但你会撞上 HF 的精度墙,而且没有系统改进的路径。HK 的真正作用不是"让计算可行",而是"让系统改进合法"。
如果没有 HK,你能做什么¶
在化简 2 之后(波函数是 Slater 行列式),你可以直接对 \(N\) 个轨道做变分:
其中能量泛函展开为:
每项都能显式用轨道 \(\phi_i\) 算,不需要 HK。
变分后得到 Fock 方程(HF 方程): $$ \hat{F} \phi_i = \varepsilon_i \phi_i, \quad \hat{F} = \hat{T} + V_{ext} + V_H[\rho] + V_x^{\text{HF}} $$
这个方程和 KS 方程长得几乎一样——只是 KS 的 \(V_{xc}\) 换成了 HF 的精确交换 \(V_x^{\text{HF}}\)。
这就是 Hartree-Fock:历史上早于 DFT 30 年¶
| 时间 | 方法 | 谁 |
|---|---|---|
| 1930 | Hartree 方程(自洽场 + 轨道) | Hartree |
| 1935 | Fock 方程(加反对称 Slater 行列式) | Fock, Slater |
| 1964 | Hohenberg-Kohn 定理 | Hohenberg, Kohn |
| 1965 | Kohn-Sham 方程 | Kohn, Sham |
所以从 1930 年代到 1960 年代,量子化学界就是在做你说的事情——直接算 N 个轨道。DFT 比它晚了 30 年才出现。
HF 的致命缺陷:缺失电子关联¶
HF 的能量缺少电子关联(correlation) 那部分。对比:
| 能量项 | HF 处理 | 真实值 |
|---|---|---|
| 动能 | 精确(用轨道算) | 精确 |
| 电-核 \(V_{ext}\) | 精确 | 精确 |
| 经典库仑 Hartree | 精确 | 精确 |
| 交换 (exchange) | 精确(反对称性给的) | 精确 |
| 关联 (correlation) | ❌ 完全忽略 | 存在且显著 |
关联能典型量级:
| 体系 | 关联能 | 占总能量 |
|---|---|---|
| H 原子 | 0 | 0 |
| He 原子 | ~1.1 eV | ~4% |
| C 原子 | ~4 eV | ~0.5% |
| 一个 C-C 共价键 | ~1 eV | 决定能否成键 |
| 范德华力(分子间) | ~10–100 meV | 决定几何 |
这些都是化学决定性的量。HF 算出的晶格常数偏差典型 2–5%(与 DFT 的 0.5% 对比),结合能偏差 1 eV/atom 级别(与 DFT 的 0.1 eV/atom 对比)。
根源:单 Slater 行列式形式假设电子独立运动(只通过平均场耦合),忽略了电子之间的动态躲避(correlation hole)。这是结构性缺陷,不是参数问题。
那不用 HK 怎么改进 HF¶
历史上量子化学家的做法:离开单 Slater,用多 Slater 线性组合。
各种方法的区别在于"塞多少 Slater"、"如何截断":
| 方法 | 包含 | 复杂度 | 体系大小 |
|---|---|---|---|
| HF | 1 个 Slater | \(O(N^4)\) | 100 原子(大分子) |
| MP2 | HF + 二阶微扰修正 | \(O(N^5)\) | 50 原子 |
| CISD | 单+双激发的 CI | \(O(N^6)\) | 20 原子 |
| CCSD(T) | 耦合簇("化学黄金标准") | \(O(N^7)\) | 10–20 原子 |
| FCI | 所有 Slater(精确) | \(O(N!)\) | ~10 电子 |
离开单 Slater 的代价是计算量爆炸——从 \(O(N^4)\) 到 \(O(N^7)\) 甚至 \(O(N!)\)。所以后 HF 方法只适用于小分子,对固体/材料完全不可行。
HK 定理改变了什么¶
HK 让你有了第三条路:
继续用单 Slater 形式(便宜),但引入一个新的"相关泛函" \(E_{xc}[\rho]\) 补回缺失的关联能。
为什么 HK 保证这件事可以做?
- HK 存在性:基态所有物理量(包括那部分缺失的关联能)一定可以写成 \(\rho\) 的泛函
- HK 唯一性:相同 \(\rho\) 给出相同物理,所以 \(E_{xc}[\rho]\) 是定义良好的
- KS 映射:把真实相互作用系统的信息"塞进" \(V_{eff}\),保留单 Slater 形式
没有 HK,你不能说"让我在 HF 能量上加一个 \(\rho\) 的函数补关联"——因为你不知道这样做是否对应真实物理。HK 给你这个合法性保证。
三种方法的对比¶
| Hartree-Fock | 后 HF(CCSD 等) | KS-DFT | |
|---|---|---|---|
| 基础 | 化简 2(单 Slater) | 化简 2 扩展(多 Slater) | 化简 2 + 化简 3 (HK) + 化简 4 (KS) |
| 变量 | \(N\) 个轨道 | \(N\) 个轨道 + 许多组合系数 | \(N\) 个 KS 轨道 + \(\rho\) |
| 关联 | ❌ 无 | ✅ 精确 | ✅ 近似(通过 \(E_{xc}[\rho]\)) |
| 复杂度 | \(O(N^4)\) | \(O(N^5)\) 到 \(O(N^7)\) | \(O(N^3)\) |
| 适用体系大小 | 100 原子 | 10–20 原子 | 1000+ 原子 |
| 精度 | 晶格 2–5% 偏差 | 化学精度(<1 meV) | 晶格 ~0.5% 偏差,能量 ~10 meV/atom |
KS-DFT 是 "HF 的成本 + 接近后 HF 的精度"——这正是它统治材料/凝聚态/大分子计算的原因。
具体例子:Si 晶格常数¶
| 方法 | 算出的 Si 晶格常数 | 与实验(5.43 Å)的偏差 |
|---|---|---|
| Hartree-Fock | ~5.60 Å | +3.1% (严重偏大) |
| KS-DFT + LDA | 5.40 Å | −0.5% |
| KS-DFT + PBE | 5.47 Å | +0.7% |
| CCSD(T)(如能跑) | ~5.43 Å | <0.1% |
| 实验 | 5.43 Å | —— |
HF 偏差大是因为缺关联;DFT 通过 \(E_{xc}\) 补回大部分。
对本 benchmark 的直接影响¶
TritonDFT benchmark 的 100 种材料——很多是固体、金属、氧化物,原胞含几个到几十个原子。
- HF 能跑但精度不够(偏差 2–5%,远超 benchmark 的 meV/atom 精度档)
- CCSD(T) 跑不动(原胞 > 5 原子就吃不消)
- DFT(KS + LDA/PBE)是唯一可行方案
没有 HK 这个理论基石,就没有 KS-DFT,就没有 TritonDFT 这个 benchmark。所有 100 种材料的参考计算都依赖 HK + KS 框架。
回答追问¶
直接计算化简二处理后的 N 个 3 维波函数不行吗?
行——这就是 Hartree-Fock,30 年代就这么做了。
但代价是: 1. 精度不够(晶格 2–5% 偏差、能量 1 eV/atom 偏差) 2. 要想改进必须多 Slater(CCSD 等),\(O(N^7)\) 复杂度,只能算小分子 3. 没有 HK,你没办法在单 Slater 代价下补关联——那个补丁 \(E_{xc}[\rho]\) 的合法性全靠 HK 保证
所以 HK 的真正贡献不是"新压缩",而是"开启了一条全新路线:保持单 Slater 便宜 + 加密度函数补关联"。没有 HK,你只能在便宜但不准的 HF 和准但昂贵的 CCSD 之间二选一;有 HK 才有 DFT 这个"便宜 + 准"的中间选项。
本轮 2 个问题速览¶
| # | 主题 | 核心 |
|---|---|---|
| Q1 | HK 是常数项优化还是理论基石 | 存储角度 ~16 倍(常数项);理论角度是变量身份根本转换——为 KS 提供合法性,类同万能逼近定理对深度学习 |
| Q2 | 没 HK 直接算 N 个轨道不行吗 | 这就是 Hartree-Fock!但 HF 缺关联(能量偏差 ~eV/atom);改进必须多 Slater(\(O(N^7)\),只能小分子);HK 让"单 Slater + \(\rho\) 补关联"合法,开启 DFT 这个"便宜 + 准"的中间路线 |
Q3:这一步(化简 3 / HK)有 LLM 或 agent 需要处理的部分吗?¶
直接层面:几乎没有。HK 是纯理论定理(存在性证明),不对应任何 QE 输入参数。
间接层面:这是 LLM 最重要的"元能力"之一——它决定了 LLM 会不会选错工具 或 给出物理上离谱的结果。
直接层面:HK 没对应 QE 参数¶
对比其他化简的 LLM 任务:
| 化简 | QE 参数 | LLM 任务 |
|---|---|---|
| 化简 1 BO | ATOMIC_POSITIONS |
给出合理核位置 |
| 化简 2 Slater | nspin, starting_magnetization, nbnd, occupations, noncolin, lspinorb |
识别磁性/拓扑/金属需求 |
| 化简 3 HK | 无 | (见下:间接元能力) |
| 化简 4 KS | mixing_beta, diagonalization, electron_maxstep |
SCF 稳定性调参 |
| 化简 5 XC | input_dft, pseudo_dir 间接指定泛函 |
选 LDA/PBE/PBEsol/SCAN/HSE06 |
| 化简 6 赝势 | ATOMIC_SPECIES 里的 .upf 文件 |
选赝势库、价电子数 |
HK 定理的成果是"让后面所有步骤合法"——但它本身不暴露给用户/agent 任何调节旋钮。
间接层面:HK 蕴含的"元能力"¶
HK 的合法性保证只在 DFT 的适用范围内有效。LLM 在决定"用不用 DFT 做这个任务"以及"DFT 够用吗,要不要扩展"时,必须隐式地依赖对 HK 精神的理解。
元能力 1:识别 DFT 的适用范围¶
benchmark 的 10 类材料中,DFT 的舒适区 vs 困难区:
| 类别 | DFT 表现 | 蕴含的 LLM 判断 |
|---|---|---|
| 金属(Cu, Al, Na...) | ✅ 好 | 默认 DFT 可 |
| 半导体(Si, GaAs...) | ⚠️ 结构好、带隙低估 | 用 DFT 算结构,但如果要带隙需要 HSE06 或 GW |
| 绝缘体(NaCl, MgO...) | ✅ 好 | DFT 默认 |
| 铁电(BaTiO₃, PbTiO₃) | ✅ 好 | 用 PBEsol(对氧化物更准) |
| 压电 | ✅ 好 | 同上 |
| 磁性氧化物(NiO, MnO, FeO, Cr₂O₃) | ❌ DFT 会把它们算成金属 | 需要 DFT+U 或杂化泛函 |
| 超导体(常规 BCS 类) | ✅ 结构好 | 真正 \(T_c\) 计算需要 EPW(电声耦合) |
| 超导体(高温铜氧化物) | ❌ 强关联,DFT 失败 | 需要 DFT+DMFT |
| 拓扑 | ✅ 好,但必须加 SOC | noncolin + lspinorb + FR 赝势 |
| 热电 | ⚠️ 电子结构好、热导需要声子 | 用 DFT + Boltzmann 输运 |
| 光学 | ⚠️ 介电常数低估 | 需要 TDDFT 或 BSE |
HK 定理只保证"基态物理"——所以: - 激发态(光学、带隙)→ 不严格适用,DFT 系统性低估带隙 - 强关联(NiO, 高温超导)→ 单 Slater + LDA 近似崩溃,需要修正 - 长程色散(vdW)→ 局域泛函捕获不到,需要 +D3 修正
LLM 应该从材料类别推断是否需要 DFT 之外的扩展,否则评分不会对。
元能力 2:选对 XC 泛函(化简 5 的预备判断)¶
HK 说 \(E_{xc}[\rho]\) 存在,但没给具体形式。所以必须在 LDA/PBE/PBEsol/SCAN/HSE06 里选一个——这选择依赖 HK 的"哪些 \(E_{xc}\) 近似在当前体系合理"的预判。
Benchmark prompt 通常指定泛函("Use PBE pseudopotentials"),但 LLM 也可能需要: - 收到"精度 1 meV/atom" 要求 → 选 SCAN 或 HSE06 - 遇到氧化物 + 铁电 → 优先 PBEsol - 遇到 NiO → 识别"PBE 不够,需要 DFT+U"
元能力 3:识别 DFT 失败时的替代方案¶
如果 LLM 不懂 HK 蕴含,可能会: - 对 NiO 强行用 PBE → SCF 收敛到金属解(错) - 对铜氧化物用 DFT → 能带结构定性错误 - 对光学性质强行用 DFT 基态 → 介电函数不可信
TritonDFT benchmark 里,磁性氧化物(NiO, MnO, FeO, Cr₂O₃, Fe₃O₄)就是典型的"DFT 边缘区"——论文里这类通过率 <6%,根因就在这里。
到底 LLM "处理" 了什么¶
严格说,HK 定理对应的 LLM 任务分布在整条化简链上:
| 体现位置 | LLM 做什么 |
|---|---|
| 化简 5 选泛函 | 不同体系选不同 XC(PBE/PBEsol/SCAN/HSE06) |
| 化简 6 选赝势 | 和泛函配对(泛函决定赝势库子目录) |
| 化简 11 SCF 参数 | 强关联体系调小 mixing_beta、大 electron_maxstep |
| Benchmark 任务分类 | 识别"标准 DFT 能做" vs "需要扩展(+U、TDDFT、GW)" |
| 元判断 | 遇到"算出来明显不对"时回溯(比如 NiO 变金属 → 知道加 U) |
所以"有没有 LLM 任务"的答案:
- 直接:HK 本身 = 无
- 间接:HK 蕴含 = 一种贯穿全局的"方法论品位",决定 LLM 能不能选对工具
对 TritonDFT 开发的启发¶
如果你要做 LLM agent 评估,可以设计专门考察"HK 元能力"的题目:
- "用 PBE 算 NiO 会得到什么结论?合理吗?" → 考察是否知道 PBE 算 NiO 错(给金属而非绝缘体)
- "Si 的实验带隙 1.17 eV,你算出 0.6 eV,这是计算错误吗?" → 考察是否知道 DFT 带隙问题(是正常的系统性偏差,不是 bug)
- "光吸收谱用哪种方法?" → 考察是否知道要用 TDDFT 而非稳态 DFT
这些题本质都在考 LLM 对 HK 适用范围的理解。
小结¶
| 层面 | HK 对 LLM 的影响 |
|---|---|
| 直接参数 | 无——HK 不出现在 QE 输入文件 |
| 间接元能力 | 决定 LLM 在化简 5(XC 选择)、化简 11(SCF 调参)、判断任务是否超出 DFT 舒适区上的表现 |
| Benchmark 区分度 | 磁性氧化物 + 拓扑 + 光学三类对 HK 元能力最敏感——这正是通过率低的区域 |
HK 是 "LLM 隐式依赖"而非"LLM 显式操作" 的理论——它塑造 LLM 的判断能力,但不对应具体参数。这类似 ML 里的"选型知识":知道"什么任务用 CNN、什么用 Transformer",但这不是某个具体参数。
本轮 3 个问题速览¶
| # | 主题 | 核心 |
|---|---|---|
| Q1 | HK 是常数项优化还是理论基石 | 存储 ~16 倍(常数项);真正价值是变量身份转换——类同万能逼近定理之于深度学习 |
| Q2 | 没 HK 直接算 N 个轨道不行吗 | 这就是 Hartree-Fock;但缺关联、改进成本 \(O(N^7)\);HK 开启"便宜 + 准"的 DFT 中间路线 |
| Q3 | HK 层面有 LLM 任务吗 | 直接:无;间接:贯穿全局的方法论元能力——识别 DFT 适用范围、选 XC、判断要不要扩展(DFT+U/TDDFT/GW);磁性氧化物 + 光学 + 强关联是这类元能力的主要考场 |