<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[kui的世界]]></title><description><![CDATA[hihihi ！！！]]></description><link>https://akuiro24.xyz</link><image><url>https://akuiro24.xyzhttps://raw.githubusercontent.com/APhysickui/Shiro/main/public/favicon.svg</url><title>kui的世界</title><link>https://akuiro24.xyz</link></image><generator>Shiro (https://github.com/Innei/Shiro)</generator><lastBuildDate>Tue, 14 Jul 2026 09:45:28 GMT</lastBuildDate><atom:link href="https://akuiro24.xyz/feed" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jul 2026 09:45:28 GMT</pubDate><language><![CDATA[zh-CN]]></language><item><title><![CDATA[本征值问题]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Eigenvalue-problem">https://akuiro24.xyz/posts/default/Eigenvalue-problem</a></blockquote><div><h2 id="-">📑 目录</h2><ol start="1"><li><a href="#1-引言本征值问题的物理意义">引言：本征值问题的物理意义</a></li><li><a href="#2-预备知识相似变换与正交矩阵">预备知识：相似变换与正交矩阵</a></li><li><a href="#3-jacobi-方法--逐个消灭非对角元">Jacobi 方法 —— 逐个消灭非对角元</a></li><li><a href="#4-householder-变换--批量消元成三对角">Householder 变换 —— 批量消元成三对角</a></li><li><a href="#5-qr-算法--二十世纪十大算法之一">QR 算法 —— 二十世纪十大算法之一</a></li><li><a href="#6-power-方法幂法与反幂法">Power 方法（幂法）与反幂法</a></li><li><a href="#7-奇异值分解svd">奇异值分解（SVD）</a></li><li><a href="#8-krylov-子空间方法">Krylov 子空间方法</a></li><li><a href="#9-lanczos-迭代">Lanczos 迭代</a></li><li><a href="#10-arnoldi-迭代">Arnoldi 迭代</a></li><li><a href="#11-schrödinger-方程的对角化求解">Schrödinger 方程的对角化求解</a></li><li><a href="#12-dmrg密度矩阵重整化群">DMRG：密度矩阵重整化群</a></li><li><a href="#13-算法对比与总结">算法对比与总结</a></li></ol><p>本质上 主线就是 把物理问题 变成 矩阵的本征值问题，然后利用正交变换把矩阵“变得简单但保证其本征值不变”，再利用迭代法吧本征值计算出来！</p>
<h2 id="1-">1. 引言：本征值问题的物理意义</h2><h3 id="11-">1.1 什么是本征值问题？</h3><p>在量子力学中，任何可以实验测量的物理量都对应一个<strong>算符</strong>，该算符的本征值就是测量可能得到的结果。薛定谔方程本质上是一个本征值问题：</p>
<p>$$
H|\psi\rangle = E|\psi\rangle
$$
<strong>说人话</strong>：给定一个矩阵 $H$（哈密顿量），要找那些满足「矩阵作用上去等于标量相乘」的向量 $|\psi\rangle$ 和对应的数 $E$。</p><h3 id="12-">1.2 量子多体问题中本征值问题的来源</h3><p>如果系统里不是一个粒子，而是很多粒子互相作用，比如：</p><ul><li>原子里的多个电子</li><li>原子核里的多个核子</li><li>量子多体凝聚态系统</li></ul><p>那就没法直接写成一个简单单粒子问题了。通常会走这样一条路：</p><ol start="1"><li>先做一个平均场近似，得到单粒子基</li><li>用这些单粒子基构造多体基态/激发态</li><li>把总波函数展开成很多个组态的线性组合</li><li>把哈密顿量写成这个基下的矩阵</li><li>解这个矩阵的本征值问题</li></ol><p>也就是：</p>
<p>$$</p><p>|\Psi\rangle = \sum<em>I c</em>I |\Phi_I\rangle</p><p>$$
代入 $H|\Psi\rangle = E|\Psi\rangle$，得到</p>
<p>$$
\sum<em>J H</em>{IJ} c<em>J = E c</em>I
$$
即矩阵形式：</p>
<p>$$
H\mathbf{c} = E\mathbf{c}
$$
这里 $H<em>{IJ}=\langle \Phi</em>I|H|\Phi_J\rangle$。</p>
<p>描述量子物理和计算化学中一个经典的套路：<strong>如果利用计算机去求解有多个粒子互相影响的复杂系统</strong> （比如原子里的多个电子，或者原子核里的多个质子与中子）</p><p>“组态相互作用”（Configuration Interaction） 或者 精确对角化法</p><pre class=""><code class="">独立粒子图像    → 残余相互作用  → 组态混合    → 对角化
(Mean Field)    (Residual)    (CI)        (Diagonalization)
</code></pre>
<p><strong> 核心链条</strong>：</p><table><thead><tr><th> 步骤           </th><th> 物理含义                                     </th><th> 数学操作                                  </th></tr></thead><tbody><tr><td> ① 平均场近似   </td><td> 每个粒子独立运动在平均势场中                 </td><td> 得到单粒子基                              </td></tr><tr><td> ② 组态空间构建 </td><td> 多体波函数 = Slater 行列式（组态）的线性组合 </td><td> Fock 空间展开                             </td></tr><tr><td> ③ 哈密顿量矩阵 </td><td> 在组态基下写出 $H$ 的矩阵表示                </td><td> $H<em>{ij} = \langle \Phi</em>i</td><td>H</td><td>\Phi_j\rangle$ </td></tr><tr><td> ④ 对角化       </td><td> 求本征值和本征矢                             </td><td> <strong>这就是本征值问题！</strong>                    </td></tr></tbody></table><p>💡 <strong>物理直觉</strong>：组态空间（Fock 空间）是不同粒子数 Hilbert 空间的直和。组态混合（Configuration Mixing）——多体关联/纠缠——最终都归结为「在一个巨大矩阵中求本征值」。排列组合使得组态空间极其巨大，例如 $N$ 个粒子分布在 $M$ 个轨道上，组态数呈指数增长。</p><h3 id="13-">1.3 本征值问题的数学本质</h3><p>对于 $n \times n$ 矩阵 $A$，求标量 $\lambda$ 和非零向量 $\mathbf{x}$ 使得：</p><p>$$A\mathbf{x} = \lambda\mathbf{x}$$</p><p>等价于解特征方程：</p><p>$$\det(A - \lambda I) = 0$$</p><p><strong>数值例子</strong>（2×2 矩阵）：</p><p>$$
A = \begin{bmatrix} 3 &amp; 2 \ 2 &amp; 3 \end{bmatrix}
$$</p><p>$$\det\begin{bmatrix} 3-\lambda &amp; 2 \ 2 &amp; 3-\lambda \end{bmatrix} = (3-\lambda)^2 - 4 = \lambda^2 - 6\lambda + 5 = 0$$</p><p>得 $\lambda<em>1 = 5,\ \lambda</em>2 = 1$。</p><p>💡 但是！对于 $n &gt; 4$，直接展开行列式求根是数值灾难——这就是我们需要各种迭代算法的原因。</p><p>特征多项式数值上非常不划算！</p><p>多项式系数会涉及大量相消，高次根对于系数变化非常敏感，直接展开很不稳定，对大矩阵完全不现实！！！</p><hr/><h2 id="2-">2. 预备知识：相似变换与正交矩阵</h2><h3 id="21-">2.1 相似变换保持本征值不变</h3><p>如果 $B = S^{-1}AS$，则 $A$ 和 $B$ 有相同的本征值。</p><p><strong>说人话</strong>：用<strong>矩阵 $S$ 对 $A$ 做「换个坐标系」的操作，本征值不变，只是本征矢跟着变</strong>。</p><p><strong>验证</strong>（数值例子）：</p><p>$$
A = \begin{bmatrix} 4 &amp; 1 \ 2 &amp; 3 \end{bmatrix},\quad S = \begin{bmatrix} 1 &amp; 1 \ 0 &amp; 1 \end{bmatrix},\quad S^{-1} = \begin{bmatrix} 1 &amp; -1 \ 0 &amp; 1 \end{bmatrix}
$$</p><p>$$
B = S^{-1}AS = \begin{bmatrix} 1 &amp; -1 \ 0 &amp; 1 \end{bmatrix} \begin{bmatrix} 4 &amp; 1 \ 2 &amp; 3 \end{bmatrix} \begin{bmatrix} 1 &amp; 1 \ 0 &amp; 1 \end{bmatrix} = \begin{bmatrix} 2 &amp; 0 \ 2 &amp; 5 \end{bmatrix}
$$</p><p>$A$ 的本征值：$\det(A-\lambda I) = (4-\lambda)(3-\lambda)-2=0 \Rightarrow \lambda=2,5$
$B$ 的本征值：对角元即为 $2, 5$（上三角矩阵的本征值就是对对角元）。✓</p><h3 id="22---">2.2 实对称矩阵 → 实正交相似对角化</h3><p>如果 A 是 实对称矩阵，那么有谱定理：</p>
<ul><li>本征值都是实数 借助定义直接去证明</li><li>不同本征值对应的本征矢正交  利用对称矩阵 $A=A^T$的性质，在内积运算中“转移”矩阵 A 的作用</li><li>存在正交矩阵 Q ，使得</li></ul><p>$$
Q^{T} A Q = \Lambda
$$
其中这个 $\Lambda$ 是对角矩阵， 对角元就是本征值！</p><p>证明：使用数学归纳法，每次找一个特征向量，把空间降维，并保证降维后的子矩阵依然对称</p>
<p>为什么 PCA（主成分分析）、图神经网络（GNN）、量子力学、流形学习等算法都死死抱住实对称矩阵不放？</p><ol start="1"><li><strong>物理/几何意义明确</strong>：对称矩阵代表二次型 $x^TAx$（如能量、方差）。谱定理告诉我们，总可以通过旋转坐标系（正交矩阵 Q ），消除交叉项，找到事物的“主成分”（对角元 $Λ$）。</li><li><strong>计算极其稳定</strong>：一般矩阵对角化 $A=PΛP^{−1}$ 中，P可能是病态的（条件数很大），求逆会放大误差。而对称矩阵的 Q是正交矩阵，$Q^{−1}=Q^T$，<strong>转置计算不仅没有误差，而且速度极快</strong>。</li><li><strong>降维与截断</strong>：在算法中，我们常常只取前 k 个最大的特征值（因为对称矩阵的特征值是实数，可以比大小！）。由于特征向量正交，这前 k个方向保留了数据中最大的“能量”或“信息量”，且彼此不相关。</li></ol><p>简而言之，实对称矩阵的谱定理保证了：<strong>复杂的世界（一般矩阵）可以通过旋转（正交变换），被拆解为几个相互独立、互不干扰的简单方向（对角矩阵）。</strong> 这就是它在科学计算中拥有统治地位的原因。</p><p><strong>关键定理</strong>：若 $A$ 是实对称矩阵，则存在<strong>实正交矩阵</strong> $S$（即 $S^T S = I$），使得 $S^T A S$ 为对角矩阵，对角元就是本征值。</p><table><thead><tr><th> 矩阵类型   </th><th> 对角化形式                </th><th> 变换矩阵性质              </th></tr></thead><tbody><tr><td> A一般方阵  </td><td> $S^{-1}AS = \Lambda$      </td><td> $S$ 可逆                  </td></tr><tr><td> A实对称    </td><td> $S^T AS = \Lambda$        </td><td> $S$ 正交 $(S^T = S^{-1})$ </td></tr><tr><td> A为Hermite </td><td> $U^\dagger A U = \Lambda$ </td><td> $U$ 酉矩阵                </td></tr></tbody></table><hr/><h2 id="3-jacobi---">3. Jacobi 方法 —— 逐个消灭非对角元</h2><h3 id="31-">3.1 核心思想</h3><blockquote><p>一次干掉一个<strong>最大的非对角元素</strong>，用 Givens 旋转矩阵做相似变换。迭代到所有非对角元都接近零。</p></blockquote>
<p>最直观的对称矩阵对角化的方法！</p><p>每次只处理一个非对角元 $a_{pq}$  借助一个平面旋转将其消掉，如果把矩阵看成一个房间， Jacobi 就像每次只把一个歪掉的方向修正！</p><p> <strong>人话版</strong>：就像拧魔方，每次只转一个面，转完检查还有哪里不对，再转下一面，直到六面全对齐。</p><h3 id="32-givens-">3.2 Givens 旋转矩阵</h3><p>Givens 旋转 $P(p,q,\theta)$ 只在第 $p,q$ 行/列上做旋转，其他位置保持单位矩阵：</p><p>$$
P = \begin{bmatrix}
1 &amp; &amp; &amp; &amp; \
&amp; \ddots &amp; &amp; &amp; \
&amp; &amp; \cos\theta &amp; \cdots &amp; -\sin\theta \
&amp; &amp; \vdots &amp; 1 &amp; \vdots \
&amp; &amp; \sin\theta &amp; \cdots &amp; \cos\theta \
&amp; &amp; &amp; &amp; &amp; \ddots &amp; \
&amp; &amp; &amp; &amp; &amp; &amp; 1
\end{bmatrix}
\quad \text{——} \quad P<em>{pp}=P</em>{qq}=\cos\theta,\ P<em>{pq}=-P</em>{qp}=-\sin\theta
$$</p><p>$P$ 是正交矩阵（$P^T P = I$）</p><p>对称矩阵 做这样的相似变换：</p>
<p>$$
A&#x27; = P^{T} A P
$$
可以保持对称性和本征值不变！！！</p><h3 id="33--apq">3.3 消灭非对角元 $a_{pq}$</h3><p>对于对称矩阵 $A$，做相似变换 $A&#x27; = P^T A P$：</p><p>变换后对应的非对角项  $a&#x27;<em>{pq} = a&#x27;</em>{qp}$  变为（选 $\theta$ 使得这个位置 = 0）：</p>
<p>$$
\tan 2\theta = \frac{2a<em>{pq}}{a</em>{pp} - a_{qq}}
$$
选择较小的根确保 $|\theta| \leq \pi/4$。</p><p><strong>具体数值例子</strong>：
$$
A = \begin{bmatrix} 3 &amp; 1 \ 1 &amp; 3 \end{bmatrix},\quad a<em>{pq}=1,\ a</em>{pp}=a_{qq}=3
$$</p><p>$$
\tan 2\theta = \frac{2 \times 1}{3-3} = \infty \quad\Rightarrow\quad 2\theta = \frac{\pi}{2},\ \theta = \frac{\pi}{4}
$$</p><p>$$
\cos\theta = \sin\theta = \frac{1}{\sqrt{2}},\quad
P = \begin{bmatrix} 1/\sqrt{2} &amp; -1/\sqrt{2} \ 1/\sqrt{2} &amp; 1/\sqrt{2} \end{bmatrix}
$$</p><p>$$
A&#x27; = P^T A P = \begin{bmatrix} 4 &amp; 0 \ 0 &amp; 2 \end{bmatrix}
$$</p><p>一次旋转直接对角化！本征值 $4, 2$。</p><h3 id="34-">3.4 算法流程</h3><ol start="1"><li>找一个大的非对角元 $a_{pq}$</li><li>算旋转角 $\theta$</li><li>构造旋转矩阵 $P$</li><li>做 $A \leftarrow P^TAP$</li><li>重复，直到所有非对角元都足够小</li></ol><p>最后对角元就是本征值。</p><pre class=""><code class="">1. 找到 |a_pq| 最大的非对角元 (p≠q)
2. 计算旋转角 θ：tan(2θ) = 2a_pq / (a_pp - a_qq)
3. 构造 Givens 旋转矩阵 P
4. 做相似变换：A ← P^T A P
5. 重复直到 max|非对角元| &lt; ε
6. 对角元即为本征值
</code></pre>
<h3 id="35-jacobi">3.5 Jacobi的优缺点</h3><p>优点：思路直观 对称矩阵上作用很稳定 适合进行并行运算</p><p>缺点：每次只能消去一个非对角元，效率并不高！ 对大矩阵不如QR快</p><p>适合 <em>较小规模稠密矩阵，或者需要进行并行化的场景</em></p><h3 id="36--jacobi-">3.6 并行 Jacobi 方法</h3><p><strong>怎么变？</strong> 用<strong>旋转（Rotation）</strong>。
想象你在二维平面上旋转坐标轴。比如你选中第1行和第2行交叉的那个数 a12，做一次旋转，就能把这个 a12 精准地变成0。</p><p><strong>但是</strong>，当你把(1,2)位置变成0后，刚才已经消成0的(1,3)位置可能又变成非0了（牵一发而动全身）。所以你得不停地扫荡整个矩阵，反复消。</p><p>既然要消很多次，那我同时消 a12<em>a</em>12 和 a34<em>a</em>34 行不行？<strong>答案是：可以，但有严格条件。</strong></p><p>并行加速，我们必须把所有的旋转操作<strong>分组</strong>。同一组里的旋转，涉及的行号列号必须<strong>完全不重叠</strong>（不然会冲突，比如想要同时消去 12和13位置，都涉及到了第一行，改第一行的时候，会影响另一个操作的数据；如果是12和34，完全不重叠，互不影响，可以同时消去）</p><p><strong>标准结论</strong>是：
 对 $n$ 个变量的完全配对，可以分成大约 $n-1$ 轮，每轮里有若干个互不冲突的旋转，能并行执行。</p><p>对于一个 n阶矩阵，总共有 n(n−1)/2个非对角元素需要消（也就是所有配对）。</p><ul><li>因为每次并行旋转需要 n/2 对（比如8个变量，一次并行做4对，正好把1~8全用上）。</li><li>总对数 ÷ 每轮并行对数 = n-1  轮。</li></ul><p><strong>所以，标准结论是 n−1 轮。</strong></p><p>对于 $n=2m$，可以分出 $2m-1$ 个选择集，每个集有 $m$ 个互不冲突的旋转（即旋转指标全不同），可以并行分配。</p><p><strong>$n=8$ 的分组示例</strong>（7 组，每组 4 个旋转，可分配给 4 个处理器）：</p><table><thead><tr><th> 组   </th><th> 旋转对                     </th></tr></thead><tbody><tr><td> 1    </td><td> (1,2), (3,4), (5,6), (7,8) </td></tr><tr><td> 2    </td><td> (1,3), (2,4), (5,7), (6,8) </td></tr><tr><td> ...  </td><td> ...                        </td></tr><tr><td> 7    </td><td> (1,8), (2,7), (3,6), (4,5) </td></tr></tbody></table>
<p>💡 <strong>算法特点</strong>：简单直观，但每次只消一个元素，收敛较慢。</p><p>收敛较慢主要是 只消一个非对角，同时之前消去的还可能会被再次污染回来，相比之下，现在的算法（分而治之，QR算法）都是一次性处理大块数据！</p><p>适合小型稠密矩阵。<strong>Jacobi 天然适合并行</strong>！ 极其稳定 计算量完全可以预测</p><hr/><h2 id="4-householder---">4. Householder 变换 —— 批量消元成三对角</h2><h3 id="41-">4.1 核心思想</h3><p>我们知道理论上 实对称矩阵一定是可以被正交对角化的 但直接一步求出来用于对角化的正交矩阵Q是很难，所以数值算法通常选择线借助 Householder变换将原本实对称矩阵A变成 T（三对角矩阵） 然后再利用 QR算法 算出来A</p><p>三对角：只保留了主对角线和上下两条次对角线！！！</p><p>元素数量从 $O(n^{2}) -&gt; O(n)$ 后续的迭代算法会快很多！</p><blockquote><p>用一个正交反射变换 <strong>一次消灭一整列</strong>的非对角元，把对称矩阵变成三对角形式。</p></blockquote>
<p><strong>对比 Jacobi</strong>：</p><table><thead><tr><th>                    </th><th> Jacobi       </th><th> Householder                    </th></tr></thead><tbody><tr><td> 每次消灭           </td><td> 1 个非对角元 </td><td> 一整列非对角元                 </td></tr><tr><td> 结果               </td><td> 对角矩阵     </td><td> 三对角矩阵                     </td></tr><tr><td> 适用               </td><td> 小矩阵       </td><td> 中大型矩阵                     </td></tr><tr><td> 是否直接得到本征值 </td><td> 是（对角元） </td><td> 否（需进一步对角化三对角矩阵） </td></tr></tbody></table><h3 id="42-householder-">4.2 Householder 反射矩阵</h3><p>给定单位向量 $\mathbf{w}$（$\mathbf{w}^T\mathbf{w}=1$），构造反射矩阵：</p>
<p>$$
P = I - 2\mathbf{w}\mathbf{w}^T
$$</p>
<p>展开为矩阵元形式（设 $\mathbf{w} = (w<em>1, w</em>2, \ldots, w_n)^T$）：</p>
<p>$$
P<em>{ij} = \delta</em>{ij} - 2w<em>i w</em>j = \begin{cases}
1 - 2w<em>i^2, &amp; i=j \
-2w</em>i w_j, &amp; i \neq j
\end{cases}
$$</p><p><strong>几何意义</strong>：$P$ 将任意向量 $\mathbf{v}$ 变成它关于超平面（法向量为 $\mathbf{w}$）的<strong>镜像反射</strong></p><p>任意向量 $v$ 可以分解成两部分：</p>
<p>$$
v=v<em>\parallel+v</em>\perp.
$$
其中 $v_\parallel$ 是沿 $w$ 方向的分量：</p>
<p>$$
v_\parallel=w(w^Tv),
$$
而垂直于 $w$ 的部分是：</p>
<p>$$
v_\perp=v-w(w^Tv).
$$
Householder 作用在 $v$ 上：</p>
<p>$$
Pv=(I-2ww^T)v=v-2w(w^Tv).
$$
代入分解：</p>
<p>$$
v=v<em>\parallel+v</em>\perp,
$$
且</p>
<p>$$
v_\parallel=w(w^Tv),
$$
所以</p>
<p>$$
Pv=v<em>\parallel+v</em>\perp-2v<em>\parallel
=v</em>\perp-v_\parallel.
$$
也就是说：</p><ul><li>垂直于 $w$ 的分量保持不变；</li><li>沿 $w$ 的分量反号。</li></ul><p>这正是关于法向量为 $w$ 的超平面的镜像反射。</p>
<p>$$
P\mathbf{v} = \mathbf{v} - 2\mathbf{w}(\mathbf{w}^T\mathbf{v})
$$</p>
<p><strong>性质</strong>：$P$ 是对称的、正交的（$P = P^T = P^{-1}$）</p><h3 id="43--mathbfw-">4.3 构造 $\mathbf{w}$ 的方法</h3><p>目标：给定向量 $\mathbf{v}$，找一个反射矩阵 $P$ 使 $P\mathbf{v} = \alpha\mathbf{e}_1$（即 $P\mathbf{v}$ 只有第一个分量非零）</p><p><strong>构造步骤</strong>：</p><p>首先就是 P 是正交矩阵，所以它保持了向量长度！
$$
\alpha = \pm|\mathbf{v}| = \pm\sqrt{v<em>1^2 + v</em>2^2 + \cdots + v_n^2}
$$</p><blockquote><p>符号选取：取 $\alpha$ 与 $v_1$ 反号，避免相近数相减导致精度损失。</p><p>构造 Householder 向量时，会用到：</p>
<p>$$
u=v-\alpha e<em>1.
$$
如果 $\alpha$ 与 $v</em>1$ 同号，且 $|\alpha|\approx |v_1|$，那么第一个分量</p>
<p>$$
v_1-\alpha
$$
会发生相近数相减，造成严重精度损失。</p><p>所以数值上通常选：</p>
<p>$$
\alpha=-\operatorname{sign}(v<em>1)|v|.
$$
如果 $v</em>1&gt;0$，取</p>
<p>$$
\alpha=-|v|.
$$
如果 $v_1&lt;0$，取</p>
<p>$$
\alpha=+|v|.
$$
这样</p>
<p>$$
v_1-\alpha
$$
的绝对值会变大，数值更稳定。</p></blockquote>
<h4 id="-omega-">推导 $\omega$ 的公式</h4><p>令</p>
<p>$$
u=v-\alpha e_1.
$$
然后令</p>
<p>$$
w=\frac{u}{|u|}.
$$
于是</p>
<p>$$
P=I-2ww^T.
$$
我们要证明：</p>
<p>$$
Pv=\alpha e_1.
$$
先计算</p>
<p>$$
u^Tv=(v-\alpha e_1)^Tv.
$$
展开：</p>
<p>$$
u^Tv=v^Tv-\alpha e_1^Tv.
$$
其中</p>
<p>$$
v^Tv=|v|^2=\alpha^2,
$$
因为 $|\alpha|=|v|$，而</p>
<p>$$
e<em>1^Tv=v</em>1.
$$
所以</p>
<p>$$
u^Tv=\alpha^2-\alpha v_1.
$$
再计算</p>
<p>$$
u^Tu=(v-\alpha e<em>1)^T(v-\alpha e</em>1).
$$
展开：</p>
<p>$$
u^Tu=v^Tv-2\alpha e<em>1^Tv+\alpha^2 e</em>1^Te_1.
$$
即</p>
<p>$$
u^Tu=\alpha^2-2\alpha v_1+\alpha^2.
$$
所以</p>
<p>$$
u^Tu=2(\alpha^2-\alpha v_1).
$$
因此</p>
<p>$$
|u|=\sqrt{2(\alpha^2-\alpha v_1)}.
$$
于是</p>
<p>$$
w=\frac{v-\alpha e<em>1}{\sqrt{2(\alpha^2-\alpha v</em>1)}}.
$$
可以验证 $\mathbf{w}^T\mathbf{w} = 1$，且 $P = I - 2\mathbf{w}\mathbf{w}^T$ 满足 $P\mathbf{v} = \alpha\mathbf{e}_1$。</p><p><strong>数值例子</strong>：设 $\mathbf{v} = (2, 2, 1)^T$</p><ol start="1"><li>$|\mathbf{v}| = \sqrt{4+4+1} = 3$</li><li>$v<em>1 = 2 &gt; 0$，取 $\alpha = -3$（与 $v</em>1$ 反号）</li><li>$\mathbf{v} - \alpha\mathbf{e}_1 = (2, 2, 1)^T - (-3, 0, 0)^T = (5, 2, 1)^T$</li><li>$\mathbf{w}^T\mathbf{v} = \frac{v_1 - \alpha}{2} = \frac{2 - (-3)}{2} = 2.5$</li><li>$\mathbf{w} = \frac{(5, 2, 1)^T}{\sqrt{2 \times (-3)^2 - \cdots}}$（具体计算略）</li><li>最终 $P\mathbf{v} = (-3, 0, 0)^T$ ✓</li></ol><h3 id="44-householder-">4.4 Householder 三对角化算法</h3><p>现在考虑一个 $n\times n$ 实对称矩阵：</p>
<p>$$
A=A^T.
$$
我们希望通过一系列正交相似变换：</p>
<p>$$
A^{(k+1)}=H<em>k^TA^{(k)}H</em>k,
$$
把它变成三对角矩阵。</p><p>因为 $H_k$ 正交，所以本征值不变。</p><p>对 $n \times n$ 对称矩阵 $A$，经过 $n-2$ 次 Householder 变换：</p><pre class=""><code class="">for k = 1 to n-2:
    取 A 的第 k 列第 k+1 到 n 行作为向量 v
    构造 Householder 矩阵 P_k（大小为 n-k）
    用 P_k 对 A 做相似变换（扩充为 n×n 的块对角形式）
end
</code></pre>
<p><strong>效果</strong>：对称 $A$ → 三对角矩阵 $T$</p><p>$$
T = \begin{bmatrix}
\alpha<em>1 &amp; \beta</em>1 &amp; &amp; &amp; \
\beta<em>1 &amp; \alpha</em>2 &amp; \beta<em>2 &amp; &amp; \
&amp; \beta</em>2 &amp; \alpha<em>3 &amp; \ddots &amp; \
&amp; &amp; \ddots &amp; \ddots &amp; \beta</em>{n-1} \
&amp; &amp; &amp; \beta<em>{n-1} &amp; \alpha</em>n
\end{bmatrix}
$$</p><p>💡 如果 $A$ 不对称，则变换成 <strong>上 Hessenberg 矩阵</strong>（下三角除次对角线外全为零）</p><h4 id="">详细展开过程</h4><p>设</p>
<p>$$
A=
\begin{bmatrix}
a<em>{11} &amp; a</em>{12} &amp; a<em>{13} &amp; \cdots &amp; a</em>{1n}\
a<em>{21} &amp; a</em>{22} &amp; a<em>{23} &amp; \cdots &amp; a</em>{2n}\
a<em>{31} &amp; a</em>{32} &amp; a<em>{33} &amp; \cdots &amp; a</em>{3n}\
\vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; \vdots\
a<em>{n1} &amp; a</em>{n2} &amp; a<em>{n3} &amp; \cdots &amp; a</em>{nn}
\end{bmatrix}.
$$
因为 $A$ 对称，所以第一列下面是：</p>
<p>$$
\begin{bmatrix}
a<em>{21}\a</em>{31}\ \vdots\a<em>{n1}
\end{bmatrix}.
$$
我们希望保留 $a</em>{21}$，把 $a<em>{31},\ldots,a</em>{n1}$ 全部消掉，使第一列变成：</p>
<p>$$
\begin{bmatrix}
a<em>{11}\
\beta</em>1\
0\
\vdots\
0
\end{bmatrix}.
$$
取子向量：</p>
<p>$$
v=
\begin{bmatrix}
a<em>{21}\a</em>{31}\ \vdots\a<em>{n1}
\end{bmatrix}.
$$
构造一个 $(n-1)\times(n-1)$ 的 Householder 矩阵 $P</em>1$，使得：</p>
<p>$$
P<em>1v=
\begin{bmatrix}
\beta</em>1\0\ \vdots\0
\end{bmatrix}.
$$
然后<strong>把它扩展成 $n\times n$ 矩阵</strong>：</p>
<p>$$
H<em>1=
\begin{bmatrix}
1&amp;0\
0&amp;P</em>1
\end{bmatrix}.
$$
做相似变换：
$$
A^{(2)}=H<em>1^TAH</em>1.
$$
由于 $H<em>1=H</em>1^T$，也可写成：
$$
A^{(2)}=H<em>1AH</em>1.
$$
这会把第一列的第 3 到第 $n$ 个元素消掉。</p><p>由于<strong>变换是对称相似变换，矩阵仍然对称，因此第一行对应的第 3 到第 $n$ 个元素也同时为 0。</strong></p><p>于是第一行/列已经满足三对角结构。</p><hr/><h2 id="414-">4.14 第二步及以后</h2><p>第二步不再动第一行第一列。</p><p>我们取第 2 列从第 3 行到第 $n$ 行的子向量：</p>
<p>$$
v=
\begin{bmatrix}
a<em>{32}^{(2)}\
a</em>{42}^{(2)}\
\vdots\
a<em>{n2}^{(2)}
\end{bmatrix}.
$$
构造 $(n-2)\times(n-2)$ 的 Householder 矩阵 $P</em>2$，扩展为：</p>
<p>$$
H<em>2=
\begin{bmatrix}
I</em>2&amp;0\
0&amp;P_2
\end{bmatrix}.
$$
然后做：</p>
<p>$$
A^{(3)}=H<em>2^TA^{(2)}H</em>2.
$$
这样第 2 列中第 4 行以下的元素都被消掉。</p><p>继续这个过程，直到第 $n-2$ 步。</p><p>n-2是因为 每k列只需要消掉 第k+2行 以下的元素</p><p>当 k = n - 2的时候，最后两列已经自然满足三对角</p><p>还有核心就是 后边的变换并不会破坏前面的0，就是每次构造矩阵的时候，我们把左上角构造成 单元矩阵 得以 保证已经做好的三对角零结构不会被破坏！</p><h3 id="45-">4.5 三对角矩阵的求解</h3><ul><li>如果某个 $\beta_i = 0$，矩阵可以<strong>分裂</strong>成两个更小的独立块分别对角化</li><li>然后用 Jacobi 或 QR 算法对角化三对角矩阵</li><li><strong>计算量</strong>：Householder 三对角化 ≈ $2n^3/3$（不含本征矢）或 $4n^3/3$（含本征矢）</li></ul><hr/><h2 id="5-qr---">5. QR 算法 —— 二十世纪十大算法之一</h2><h3 id="qr">核心：QR分解</h3><p>QR分解 就是把一个矩阵 写成</p>
<p>$$
A = QR
$$
Q：<strong>正交矩阵</strong></p><p>R：上三角矩阵</p><p>如果 A 是 n ✖️ n 非奇异矩阵 则通常可以得到完整的 QR分解</p><h3 id="51-">5.1 核心迭代格式</h3><p>QR 算法是计算矩阵<strong>全部</strong>本征值的最重要算法。</p><p><strong>基本迭代</strong>：</p><p>从</p>
<p>$$
A^{(0)}=A
$$
开始，每一步做 QR 分解：</p>
<p>$$
A^{(k)}=Q^{(k)}R^{(k)}.
$$
然后反过来相乘：</p>
<p>$$
A^{(k+1)}=R^{(k)}Q^{(k)}.
$$
看起来只是把乘法顺序反过来，但关键是它等价于一个正交相似变换。</p><p>因为</p>
<p>$$
A^{(k)}=Q^{(k)}R^{(k)},
$$
左乘 $(Q^{(k)})^T$：</p>
<p>$$
(Q^{(k)})^TA^{(k)}=R^{(k)}.
$$
所以</p>
<p>$$
A^{(k+1)}
=
R^{(k)}Q^{(k)}
=
(Q^{(k)})^TA^{(k)}Q^{(k)}.
$$
因此</p>
<p>$$
A^{(k+1)}
$$
和</p>
<p>$$
A^{(k)}
$$
相似，且由于 $Q^{(k)}$ 正交，所以是正交相似。</p><p>因此每一步都不改变本征值。</p><p><strong>收敛性</strong>：</p><p>$A^{(k)}$ 趋于上三角矩阵（Schur 形式），对角元就是本征值。</p><p>严格证明比较长，但核心直觉可以从幂迭代理解。</p><p>设矩阵可以对角化：</p>
<p>$$
A=X\Lambda X^{-1},
$$
其中</p>
<p>$$
\Lambda=\operatorname{diag}(\lambda<em>1,\ldots,\lambda</em>n),
$$
并假设本征值大小满足：</p>
<p>$$</p><p>|\lambda_1|&gt;|\lambda_2|&gt;\cdots&gt;|\lambda_n|.</p><p>$$
幂法中：</p>
<p>$$
A^k=X\Lambda^kX^{-1}.
$$
因为</p>
<p>$$
\Lambda^k=\operatorname{diag}(\lambda<em>1^k,\ldots,\lambda</em>n^k),
$$
所以高次幂会越来越强调最大本征值对应的方向。</p><p>QR 迭代可以理解成一种“同时幂法”：</p><ul><li>幂法追踪一个向量；</li><li>QR 迭代追踪一组正交基；</li><li>每一步 QR 分解相当于对这组基重新正交化。</li></ul><p>在不断迭代中，正交基逐渐对齐到不变子空间，因此矩阵在这组基下逐渐变成上三角形式，也就是 Schur 形式。</p><p>对于实对称矩阵，上三角 Schur 形式进一步退化为对角矩阵，因为实对称矩阵被正交相似变换后仍然对称，而一个既对称又上三角的矩阵只能是对角矩阵。</p><p><strong>人话版</strong>：</p><ol start="1"><li>把矩阵拆成「正交×上三角」</li><li>把乘积顺序反过来再乘一次</li><li>重复，矩阵就自动趋近对角形</li></ol><h3 id="52-qr---givens-">5.2 QR 分解 —— Givens 旋转法</h3><p>用 $n-1$ 次 Givens 旋转把矩阵消成上三角：</p><p><strong>第 $k$ 次旋转</strong>：选 $P<em>k$ 使 $(P</em>k A_{k-1}^{(1)})$ 的第 $(k, k-1)$ 位置为 0。</p><p>$$\cos\theta<em>{k+1} = c</em>{k+1},\quad \sin\theta<em>{k+1} = s</em>{k+1}$$</p><p>取 $\cos\theta, \sin\theta$ 满足：</p>
<p>$$
\begin{bmatrix} c &amp; s \ -s &amp; c \end{bmatrix} \begin{bmatrix} a<em>{k,k} \ a</em>{k+1,k} \end{bmatrix} = \begin{bmatrix} r_{k,k} \ 0 \end{bmatrix}
$$</p>
<p>给定一个向量的两个分量：
$$
\begin{bmatrix}
a\b
\end{bmatrix},
$$
我们想构造旋转矩阵：
$$
G=
\begin{bmatrix}
c&amp;s\
-s&amp;c
\end{bmatrix},
$$
使得：
$$
G
\begin{bmatrix}
a\b
\end{bmatrix}
=
\begin{bmatrix}
r\0
\end{bmatrix}.
$$</p><hr/><h4 id="-cs">推导 $c,s$</h4><p>计算：
$$
\begin{bmatrix}
c&amp;s\
-s&amp;c
\end{bmatrix}
\begin{bmatrix}
a\b
\end{bmatrix}
=
\begin{bmatrix}
ca+sb\
-sa+cb
\end{bmatrix}.
$$
我们希望第二个分量为 0：
$$
-sa+cb=0.
$$
即
$$
cb=sa.
$$
一个自然选择是：
$$
c=\frac{a}{r},\qquad s=\frac{b}{r},
$$
其中
$$
r=\sqrt{a^2+b^2}.
$$
验证第二个分量：
$$
-sa+cb
=
-\frac{b}{r}a+\frac{a}{r}b
=
0.
$$
第一个分量：
$$
ca+sb
=
\frac{a}{r}a+\frac{b}{r}b
=
\frac{a^2+b^2}{r}
=
r.
$$
所以
$$
G
\begin{bmatrix}
a\b
\end{bmatrix}
=
\begin{bmatrix}
r\0
\end{bmatrix}.
$$</p><h4 id="-a21"><strong>数值例子</strong>（消去 $a_{21}$）：</h4><p>$$
A = \begin{bmatrix} 3 &amp; 2 \ 4 &amp; 1 \end{bmatrix}
$$</p><p>第一列 $(3, 4)^T$，构造 Givens 旋转消去第 2 个分量：</p><p>$$
r = \sqrt{3^2+4^2} = 5,\quad c = \frac{3}{5} = 0.6,\quad s = \frac{4}{5} = 0.8
$$</p><p>$$
P<em>1 = \begin{bmatrix} 0.6 &amp; 0.8 \ -0.8 &amp; 0.6 \end{bmatrix},\quad
R = P</em>1 A = \begin{bmatrix} 5 &amp; 2 \ 0 &amp; 1.4 \end{bmatrix}
$$</p><p>$n-1$ 次旋转后得到 $R$，所有旋转矩阵的转置之积为 $Q$：</p>
<p>$$
Q = P<em>1^T P</em>2^T \cdots P_{n-1}^T
$$</p>
<p>因为</p>
<p>$$
R=PA
$$
所以</p>
<p>$$
A=P^TR
$$
因此
$$
Q=P^T
$$
<strong>与 Jacobi 旋转的区别</strong>：QR 分解中的 Givens 旋转换<strong>不是</strong>相似变换（$P<em>k A$ 而非 $P</em>k^T A P_k$），目的是消成上三角而非对角化。</p>
<h3 id="53-householder--qr-">5.3 Householder 做 QR 分解</h3><p>Givens 每次只消一个元素。Householder 每次可以消掉一整列下方的元素。</p><p>给定矩阵 $A$，第一步取第一列：</p>
<p>$$
x=A<em>{1:n,1}.
$$
构造 Householder 矩阵 $P</em>1$，使得：</p>
<p>$$
P_1x=
\begin{bmatrix}
\alpha\0\ \vdots\0
\end{bmatrix}.
$$
于是</p>
<p>$$
P_1A
$$
的第一列下面全部为零。</p><p>第二步只处理右下角子矩阵，构造：</p>
<p>$$
\begin{bmatrix}
1&amp;0\
0&amp;P_2
\end{bmatrix}.
$$
继续做，最终得到：</p>
<p>$$
P<em>{n-1}\cdots P</em>2P<em>1A=R.
$$
因为每个 $P</em>i$ 都正交，所以它们乘积也正交。</p><p>令</p>
<p>$$
Q=P<em>1P</em>2\cdots P_{n-1},
$$
则</p>
<p>$$
A=QR.
$$
Householder QR 对稠密矩阵通常比 Givens 更高效，因为它每一步消一整列，而不是一个元素一个元素消。</p><p>用 $n-1$ 次 Householder 反射做 QR 分解：</p>
<p>$$
Q = P<em>1 P</em>2 \cdots P<em>{n-1},\quad R = P</em>{n-1} \cdots P<em>2 P</em>1 A,\quad A=QR
$$
💡 Householder 做 QR 分解比 Givens 旋转效率更高。</p>
<h3 id="54-shifted-qr-qr">5.4 加速收敛：Shifted QR（带位移的 QR）</h3><p>基础 QR 迭代：</p>
<p>$$
A<em>k=Q</em>kR_k,
$$
如果本征值很接近，收敛很慢。</p><p>于是引入位移 $\sigma_k$：</p>
<p>$$
A<em>k-\sigma</em>k I=Q<em>kR</em>k,
$$
然后</p>
<p>$$
A<em>{k+1}=R</em>kQ<em>k+\sigma</em>k I.
$$
由</p>
<p>$$
A<em>k-\sigma</em>k I=Q<em>kR</em>k
$$
得：</p>
<p>$$
R<em>k=Q</em>k^T(A<em>k-\sigma</em>k I).
$$
于是</p>
<p>$$
A<em>{k+1}
=
R</em>kQ<em>k+\sigma</em>k I
=
Q<em>k^T(A</em>k-\sigma<em>k I)Q</em>k+\sigma_k I.
$$
展开：</p>
<p>$$
A<em>{k+1}
=
Q</em>k^TA<em>kQ</em>k-\sigma<em>k Q</em>k^TIQ<em>k+\sigma</em>k I.
$$
因为</p>
<p>$$
Q<em>k^TIQ</em>k=I,
$$
所以</p>
<p>$$
A<em>{k+1}
=
Q</em>k^TA<em>kQ</em>k-\sigma<em>k I+\sigma</em>k I
=
Q<em>k^TA</em>kQ_k.
$$
因此带位移 QR 仍然是正交相似变换，本征值不变。</p><p>设某个本征值 $\lambda_j$ 是我们想让它快速收敛出来的对象。</p><p>对</p>
<p>$$
A-\sigma I
$$
而言，本征值变成：</p>
<p>$$
\lambda<em>i-\sigma.
$$
如果 $\sigma$ 接近某个本征值 $\lambda</em>j$，那么</p>
<p>$$</p><p>|\lambda_j-\sigma|</p><p>$$
会很小。</p><p>QR 迭代里，某些次对角元的衰减速度与本征值间隔有关。选择好的 $\sigma$ 可以把某个方向迅速分离出来，使矩阵右下角的次对角元素快速趋近 0。</p><p>一旦某个次对角元满足：</p>
<p>$$</p><p>|a_{i+1,i}|\approx 0,</p><p>$$
矩阵就近似分裂成：</p>
<p>$$
\begin{bmatrix}
A<em>1&amp;*\
0&amp;A</em>2
\end{bmatrix}.
$$
如果矩阵是对称三对角，则更干净地分裂成两个独立块：</p>
<p>$$
\begin{bmatrix}
T<em>1&amp;0\
0&amp;T</em>2
\end{bmatrix}.
$$
这叫 deflation。</p><h4 id="wilkinson-shift">Wilkinson shift</h4><p>对于对称三对角矩阵，常取右下角 $2\times2$ 子块：
$$
\begin{bmatrix}
a&amp;b\
b&amp;d
\end{bmatrix}.
$$
它的本征值为：
$$
\mu_{\pm}
=
\frac{a+d}{2}
\pm
\sqrt{\left(\frac{a-d}{2}\right)^2+b^2}.
$$
Wilkinson shift 取其中更接近 $d$ 的那个。</p><p>一种数值稳定写法是：
$$
\delta=\frac{a-d}{2},
$$
这个公式避免了相近数相减。</p>
<p><strong>选 $\sigma$ 的策略</strong>：取 $A^{(k)}$ 右下角 $2 \times 2$ 子矩阵的本征值中靠近 $A_{nn}$ 的那个。</p><p><strong>数值例子</strong>：</p><p>右下角 $2\times2$ 子矩阵：
$$\begin{bmatrix} a<em>{n-1,n-1}^{(k)} &amp; a</em>{n-1,n}^{(k)} \ a<em>{n,n-1}^{(k)} &amp; a</em>{n,n}^{(k)} \end{bmatrix}$$</p><p>设其本征值为 $\mu<em>1, \mu</em>2$（例如 $1/2 \pm \sqrt{3}/2$），选 $\sigma = \mu$ 中更接近 $a_{nn}$ 的那个。</p>
<h3 id="55-schur-">5.5 Schur 分解</h3><p>对任意 $n \times n$ 方阵复 $A$，存在<strong>酉矩阵</strong> $Q$ 和<strong>上三角矩阵</strong> $U$ 使得：</p>
<p>$$
A = Q U Q^{\dagger}
$$
$U$ 的对角元就是 $A$ 的全部本征值。</p><p>$Q^\dagger Q = Q Q^\dagger = I$。</p><p>💡 QR 算法本质上就是在计算 Schur 分解。对于<strong>不对称矩阵</strong>也可以使用。</p><p>任何复矩阵A，都可以通过“旋转坐标轴” （酉变换），变成一个“上三角矩阵”（对角线是特征值，对角线下面全是0）</p><p>证明思路用数学归纳法。</p><p>对于任意复矩阵 $A$，至少存在一个本征值 $\lambda<em>1$ 和对应单位本征向量 $q</em>1$：</p>
<p>$$
Aq<em>1=\lambda</em>1 q<em>1.
$$
把 $q</em>1$ 扩充成一组标准正交基，需要n个相互垂直的单位向量，把这一堆列向量拼成矩阵 Q1。因为每一列都是单位长且互相垂直，所以 Q1 是<strong>酉矩阵</strong>（Unitary），也就是 $Q<em>1^{†}Q</em>1=I$（旋转坐标轴不改变长度）：</p>
<p>$$
Q<em>1=[q</em>1,q<em>2,\ldots,q</em>n]
$$
因为 $Q_1$ 酉：</p>
<p>$$
Q<em>1^\dagger Q</em>1=I
$$
考察：</p>
<p>$$
Q<em>1^\dagger A Q</em>1
$$
它的第一列是：</p>
<p>$$
Q<em>1^\dagger A q</em>1
=
Q<em>1^\dagger \lambda</em>1 q<em>1
=
\lambda</em>1 Q<em>1^\dagger q</em>1
=
\lambda<em>1 e</em>1.
$$
1、矩阵乘法看列：$Q<em>1^{\dagger}A Q</em>1$ 这个矩阵，乘上 第一列标准基 $e_1$ 就等于取出其第一列，而Q1e1其实就是 Q1矩阵的第一列，就是q1！</p><p>2、带入特征方程</p><p>3、核心就是 $Q<em>1^{\dagger}q</em>1$ 等于多少？</p><p>展开来写就是</p>
<p>$$
Q<em>1^{\dagger}q1 = \begin{bmatrix}q</em>1^{\dagger}
 \q<em>1^{\dagger}
 \q</em>2^{\dagger}
 \\vdots 
 \q_n^{\dagger}</p><p>\end{bmatrix}
 \cdot q<em>1 = 
  \begin{bmatrix}q</em>1^{\dagger}q<em>1
 \q</em>1^{\dagger}q<em>1
 \q</em>2^{\dagger}q<em>1
 \\vdots 
 \q</em>n^{\dagger}q_1</p><p>\end{bmatrix}
$$
进一步，利用标准正交基的性质，得到上述式子其实就是 e1</p><p>于是新矩阵 $Q<em>1^\dagger A Q</em>1$ 的第一列，就是 $\lambda_1$ 开头，下边都是0！</p><p>所以矩阵形状为：</p>
<p>$$
Q<em>1^\dagger A Q</em>1
=
\begin{bmatrix}
\lambda<em>1 &amp; *\
0 &amp; A</em>2
\end{bmatrix}.
$$
然后对右下角 $A_2$ 继续做同样操作。归纳下去，最终得到上三角矩阵。</p><p>QR 算法本质上就是在数值逼近这个 Schur 分解。</p><h3 id="56-">5.6 广义本征值问题</h3><p>广义本征值问题是：</p>
<p>$$
Ax=\lambda Bx.
$$
假设：</p>
<p>$$
A=A^T,\qquad B=B^T,\qquad B&gt;0.
$$
因为 $B$ 对称正定，可以做 Cholesky 分解：</p>
<p>$$
B=LL^T.
$$
原方程：</p>
<p>$$
Ax=\lambda LL^Tx.
$$
令</p>
<p>$$
y=L^Tx.
$$
则</p>
<p>$$
x=L^{-T}y.
$$
代回：</p>
<p>$$
A L^{-T}y=\lambda L y.
$$
左乘 $L^{-1}$：</p>
<p>$$
L^{-1}AL^{-T}y=\lambda y.
$$
定义</p>
<p>$$
C=L^{-1}AL^{-T}.
$$
则：</p>
<p>$$
Cy=\lambda y.
$$
而且 $C$ 是对称的：</p>
<p>$$
C^T=(L^{-1}AL^{-T})^T
=
L^{-1}A^TL^{-T}
=
L^{-1}AL^{-T}
=
C.
$$
因此广义对称本征值问题被化成了标准对称本征值问题。</p><p>求出 $y$ 后，原问题的本征向量是：
$$
x=L^{-T}y.
$$
求解 $A\mathbf{x} = \lambda B\mathbf{x}$，其中 $A, B$ 对称且 $B$ 正定。</p><p><strong>处理方法</strong>：做 Cholesky 分解 $B = LL^T$，化为标准本征值问题：</p>
<p>$$
C = L^{-1} A (L^{-1})^T
$$
$C$ 是对称矩阵，其本征值即原问题的本征值，但本征矢需要回代：</p>
<p>$$
\mathbf{y} = (L^{-1})^T \mathbf{x}
$$</p>
<p>💡 <strong>$B^{-1}A$ 不对称</strong>，不能直接做。通过 Cholesky 变换保对称性。</p><hr/><h2 id="6-power-">6. Power 方法（幂法）与反幂法</h2><h3 id="61---">6.1 幂法 —— 求最大本征值</h3><p><strong>核心思想</strong>：设本征值排列 $|\lambda<em>1| &gt; |\lambda</em>2| \geq \cdots \geq |\lambda_n|$，任意初始向量 $\mathbf{x}^{(0)}$ 在本征矢基下展开：</p><p>$$
\mathbf{x}^{(0)} = c<em>1\mathbf{v}</em>1 + c<em>2\mathbf{v}</em>2 + \cdots + c<em>n\mathbf{v}</em>n
$$</p>
<p>反复左乘 $A$：</p>
<p>$$
\mathbf{x}^{(k)} = A^k \mathbf{x}^{(0)} = c<em>1\lambda</em>1^k \mathbf{v}<em>1 + c</em>2\lambda<em>2^k \mathbf{v}</em>2 + \cdots
$$
当 $k$ 很大时，$\lambda<em>1^k$ 主导（假设 $c</em>1 \neq 0$）：</p>
<p>$$
\mathbf{x}^{(k)} \approx c<em>1\lambda</em>1^k \mathbf{v}_1
$$
<strong>说人话</strong>：不断被矩阵乘，向量方向会被拽到「最大本征值对应的本征矢方向」上。</p><h3 id="62-">6.2 算法步骤（带归一化）</h3><p>如果 $|\lambda_1|&gt;1$，那么</p>
<p>$$
|A^kx^{(0)}|
$$
会指数增长，导致数值溢出。</p><p>如果 $|\lambda_1|&lt;1$，则会指数衰减，导致下溢。</p><p>所以每步都做归一化：</p>
<p>$$
y^{(k)}=Ax^{(k-1)},
\
\space
\
x^{(k)} = \frac{y^{(k)}}{||y^{(k)}||}
$$</p><pre class=""><code class="">x_0 = 任意非零向量
for k = 1, 2, ...:
    y_k = A x_{k-1}           ← 矩阵乘向量
    λ_k = max(|y_k|) 的分量   ← 近似最大本征值
    x_k = y_k / λ_k           ← 归一化，防止溢出
end
</code></pre>
<p><strong>数值例子</strong>（3×3 矩阵）：</p><p>$$
A = \begin{bmatrix} 2 &amp; 1 &amp; 0 \ 1 &amp; 2 &amp; 1 \ 0 &amp; 1 &amp; 2 \end{bmatrix},\quad
\mathbf{x}^{(0)} = \begin{bmatrix} 1 \ 0 \ 0 \end{bmatrix}
$$</p><table><thead><tr><th> 迭代 </th><th> $\mathbf{y}$      </th><th> $\lambda$ </th><th> $\mathbf{x}$      </th></tr></thead><tbody><tr><td> 0    </td><td> —                 </td><td> —         </td><td> $(1, 0, 0)^T$     </td></tr><tr><td> 1    </td><td> $(2, 1, 0)^T$     </td><td> 2         </td><td> $(1, 0.5, 0)^T$   </td></tr><tr><td> 2    </td><td> $(2.5, 2, 0.5)^T$ </td><td> 2.5       </td><td> $(1, 0.8, 0.2)^T$ </td></tr><tr><td> 3    </td><td> $(2.8, 2.8, 1)^T$ </td><td> 2.8       </td><td> $(1, 1, 0.357)^T$ </td></tr><tr><td> ...  </td><td> ...               </td><td> ...       </td><td> → 趋近最大本征矢  </td></tr></tbody></table><p>精确最大本征值：$\lambda_{\max} = 2 + \sqrt{2} \approx 3.414$。</p><h3 id="63-">6.3 对称矩阵的幂法</h3><p>对于归一化向量 $x$，常用 Rayleigh 商：</p>
<p>$$
\rho(x)=\frac{x^TAx}{x^Tx}.
$$
如果 $x$ 已归一化，则</p>
<p>$$
\rho(x)=x^TAx.
$$
如果 $x=v_i$，则</p>
<p>$$
\rho(v<em>i)=\frac{v</em>i^TAv<em>i}{v</em>i^Tv_i}.
$$
因为</p>
<p>$$
Av<em>i=\lambda</em>i v_i,
$$
所以</p>
<p>$$
\rho(v<em>i)=\frac{v</em>i^T\lambda<em>i v</em>i}{v<em>i^Tv</em>i}
=
\lambda_i.
$$
所以当 <strong>$x^{(k)}$ 越接近本征向量时，Rayleigh 商越接近对应本征值</strong>。</p>
<p>对实对称矩阵，幂法的收敛速度快得多——类似于<strong>变分法求基态能量</strong>：</p>
<p>$$
\lambda_{\max} \approx \frac{\mathbf{x}^T A \mathbf{x}}{\mathbf{x}^T\mathbf{x}} \quad\text{（Rayleigh 商）}
$$</p><h4 id="-lambda2lambda1-">当 $\lambda<em>2/\lambda</em>1$ 很小时收敛极快。</h4><p>设 $A$ 对称，有标准正交本征向量：</p>
<p>$$
q<em>1,q</em>2,\ldots,q_n.
$$
令当前归一化向量为：</p>
<p>$$
x=c<em>1q</em>1+c<em>2q</em>2+\cdots+c<em>nq</em>n.
$$
且</p>
<p>$$
\sum<em>i c</em>i^2=1.
$$
Rayleigh 商：</p>
<p>$$
\rho(x)=x^TAx.
$$
代入：</p>
<p>$$
Ax=\sum<em>i c</em>i\lambda<em>i q</em>i.
$$
于是：</p>
<p>$$
x^TAx=
\left(\sum<em>i c</em>iq<em>i\right)^T
\left(\sum</em>j c<em>j\lambda</em>jq_j\right).
$$
由于正交归一：</p>
<p>$$
q<em>i^Tq</em>j=\delta_{ij},
$$
所以：</p>
<p>$$
\rho(x)=\sum<em>i c</em>i^2\lambda<em>i.
$$
与 $\lambda</em>1$ 的误差：</p>
<p>$$
\rho(x)-\lambda<em>1
=
\sum</em>i c<em>i^2\lambda</em>i-\lambda<em>1\sum</em>i c_i^2.
$$
因为</p>
<p>$$
\sum<em>i c</em>i^2=1,
$$
所以：</p>
<p>$$
\rho(x)-\lambda<em>1
=
\sum</em>i c<em>i^2(\lambda</em>i-\lambda_1).
$$
其中 $i=1$ 项为 0，因此：</p>
<p>$$
\rho(x)-\lambda<em>1
=
\sum</em>{i\geq2}c<em>i^2(\lambda</em>i-\lambda<em>1).
$$
注意误差由 $c</em>i^2$ 控制。</p><p>而幂法中：</p>
<p>$$
c<em>i^{(k)}\sim \left(\frac{\lambda</em>i}{\lambda_1}\right)^k.
$$
所以 Rayleigh 商误差大致是：</p>
<p>$$
O\left(\left|\frac{\lambda<em>2}{\lambda</em>1}\right|^{2k}\right).
$$
这就是对称矩阵下本征值估计更快的原因。</p>
<p>$$
\text{收敛速度} \propto \left(\frac{\lambda<em>2}{\lambda</em>1}\right)^{2k} \quad \text{（对称矩阵）}
$$</p><p>vs</p>
<p>$$
\text{收敛速度} \propto \left(\frac{\lambda<em>2}{\lambda</em>1}\right)^{k} \quad \text{（一般矩阵）}
$$</p>
<h4 id="">幂法失败的情形</h4><p>1、如果说 c1 = 0 ， 初始向量没有最大本征方向分量！</p><p>2、如果最大本征值出现重，就是 1和2本征值相同，没有唯一的主导方向</p><p>3、如果 最大本征值是小于0的，那么向量可能是正负交替的（分奇偶）</p><p>4、如果 $\frac{\lambda<em>1}{\lambda</em>2} \sim 1$  会出现收敛很慢的情况！</p><p>5、幂法只自然给出 最大模本征值，而不是 全部本征值！</p><h3 id="64-inverse-power-method-">6.4 反幂法（Inverse Power Method）—— 求指定本征值</h3><p>如果想求<strong>接近某值 $q$ 的本征值</strong>：</p><ol start="1"><li>对 $(A - qI)^{-1}$ 做幂法</li><li>$(A - qI)^{-1}$ 的最大本征值 = $(\lambda_{\text{最接近}q} - q)^{-1}$</li></ol><p>如果我们想找离某个数 $q$ 最近的本征值，考虑矩阵：</p>
<p>$$
(A-qI)^{-1}.
$$
如果</p>
<p>$$
Av<em>i=\lambda</em>i v_i,
$$
那么</p>
<p>$$
(A-qI)v<em>i=(\lambda</em>i-q)v_i.
$$
所以</p>
<p>$$
(A-qI)^{-1}v<em>i=\frac1{\lambda</em>i-q}v_i.
$$
也就是说，$(A-qI)^{-1}$ 的本征值是：</p>
<p>$$
\mu<em>i=\frac1{\lambda</em>i-q}.
$$
如果 $\lambda_i$ 离 $q$ 最近，则</p>
<p>$$</p><p>|\lambda_i-q|</p><p>$$
最小，于是</p>
<p>$$
\left|\frac1{\lambda_i-q}\right|
$$
最大。</p><p>所以对 $(A-qI)^{-1}$ 做幂法，会收敛到原矩阵中最靠近 $q$ 的本征值。</p><p><strong>反幂法迭代</strong>：</p>
<p>$$
\mathbf{x}^{(k)} = (A - qI)^{-1} \mathbf{x}^{(k-1)}
$$
实际计算中解线性方程组</p>
<p>$$
(A - qI)\mathbf{y} = \mathbf{x}^{(k-1)}
$$
然后进行归一化，本征值仍利用 Rayleigh商进行估计！！！</p><p>如果每一步把 shift 取为当前 Rayleigh 商：</p>
<p>$$
q_k=\frac{(x^{(k)})^TAx^{(k)}}{(x^{(k)})^Tx^{(k)}},
$$
然后解：</p>
<p>$$
(A-q_kI)y^{(k+1)}=x^{(k)},
$$
再归一化：</p>
<p>$$
x^{(k+1)}=\frac{y^{(k+1)}}{|y^{(k+1)}|},
$$
这就是 Rayleigh 商迭代。</p><p>对实对称矩阵，它在接近本征向量后通常有三次收敛速度，非常快。</p><p>💡 <strong>加速技巧</strong>：如果 $q$ 很接近本征值，收敛<strong>极快</strong>。实际应用中常结合位移 QR 法的思想。</p><h3 id="65-shifted-power-method">6.5 带位移的幂法（Shifted Power Method）</h3><p>本征矢不变，改变收敛目标：</p>
<p>$$
(A - \sigma I)\mathbf{x}^{(k-1)} = \mathbf{y}^{(k)}
$$
收敛到离 $\sigma$ 最近的本征值。</p><h3 id="66-wielandt---">6.6 Wielandt 收缩法 —— 求次大本征值</h3><p>假设已知最大本征对：</p>
<p>$$
Av<em>1=\lambda</em>1v<em>1.
$$
对于对称矩阵，且 $v</em>1$ 已归一化：</p>
<p>$$
v<em>1^Tv</em>1=1.
$$
定义：</p>
<p>$$
B=A-\lambda<em>1v</em>1v<em>1^T.
$$
看它对 $v</em>1$ 的作用：</p>
<p>$$
Bv<em>1=Av</em>1-\lambda<em>1v</em>1v<em>1^Tv</em>1.
$$
因为</p>
<p>$$
Av<em>1=\lambda</em>1v<em>1,\qquad v</em>1^Tv_1=1,
$$
所以</p>
<p>$$
Bv<em>1=\lambda</em>1v<em>1-\lambda</em>1v<em>1=0.
$$
也就是说，原来 $\lambda</em>1$ 被压成了 0。</p><p>对于其他正交本征向量 $v_i$，$i\geq2$：</p>
<p>$$
v<em>1^Tv</em>i=0.
$$
于是</p>
<p>$$
Bv<em>i=Av</em>i-\lambda<em>1v</em>1v<em>1^Tv</em>i
=
\lambda<em>iv</em>i-0
=
\lambda<em>iv</em>i.
$$
所以 $B$ 的本征值为：</p>
<p>$$
0,\lambda<em>2,\lambda</em>3,\ldots,\lambda_n.
$$
这样可以继续对 $B$ 做幂法，求次大本征值。</p><p><strong>$B&#x27;$ 的本征值为 $\lambda<em>2, \lambda</em>3, \ldots, \lambda_n$</strong>，可以继续用幂法求 $\lambda_2$。</p><p>💡 类似量子计算中 VQD（Variational Quantum Deflation）算法求激发态的思路。</p><h3 id="67--power-">6.7 三种 Power 方法对比</h3><table><thead><tr><th> 方法     </th><th> 目标                         </th><th> 关键操作                 </th><th> 收敛速度                  </th></tr></thead><tbody><tr><td> 幂法     </td><td> 最大 $</td><td>\lambda</td><td>$             </td><td> $A\mathbf{x}$            </td><td> $(\lambda<em>2/\lambda</em>1)^k$ </td></tr><tr><td> 反幂法   </td><td> 最接近 $q$ 的 $\lambda$      </td><td> $(A-qI)^{-1}\mathbf{x}$  </td><td> 极快（若 $q$ 接近）       </td></tr><tr><td> 位移幂法 </td><td> 最接近 $\sigma$ 的 $\lambda$ </td><td> $(A-\sigma I)\mathbf{x}$ </td><td> 中等                      </td></tr></tbody></table><blockquote><p>⚠️ <strong>Power 方法的局限</strong>：只求一个本征值，而且当 $|\lambda<em>2/\lambda</em>1|$ 接近 1 时收敛极慢</p></blockquote>
<hr/><h2 id="7-svd">7. 奇异值分解（SVD）</h2><h3 id="71-">7.1 定义</h3><p>对 $m \times n$ 矩阵 $A$，存在分解：</p><p>$$A = U S V^T$$</p><ul><li>$U$：$m \times m$ 正交矩阵，列是「左奇异向量」</li><li>$V$：$n \times n$ 正交矩阵，列是「右奇异向量」</li><li>$S$：$m \times n$ 对角矩阵，对角元 $\sigma_i \geq 0$ 是<strong>奇异值</strong></li></ul><p><strong>矩阵形式</strong>（$m=3, n=2$ 的例子）：</p>
<p>$$
A = \underbrace{\begin{bmatrix} | &amp; | &amp; | \ \mathbf{u}<em>1 &amp; \mathbf{u}</em>2 &amp; \mathbf{u}<em>3 \ | &amp; | &amp; | \end{bmatrix}}</em>{U}
\underbrace{\begin{bmatrix} \sigma<em>1 &amp; 0 \ 0 &amp; \sigma</em>2 \ 0 &amp; 0 \end{bmatrix}}<em>{S}
\underbrace{\begin{bmatrix} — &amp; \mathbf{v}</em>1^T &amp; — \ — &amp; \mathbf{v}<em>2^T &amp; — \end{bmatrix}}</em>{V^T}
$$</p><h4 id="proof">Proof</h4><p>考察：</p>
<p>$$
A^TA.
$$
它是 $n\times n$ 对称矩阵：</p>
<p>$$
(A^TA)^T=A^TA.
$$
并且半正定，因为对任意 $x$：</p>
<p>$$
x^TA^TAx=(Ax)^T(Ax)=|Ax|^2\geq0.
$$
所以 $A^TA$ 可以正交对角化：</p>
<p>$$
A^TA=V\Lambda V^T.
$$
其中</p>
<p>$$
\Lambda=\operatorname{diag}(\lambda<em>1,\ldots,\lambda</em>n),
$$
且</p>
<p>$$
\lambda_i\geq0.
$$
定义奇异值：</p>
<p>$$
\sigma<em>i=\sqrt{\lambda</em>i}.
$$
于是：</p>
<p>$$
A^TAv<em>i=\sigma</em>i^2v<em>i.
$$
这里 $v</em>i$ 是 $V$ 的第 $i$ 列，称为右奇异向量。</p><hr/><h5 id="">构造左奇异向量</h5><p>当 $\sigma_i&gt;0$ 时，定义：</p>
<p>$$
u<em>i=\frac{1}{\sigma</em>i}Av<em>i.
$$
现在证明 $u</em>i$ 正交归一。</p><p>计算：</p>
<p>$$
u<em>i^Tu</em>j
=
\frac1{\sigma<em>i\sigma</em>j}(Av<em>i)^T(Av</em>j).
$$
即：</p>
<p>$$
u<em>i^Tu</em>j
=
\frac1{\sigma<em>i\sigma</em>j}v<em>i^TA^TAv</em>j.
$$
因为</p>
<p>$$
A^TAv<em>j=\sigma</em>j^2v_j,
$$</p>
<p>所以：</p>
<p>$$
u<em>i^Tu</em>j
=
\frac{\sigma<em>j^2}{\sigma</em>i\sigma<em>j}v</em>i^Tv<em>j
=
\frac{\sigma</em>j}{\sigma<em>i}\delta</em>{ij}.
$$
当 $i=j$ 时：</p>
<p>$$
u<em>i^Tu</em>i=1.
$$
当 $i\neq j$ 时：</p>
<p>$$
u<em>i^Tu</em>j=0.
$$
因此这些 $u_i$ 是标准正交的。</p><hr/><h5 id="-avisigmai-ui">得到 $Av<em>i=\sigma</em>i u_i$</h5><p>由定义：</p>
<p>$$
u<em>i=\frac1{\sigma</em>i}Av_i,
$$
所以</p>
<p>$$
Av<em>i=\sigma</em>i u<em>i.
$$
把所有 $v</em>i$ 合起来：</p>
<p>$$
AV=U\Sigma.
$$
右乘 $V^T$：</p>
<p>$$
A=U\Sigma V^T.
$$
这就是 SVD。</p><p>如果某些 $\sigma<em>i=0$，则 $Av</em>i=0$，这些方向属于零空间。对应的 $u_i$ 可以通过补全正交基得到。</p><p>进一步的</p><p>同样可以证明：</p>
<p>$$
AA^Tu<em>i=\sigma</em>i^2u_i.
$$
因为：</p>
<p>$$
Av<em>i=\sigma</em>i u_i.
$$
左乘 $A^T$ 得：</p>
<p>$$
A^Tu<em>i=\sigma</em>i v_i.
$$
再左乘 $A$：</p>
<p>$$
AA^Tu<em>i=\sigma</em>i Av<em>i=\sigma</em>i^2u_i.
$$
所以：</p><ul><li>$A^TA$ 的本征向量是右奇异向量；</li><li>$AA^T$ 的本征向量是左奇异向量；</li><li>二者的非零本征值相同，都是 $\sigma_i^2$。</li></ul><h3 id="72-svd--at-a-">7.2 SVD 与 $A^T A$ 的关系</h3><p>$A^T A$ 是 $n \times n$ 对称半正定矩阵，其本征值为 $\sigma<em>i^2$，本征矢为 $\mathbf{v}</em>i$：</p><p>$$
A^T A \mathbf{v}<em>i = \sigma</em>i^2 \mathbf{v}_i
$$
<strong>计算 SVD 的步骤</strong>：</p><pre class=""><code class="">1. 求 A^T A 的本征值 σ_i^2 和本征矢 v_i
2. 奇异值 σ_i = sqrt(σ_i^2)
3. 构造 V = [v_1, v_2, ..., v_n]
4. U 的前 k 列：u_i = (1/σ_i) A v_i  (i=1,...,k, k=rank(A))
5. U 的剩余 m-k 列：补充线性无关向量，用 Gram-Schmidt 正交化
</code></pre>
<h3 id="73-svd">7.3 SVD与本征值</h3><p>💡 如果 $A$ 是对称正定矩阵，则奇异值 = 本征值。一般情况下 $\sigma<em>i \neq |\lambda</em>i|$。</p><p>如果 $A$ 是对称正定矩阵，则：
$$
A=Q\Lambda Q^T,
$$
且 $\lambda<em>i&gt;0$。这时：
$$
A^TA=A^2=Q\Lambda^2Q^T,
$$
所以：
$$
\sigma</em>i=\lambda<em>i.
$$
如果 $A$ 是对称但不正定，则：
$$
\sigma</em>i=|\lambda_i|.
$$
如果 $A$ 是一般矩阵，奇异值通常不等于本征值绝对值。</p>
<h3 id="74-svd-">7.4 SVD 的图像压缩应用</h3><h4 id="">低秩近似</h4><p>SVD 可以写成外积和：</p>
<p>$$
A=\sum<em>{i=1}^r\sigma</em>i u<em>iv</em>i^T,
$$
其中 $r=\operatorname{rank}(A)$。</p><p>如果只保留前 $k$ 个最大奇异值：</p>
<p>$$
A<em>k=\sum</em>{i=1}^k\sigma<em>i u</em>iv_i^T.
$$
这就是最好的秩 $k$ 近似，称为 Eckart–Young 定理：</p>
<p>$$
|A-A<em>k|</em>F
=
\min<em>{\operatorname{rank}(B)\leq k}|A-B|</em>F.
$$
误差为：</p>
<p>$$
|A-A<em>k|</em>F^2
=
\sum<em>{i=k+1}^r\sigma</em>i^2.
$$
这就是图像压缩的数学基础。</p><p>每个像素对应矩阵的一个元素。取前 $k$ 个最大奇异值（$k \ll N$）：</p><p>$$A \approx \sum<em>{i=1}^{k} \sigma</em>i \mathbf{u}<em>i \mathbf{v}</em>i^T$$</p><p><strong>存储量对比</strong>：</p><table><thead><tr><th>                    </th><th> 完整存储  </th><th> SVD 压缩 ($k$ 项)      </th></tr></thead><tbody><tr><td> 要存的数           </td><td> $N^2$     </td><td> $k(2N+1)$              </td></tr><tr><td> 压缩比             </td><td> 1         </td><td> $\frac{k(2N+1)}{N^2}$  </td></tr><tr><td> 例：$N=1000, k=50$ </td><td> 1,000,000 </td><td> 100,050 ≈ <strong>10×</strong> 压缩 </td></tr></tbody></table><hr/><h2 id="8-krylov-">8. Krylov 子空间方法</h2><h3 id="81-krylov-">8.1 Krylov 子空间的定义</h3><p>给定矩阵 $A$ 和初始向量 $\mathbf{q}_1$，$m$ 阶 Krylov 子空间为：</p>
<p>$$
\mathcal{K}<em>m(A, \mathbf{q}</em>1) = \text{span}{\mathbf{q}<em>1, A\mathbf{q}</em>1, A^2\mathbf{q}<em>1, \ldots, A^{m-1}\mathbf{q}</em>1}
$$
<strong>说人话</strong>：不断用矩阵 $A$ 去乘初始向量，每次乘出来的新向量构成一个子空间的基。这个子空间<strong>自动包含了对解最有用的方向</strong>。</p><h3 id="82--krylov-">8.2 为什么 Krylov 子空间有效？</h3><p>幂法只看：</p>
<p>$$
q<em>1,Aq</em>1,A^2q_1,\ldots
$$
的最后一个方向。</p><p>Krylov 方法则把这些向量张成的整个空间都利用起来。</p><p>也就是说，它不是只取一个向量，而是在空间：</p>
<p>$$
\mathcal K<em>m(A,q</em>1)
$$
里面寻找最佳近似本征向量。</p>
<ul><li>幂法本质上就是在 $\mathcal{K}_1$ 中找最优近似</li><li>Krylov 子空间方法用 $\mathcal{K}_m$（$m$ 维），信息量大得多</li><li>$m$ 维 Krylov 子空间能捕获前 $m$ 个主导本征矢的信息</li></ul><h3 id="83-krylov-">8.3 Krylov 基的性质</h3><h4 id="831-">8.3.1 多项式滤波视角</h4><p>Krylov 子空间中的任意向量都可以写成：</p>
<p>$$
y=p<em>{m-1}(A)q</em>1,
$$
其中 $p_{m-1}$ 是次数不超过 $m-1$ 的多项式。</p><p>如果因为 $\mathbf{v}<em>i$ 是本征矢，满足 $A\mathbf{v}</em>i = \lambda<em>i \mathbf{v}</em>i$，所以 $A^2\mathbf{v}<em>i = \lambda</em>i^2 \mathbf{v}_i$。同理，多项式作用上去就会变成：</p>
<p>$$
q<em>1=\sum</em>i c<em>iv</em>i,
$$
则</p>
<p>$$
p(A)q<em>1=\sum</em>i c<em>ip(\lambda</em>i)v<em>i.
$$
你想得到系统最低能量（基态本征值 $\lambda</em>1$）对应的本征矢 $\mathbf{v}<em>1$。 你可以设计（或者让算法自动寻找）一个多项式 $p(x)$。这个多项式在 $x = \lambda</em>1$ 处的值非常大，而在其他本征值处的值都接近 $0$（就像一个<strong>滤波器</strong>）。 这样，在求和项 $\sum c<em>i p(\lambda</em>i) \mathbf{v}<em>i$ 中，非目标项都被压制到了几乎为 0，只有 $c</em>1 p(\lambda<em>1)\mathbf{v}</em>1$ 这一项脱颖而出！</p><p>所以 Krylov 方法本质上是在构造多项式 $p$，使得：</p><ul><li>目标本征值对应的 $p(\lambda_i)$ 大；</li><li>非目标本征值对应的 $p(\lambda_i)$ 小。</li></ul><p>这就是“自动筛选重要方向”的原因。</p><hr/><h4 id="832-krylov-">8.3.2 Krylov 投影思想</h4><p>直接解超级大矩阵 $A\mathbf{x} = \lambda \mathbf{x}$ 是不可能的。 既然如此，我们能不能<strong>只在 $m$ 维的 Krylov 子空间里找近似解</strong>？（通常 $m$ 很小，比如 $m=30$ 或 $50$）</p><p>我们把这个小空间里的一组正交基按列排好，拼成一个大矩阵 $Q<em>m = [\mathbf{q}</em>1, \mathbf{q}<em>2, \dots, \mathbf{q}</em>m]$（尺寸是 $n \times m$）。 因为基向量是正交归一的，所以满足 $Q<em>m^T Q</em>m = I_m$（$m \times m$ 的单位阵）</p><p>我们不直接在 $n$ 维大空间里解：</p>
<p>$$
Ax=\lambda x.
$$
而是在 $m$ 维子空间中近似（我们假设真实的本征矢 $\mathbf{x}$ 可以由这个小空间的基线性组合得到），这里y是一个只有m维的小向量：</p>
<p>$$
x\approx Q<em>my,
$$
其中 $Q</em>m$ 的列是 Krylov 子空间的一组正交基。</p><p>要求残差（近似解和精确解的差距）：</p>
<p>$$
r=AQ<em>my-\theta Q</em>my
$$
利用<strong>伽辽金条件（Golerkin Condition）</strong>：我们不能让残差等于 0（因为空间不够大，不可能完全精确），但我们可以要求残差 $\mathbf{r}$ <strong>与我们这个小空间 $Q_m$ 垂直</strong>。 意思是，误差不能在我们关心的空间里露头。即要求与子空间正交：</p>
<p>$$
Q_m^Tr=0.
$$
代入：</p>
<p>$$
Q<em>m^T(AQ</em>my-\theta Q_my)=0.
$$
得到：</p>
<p>$$
Q<em>m^TAQ</em>my-\theta Q<em>m^TQ</em>my=0.
$$
因为</p>
<p>$$
Q<em>m^TQ</em>m=I,
$$
所以：</p>
<p>$$
(Q<em>m^TAQ</em>m)y=\theta y.
$$
定义小矩阵 m ✖️ m的小矩阵：</p>
<p>$$
H<em>m=Q</em>m^TAQ_m.
$$
于是只需解小规模本征值问题：</p>
<p>$$
H<em>my=\theta y.
$$
$\theta$ 称为 Ritz 值，$Q</em>my$ 称为 Ritz 向量。</p><p>我们把一个 $10^{10} \times 10^{10}$ 的巨无霸本征值问题，通过投影，变成了一个 $50 \times 50$ 的微型本征值问题。 我们用前几章介绍的常规方法（如 QR 算法）轻松对角化 $H<em>m$，求出本征值 $\theta$（称为 <strong>Ritz 值</strong>）和本征矢 $\mathbf{y}$。 然后通过 $\mathbf{x} \approx Q</em>m \mathbf{y}$，就能非常精准地还原出原大矩阵的本征矢（称为 <strong>Ritz 向量</strong>）。</p><p>在 krylov子空间中， A的投影矩阵是 上 Hessenberg形式 （即除了主对角线、紧挨着的下一条次对角线以外，下三角其余元素全是0）</p><h4 id="krylov">Krylov基生成过程</h4><p>这个基的生成过程（也就是著名的 <strong>Arnoldi 迭代</strong>算法）一步一步彻底拆解。</p><p>首先，我们要明白<strong>为什么不直接用 ${ \mathbf{b}, A\mathbf{b}, A^2\mathbf{b}, \ldots }$ 做基？</strong>
因为当 $k$ 稍微变大一点，根据幂法的原理，$A^k\mathbf{b}$ 会迅速向最大本征值对应的本征矢靠拢。这就导致这几个向量<strong>几乎指向同一个方向</strong>（也就是几乎共线），数学上叫“高度线性相关”。用它们做基，矩阵极其病态，计算机稍微一算就全是舍入误差。</p><p>所以，我们需要<strong>一边用 $A$ 乘，一边做正交化</strong>。这个完美的结合，就是 <strong>Arnoldi 过程</strong>。</p><h5 id="step-0">第一步：准备启动（Step 0）</h5><p>我们有一个初始向量 $\mathbf{b}$。</p><ol start="1"><li>计算它的模长：$\beta = |\mathbf{b}|$。</li><li>把它归一化，得到我们第一根正交基向量 $\mathbf{q}<em>1$：
$$\mathbf{q}</em>1 = \frac{\mathbf{b}}{\beta}$$
此时，我们的基里面只有一根向量：${\mathbf{q}_1}$。</li></ol><h5 id="-mathbfq2step-1">第二步：生成第二根基向量 $\mathbf{q}_2$（Step 1）</h5><p>现在我们想通过 $A$ 作用到已有的基上来扩展空间。</p><ol start="1"><li><strong>用 $A$ 乘已有的最新基向量</strong>：
$$\mathbf{v} = A\mathbf{q}_1$$</li><li><strong>正交化（剔除在 $\mathbf{q}_1$ 方向上的投影）</strong>：
计算 $\mathbf{v}$ 与 $\mathbf{q}<em>1$ 的内积，记为 $h</em>{11}$：
$$h<em>{11} = \mathbf{q}</em>1^T \mathbf{v}$$
然后从 $\mathbf{v}$ 中减去 $\mathbf{q}<em>1$ 方向的分量，得到一个纯净的、与 $\mathbf{q}</em>1$ 垂直的新方向向量 $\mathbf{r}$：
$$\mathbf{r} = \mathbf{v} - h<em>{11}\mathbf{q}</em>1$$</li><li><strong>归一化</strong>：
计算这根新向量的模长，记为 $h<em>{21}$：
$$h</em>{21} = |\mathbf{r}|$$
如果 $h<em>{21} \neq 0$，归一化得到第二根基向量 $\mathbf{q}</em>2$：
$$\mathbf{q}<em>2 = \frac{\mathbf{r}}{h</em>{21}}$$
此时，我们的基向量组变成了：${\mathbf{q}<em>1, \mathbf{q}</em>2}$。它们彼此正交且长度为 1。</li></ol><h5 id="-mathbfq3step-2">第三步：生成第三根基向量 $\mathbf{q}_3$（Step 2）</h5><p>重复这个思路：</p><ol start="1"><li><strong>用 $A$ 乘上一步新生成的基向量 $\mathbf{q}_2$</strong>：
$$\mathbf{v} = A\mathbf{q}_2$$</li><li><strong>正交化（剔除在已有的 $\mathbf{q}<em>1$ 和 $\mathbf{q}</em>2$ 上的所有投影）</strong>：
<ul><li>剔除 $\mathbf{q}<em>1$ 方向：$h</em>{12} = \mathbf{q}_1^T \mathbf{v}$</li><li>剔除 $\mathbf{q}<em>2$ 方向：$h</em>{22} = \mathbf{q}<em>2^T \mathbf{v}$
从 $\mathbf{v}$ 中把这两份投影全部扣掉：
$$\mathbf{r} = \mathbf{v} - h</em>{12}\mathbf{q}<em>1 - h</em>{22}\mathbf{q}_2$$</li></ul></li><li><strong>归一化</strong>：
计算模长：$h<em>{32} = |\mathbf{r}|$，得到第三根基向量：
$$\mathbf{q}</em>3 = \frac{\mathbf{r}}{h<em>{32}}$$
此时，基向量组变成了：${\mathbf{q}</em>1, \mathbf{q}<em>2, \mathbf{q}</em>3}$。</li></ol><h5 id="-j-step-j">归纳：第 $j$ 步的通用公式（Step $j$）</h5><p>已知前 $j$ 个已经相互正交归一的基 ${\mathbf{q}<em>1, \mathbf{q}</em>2, \ldots, \mathbf{q}_j}$。我们要生出第 $j+1$ 个：</p><ol start="1"><li>作用算符：
$$\mathbf{v} = A\mathbf{q}_j$$</li><li>扣除前 $j$ 个方向的投影（施密特正交化）：
对于每一个 $i = 1, 2, \ldots, j$：
$$h<em>{ij} = \mathbf{q}</em>i^T \mathbf{v}$$
扣除投影后的残差向量：
$$\mathbf{r} = \mathbf{v} - \sum<em>{i=1}^{j} h</em>{ij}\mathbf{q}_i$$</li><li>归一化：
$$h<em>{j+1, j} = |\mathbf{r}|$$
$$\mathbf{q}</em>{j+1} = \frac{\mathbf{r}}{h_{j+1, j}}$$</li></ol><p>这就是完整的 <strong>Krylov 基生成过程（Arnoldi 迭代）</strong>。</p><hr/><h4 id="--hessenberg-">💡 为什么这样会自然产生“上 Hessenberg 矩阵”？</h4><p>我们把第 $j$ 步归一化公式 $\mathbf{q}<em>{j+1} = \frac{\mathbf{r}}{h</em>{j+1, j}}$ 变形一下（乘以分母）：
$$\mathbf{r} = h<em>{j+1, j} \mathbf{q}</em>{j+1}$$</p><p>再把第二步正交化公式代入这个式子：
$$\mathbf{v} - \sum<em>{i=1}^{j} h</em>{ij}\mathbf{q}<em>i = h</em>{j+1, j} \mathbf{q}_{j+1}$$</p><p>因为 $\mathbf{v} = A\mathbf{q}<em>j$，我们移项整理得到：
$$A\mathbf{q}</em>j = h<em>{1j}\mathbf{q}</em>1 + h<em>{2j}\mathbf{q}</em>2 + \ldots + h<em>{jj}\mathbf{q}</em>j + h<em>{j+1, j}\mathbf{q}</em>{j+1}$$</p><p>这个式子的物理意义非常震撼：
当你用大矩阵 $A$ 作用到第 $j$ 个基向量上时，产生的新向量<strong>最多</strong>只能投影到第 $j+1$ 个基向量上！它跟再后面的基向量（例如 $\mathbf{q}<em>{j+2}, \mathbf{q}</em>{j+3}$）绝对是垂直的（内积为0）。</p><p>这就意味着，如果把所有系数 $h<em>{ij}$ 排成一个矩阵：
$$
H = \begin{bmatrix}
h</em>{11} &amp; h<em>{12} &amp; h</em>{13} &amp; \cdots \
h<em>{21} &amp; h</em>{22} &amp; h<em>{23} &amp; \cdots \
0 &amp; h</em>{32} &amp; h<em>{33} &amp; \cdots \
0 &amp; 0 &amp; h</em>{43} &amp; \cdots \
\vdots &amp; \vdots &amp; \vdots &amp; \ddots
\end{bmatrix}
$$
由于对于所有 $i &gt; j+1$ 的位置，其系数 $h_{ij} = 0$，所以主对角线下方的第二条线开始，全部都是 0！
这正是<strong>上 Hessenberg 矩阵</strong>！</p><p>所以，Arnoldi 算法妙就妙在：它在用施密特正交化建立空间基底的同时，<strong>顺手就把在这个空间里投影的大矩阵 $A$，记录成了一个极其简单、几乎是对角阵的 Hessenberg 小矩阵 $H$</strong>！接下来对这个 $H$ 做对角化，就能轻松拿到我们想要的本征值。</p><p><strong>直观解释</strong>：</p><p>回忆一下 Krylov 基的生成过程：</p><ul><li>$\mathbf{q}<em>2$ 是由 $A\mathbf{q}</em>1$ 正交化得到的；</li><li>$\mathbf{q}<em>3$ 是由 $A\mathbf{q}</em>2$ 正交化得到的；</li><li>一般地， $A \mathbf{q}<em>j$ 只能跟前面的 $\mathbf{q}</em>1, \dots, \mathbf{q}<em>j, \mathbf{q}</em>{j+1}$ 发生关联（投影不为 0）。 对于比 $j+1$ 更靠后的基向量（如 $\mathbf{q}<em>{j+2}$ 甚至更远），由于生成顺序的关系，它们和 $A \mathbf{q}</em>j$ 必然是正交的：</li></ul><p>$$
\mathbf{q}<em>i^T A \mathbf{q}</em>j = 0 \quad (\text{当 } i &gt; j+1)
$$</p><p>而 $H<em>{ij} = \mathbf{q}</em>i^T A \mathbf{q}<em>j$ 正是矩阵 $H</em>m$ 的矩阵元！ 这说明，只要行数 $i$ 大于列数 $j+1$，对应的矩阵元就全部为 0。</p><p>写出来就是：
$$
H<em>m = \begin{bmatrix}
h</em>{11} &amp; h<em>{12} &amp; h</em>{13} &amp; \cdots \
h<em>{21} &amp; h</em>{22} &amp; h<em>{23} &amp; \cdots \
0 &amp; h</em>{32} &amp; h<em>{33} &amp; \cdots \
0 &amp; 0 &amp; h</em>{43} &amp; \cdots \
\end{bmatrix}
$$
这正是<strong>上 Hessenberg 矩阵</strong>！这种矩阵不仅容易存储，而且极易使用 QR 算法进行对角化。Krylov 方法之所以如此高效，秘密全在于此！</p><p>💡 这正是 Krylov 子空间方法的核心：<strong>在 Krylov 子空间中，$A$ 的投影矩阵是上 Hessenberg 形式</strong>——比原矩阵更容易对角化。</p><hr/><h2 id="9-lanczos-">9. Lanczos 迭代</h2><h3 id="91-">9.1 核心思想</h3><blockquote><p>对<strong>对称矩阵</strong> $A$，在 Krylov 子空间中构造一组<strong>正交基</strong>（Lanczos 基），使得 $A$ 在这组基下的投影是<strong>三对角矩阵</strong>。</p></blockquote>
<h3 id="92-lanczos-">9.2 Lanczos 三对角化</h3><p>初始化：</p>
<p>$$
q<em>0=0,\qquad \beta</em>0=0.
$$
给定归一化 $q_1$。</p><p>第 $i$ 步：</p>
<p>$$
u=Aq<em>i-\beta</em>{i-1}q_{i-1}.
$$
计算对角元：</p>
<p>$$
\alpha<em>i=q</em>i^Tu.
$$
去掉当前方向：</p>
<p>$$
u=u-\alpha<em>iq</em>i.
$$
计算次对角元：</p>
<p>$$
\beta_i=|u|.
$$
如果</p>
<p>$$
\beta_i=0,
$$
说明 Krylov 子空间已经不再扩展，算法终止。</p><p>否则：</p>
<p>$$
q<em>{i+1}=\frac{u}{\beta</em>i}.
$$
于是得到三项关系：</p>
<p>$$
Aq<em>i=\beta</em>{i-1}q<em>{i-1}+\alpha</em>iq<em>i+\beta</em>iq_{i+1}.
$$
矩阵形式</p><p>把列向量合成：
$$
Q<em>m=[q</em>1,q<em>2,\ldots,q</em>m].
$$
则：
$$
AQ<em>m=Q</em>mT<em>m+\beta</em>mq<em>{m+1}e</em>m^T.
$$
其中：
$$
T<em>m=
\begin{bmatrix}
\alpha</em>1&amp;\beta<em>1\
\beta</em>1&amp;\alpha<em>2&amp;\beta</em>2\
&amp;\beta<em>2&amp;\alpha</em>3&amp;\ddots\
&amp;&amp;\ddots&amp;\ddots&amp;\beta<em>{m-1}\
&amp;&amp;&amp;\beta</em>{m-1}&amp;\alpha<em>m
\end{bmatrix}.
$$
如果忽略最后残差项，就是：
$$
Q</em>m^TAQ<em>m=T</em>m.
$$
所以 Lanczos 把大矩阵 $A$ 投影成小三对角矩阵 $T_m$。</p><p>给定对称矩阵 $A$ 和初始归一化向量 $\mathbf{q}<em>1$（$\mathbf{q}</em>0 = \mathbf{0}$, $\beta_0 = 0$）：</p><p><strong>Lanczos 迭代</strong>：</p><pre class=""><code class="">for i = 1, 2, ..., m:
    u = A q_i - β_{i-1} q_{i-1}       ← 矩阵乘 + 减去上一步贡献
    α_i = q_i^T u                      ← 对角元
    u = u - α_i q_i                    ← 再减当前方向
    β_i = ||u||                        ← 次对角元
    if β_i ≈ 0: break
    q_{i+1} = u / β_i                  ← 归一化得到下一个基向量
end
</code></pre>
<p>每次迭代只需要<strong>3 个向量</strong>（$\mathbf{q}<em>{i-1}, \mathbf{q}</em>i, \mathbf{q}_{i+1}$），内存效率极高！</p><h3 id="93-">9.3 得到的结构</h3><p>$m$ 步后得到三对角矩阵 $T_m$：</p><p>$$T<em>m = \begin{bmatrix}
\alpha</em>1 &amp; \beta<em>1 &amp; &amp; \
\beta</em>1 &amp; \alpha<em>2 &amp; \beta</em>2 &amp; \
&amp; \beta<em>2 &amp; \ddots &amp; \ddots \
&amp; &amp; \ddots &amp; \ddots &amp; \beta</em>{m-1} \
&amp; &amp; &amp; \beta<em>{m-1} &amp; \alpha</em>m
\end{bmatrix}$$</p><p>且 $A Q<em>m = Q</em>m T<em>m + \beta</em>m \mathbf{q}<em>{m+1} \mathbf{e}</em>m^T$</p><h3 id="94-">9.4 数值例子</h3><p>$$
A = \begin{bmatrix} 3 &amp; 2 &amp; 5 \ 2 &amp; 3 &amp; 5 \ 5 &amp; 5 &amp; 0 \end{bmatrix},\quad
\mathbf{q}_1 = \begin{bmatrix} 1 \ 0 \ 0 \end{bmatrix}
$$</p><p>精确本征值：$10,\ -5,\ 1$</p><p><strong>$m=2$ 步 Lanczos</strong>：</p><p>$$
\mathbf{q}<em>2 = \frac{A\mathbf{q}</em>1 - \alpha<em>1\mathbf{q}</em>1}{\beta_1} = \text{计算得} \begin{bmatrix} 0 \ 0.371 \ 0.928 \end{bmatrix}
$$</p><p>得到 $2\times2$ 三对角矩阵：</p><p>$$T_2 = \begin{bmatrix} 3 &amp; \sqrt{29} \ \sqrt{29} &amp; 29/29 \approx 1 \end{bmatrix}$$</p><p>对角化 $T_2$ 得到近似本征值 $8.83$ 和 $-1.97$。仅 2 步就找到了&quot;极端本征值&quot;（最大和最小）的近似！</p><p><strong>完整 $m=3$（$m=n$，全矩阵）</strong> 则严格恢复本征值 $[10, 1, -5]$。</p><h3 id="95-lanczos-">9.5 Lanczos 的收敛特性</h3><p>设</p>
<p>$$
T_my=\theta y.
$$
则近似本征向量为：</p>
<p>$$
x=Q_my.
$$
残差：</p>
<p>$$
r=Ax-\theta x.
$$
代入：</p>
<p>$$
r=AQ<em>my-\theta Q</em>my.
$$
利用 Lanczos 关系：</p>
<p>$$
AQ<em>m=Q</em>mT<em>m+\beta</em>mq<em>{m+1}e</em>m^T.
$$
所以：</p>
<p>$$
r=(Q<em>mT</em>m+\beta<em>mq</em>{m+1}e<em>m^T)y-\theta Q</em>my.
$$
因为</p>
<p>$$
T_my=\theta y,
$$
所以前两项抵消：</p>
<p>$$
Q<em>mT</em>my-\theta Q_my=0.
$$
剩下：</p>
<p>$$
r=\beta<em>mq</em>{m+1}e_m^Ty.
$$
因此残差范数：</p>
<p>$$
|r|=|\beta<em>m|\cdot |e</em>m^Ty|.
$$
这提供了一个非常方便的收敛判据。
$$
\text{极端本征值（最大/最小）收敛快} \quad &gt; \quad \text{中间本征值收敛慢}
$$</p><p><strong>数值验证</strong>（$A = B^T B$，$B \in \mathbb{R}^{10\times10}$ 正定对称，$m$ 取 2~10）：</p><table><thead><tr><th style="text-align:center"> Krylov 维度 $m$ </th><th> 收敛的本征值          </th></tr></thead><tbody><tr><td style="text-align:center">        2        </td><td> 最大 + 最小（极端值） </td></tr><tr><td style="text-align:center">       4~5       </td><td> 前几个极端值          </td></tr><tr><td style="text-align:center">   10（满秩）    </td><td> 全部严格本征值        </td></tr></tbody></table><p>💡 <strong>Lanczos = 在 Krylov 子空间中对对称矩阵做截断对角化</strong>。截断类似于 SVD 图像压缩——保留最重要的信息、丢弃细节。极端本征值对应&quot;最重要成分&quot;。</p><h3 id="96-lanczos-">9.6 Lanczos 的优势</h3><table><thead><tr><th> 特性     </th><th> 说明                                                         </th></tr></thead><tbody><tr><td> 内存     </td><td> 只需存 <strong>3 个向量</strong>（$\mathbf{q}<em>{i-1}, \mathbf{q}</em>i, \mathbf{q}_{i+1}$） </td></tr><tr><td> 主要操作 </td><td> 矩阵-向量乘（$A\mathbf{q}_i$），适合<strong>稀疏矩阵</strong>             </td></tr><tr><td> 适用规模 </td><td> $10^9 \sim 10^{10}$ 维基矢！                                 </td></tr><tr><td> 最佳场景 </td><td> 稀疏、短程相互作用的哈密顿量                                 </td></tr></tbody></table>
<p>理论上 Lanczos 向量彼此正交：</p>
<p>$$
q<em>i^Tq</em>j=0,\qquad i\neq j.
$$
但浮点运算中，由于舍入误差，正交性会逐渐丢失。</p><p>后果是：</p><ul><li>已经收敛的本征值可能重复出现；</li><li>出现 ghost eigenvalues；</li><li>Ritz 值稳定性变差。</li></ul><p>解决办法包括：</p><ul><li>full reorthogonalization；</li><li>selective reorthogonalization；</li><li>partial reorthogonalization；</li><li>restarted Lanczos。</li></ul><hr/><h2 id="10-arnoldi-">10. Arnoldi 迭代</h2><h3 id="101-">10.1 动机</h3><p>Lanczos 要求矩阵<strong>对称</strong>（或 Hermite）。对于<strong>不对称矩阵</strong>，需要 Arnoldi 迭代。</p><h3 id="102-arnoldi-">10.2 Arnoldi 算法</h3><p>给定不对称矩阵 $A$ 和初始归一化向量 $\mathbf{q}_1$：</p><pre class=""><code class="">for k = 1, 2, ..., m:
    v = A q_k
    for j = 1 to k:                    ← 与前面所有 q_j 正交化
        h_{j,k} = q_j^T v              ← 内积（投影系数）
        v = v - h_{j,k} q_j
    end
    h_{k+1,k} = ||v||                   ← 次对角元
    if h_{k+1,k} ≈ 0: break
    q_{k+1} = v / h_{k+1,k}
end
</code></pre>
<p><strong>关键区别</strong>：Lanczos 只需与 $\mathbf{q}<em>{k-1}$ 和 $\mathbf{q}</em>k$ 正交化（利用对称性），Arnoldi 需要与<strong>所有</strong>已生成的 $\mathbf{q}<em>1, \ldots, \mathbf{q}</em>k$ 正交化。</p><h3 id="103--hessenberg-">10.3 结果：上 Hessenberg 矩阵</h3><p>$m$ 步 Arnoldi 得到 $m \times m$ <strong>上 Hessenberg 矩阵</strong> $H_m$：</p><p>$$H<em>m = \begin{bmatrix}
h</em>{1,1} &amp; h<em>{1,2} &amp; h</em>{1,3} &amp; \cdots &amp; h<em>{1,m} \
h</em>{2,1} &amp; h<em>{2,2} &amp; h</em>{2,3} &amp; \cdots &amp; h<em>{2,m} \
0 &amp; h</em>{3,2} &amp; h<em>{3,3} &amp; \cdots &amp; h</em>{3,m} \
\vdots &amp; \ddots &amp; \ddots &amp; \ddots &amp; \vdots \
0 &amp; \cdots &amp; 0 &amp; h<em>{m,m-1} &amp; h</em>{m,m}
\end{bmatrix}$$</p><p>（如果 $A$ 对称，则 $H_m$ 退化为三对角 = 回到 Lanczos）</p><h3 id="104-arnoldi-vs-lanczos-">10.4 Arnoldi vs Lanczos 对比</h3><table><thead><tr><th>           </th><th> Lanczos         </th><th> Arnoldi                    </th></tr></thead><tbody><tr><td> 适用矩阵  </td><td> 对称 / Hermite  </td><td> <strong>任意</strong>方阵               </td></tr><tr><td> 正交化    </td><td> 只需 2 个旧向量 </td><td> 需<strong>所有</strong>旧向量           </td></tr><tr><td> 结果矩阵  </td><td> 三对角          </td><td> 上 Hessenberg              </td></tr><tr><td> 计算量/步 </td><td> $O(n)$          </td><td> $O(n \cdot k)$（逐渐增加） </td></tr><tr><td> 代表软件  </td><td> —               </td><td> <strong>ARPACK</strong>                 </td></tr></tbody></table><p>💡 ARPACK 是 Arnoldi Package 的缩写，是求解大型稀疏矩阵本征值问题的主流软件包。当 $\mathbf{q}_k$ 接近零向量时算法自然终止（精确不变子空间已找到）。</p><hr/><h2 id="11-schrdinger-">11. Schrödinger 方程的对角化求解</h2><h3 id="111-">11.1 问题提法</h3><p>径向 Schrödinger 方程是一个本征值问题：</p><p>$$H|\psi\rangle = E|\psi\rangle$$</p><p>其中 $H$ 是实对称矩阵，$\psi$ 是波函数，$E$ 是能级。</p><h3 id="112-">11.2 求解策略流程</h3><pre class=""><code class="">                    ┌─────────────────────────────┐
                    │   哈密顿量矩阵 H (实对称)     │
                    └────────────┬────────────────┘
                                 │
                ┌────────────────┼────────────────┐
                ▼                ▼                ▼
        ┌───────────────┐ ┌───────────┐  ┌─────────────────┐
        │ 直接法 (稠密)   │ │ 幂法       │  │ Lanczos (稀疏)   │
        │ Householder   │ │ (最大E)    │  │ (极端本征值)     │
        │ → QR对角化     │ │ 反幂法     ｜  │ 3向量内存        │
        │ 全部本征值     │ │ (指定E)   │   │ 10^9~10^10基     │
        └───────────────┘ └───────────┘ └─────────────────┘
</code></pre>
<h3 id="113-">11.3 具体方案对比</h3><table><thead><tr><th> 方案             </th><th> 适用场景                    </th><th> 计算量                      </th><th> 特点         </th></tr></thead><tbody><tr><td> Householder → QR </td><td> $H$ 稠密，需全部本征态      </td><td> $\sim 2n^3/3$（不含本征矢） </td><td> 完整精确     </td></tr><tr><td> Power method     </td><td> 只需基态能量                </td><td> $O(n^2)$/步                 </td><td> 简单但收敛慢 </td></tr><tr><td> Lanczos          </td><td> $H$ 稀疏/短程，需极端本征值 </td><td> $O(n)$/步（稀疏）           </td><td> 内存极省     </td></tr></tbody></table><hr/><h2 id="12-dmrg">12. DMRG：密度矩阵重整化群</h2><h3 id="121-">12.1 问题背景</h3><p>严格对角化计算量随系统尺寸指数增长（$2^L$），无法处理大系统。</p><h3 id="122-nrg-wilson-1974">12.2 NRG（数值重整化群, Wilson 1974）</h3><p>K. Wilson 因重整化群在临界现象和 Kondo 效应中的应用获 1982 年诺贝尔物理学奖。</p><p><strong>NRG 步骤</strong>：</p><pre class=""><code class="">① 初始块 A (长度 L)，Hilbert 空间维数 M
     ↓
② 形成复合块 AA (长度 2L)，哈密顿量 H_AA (维数 M²)
     ↓
③ 用 Lanczos 对角化 H_AA，取 M 个最低本征态
     ↓
④ 将 H_AA 投影到截断空间 → H_AA-tr
     ↓
⑤ 令 2L→L, AA→A, H_AA-tr→H_A，回到步骤②
     ↓  重复直到达到目标系统尺寸
</code></pre>
<h3 id="123-nrg---dmrg-">12.3 NRG 的局限 → DMRG 的革新</h3><table><thead><tr><th>          </th><th> NRG                           </th><th> DMRG                         </th></tr></thead><tbody><tr><td> 截断依据 </td><td> <strong>能量</strong>（取最低 M 个本征态） </td><td> <strong>量子熵</strong>（密度矩阵本征值） </td></tr><tr><td> 环境处理 </td><td> 不考虑                        </td><td> <strong>保留环境效应</strong>             </td></tr><tr><td> 最佳场景 </td><td> 杂质问题（很有限）            </td><td> 低纠缠系统（极为广泛）       </td></tr></tbody></table><p>💡 DMRG 的关键创新：不按能量截断，而按<strong>约化密度矩阵</strong>的奇异值（SVD）截断——本质是在量子纠缠熵中做截断。</p><h3 id="124-dmrg-">12.4 DMRG 算法流程</h3><p><strong>Warm-up 阶段</strong>：</p><pre class=""><code class="">1. Lanczos 求基态
2. 构造 A&#x27; 和 B&#x27; 块
3. 构造约化密度矩阵
4. 对角化约化密度矩阵
5. 将 H_A 变换到密度矩阵本征基，截断
6. 重复
</code></pre>
<p><strong>Sweeping 阶段</strong>：
通过多轮左右扫描优化波函数，直到收敛。</p><h3 id="125-dmrg-">12.5 DMRG 的应用范围</h3><p>自旋链、量子点、原子核、量子化学、量子信息……DMRG 已成为处理一维/准一维多体系统的<strong>黄金标准</strong>方法。</p><hr/><h2 id="13-">13. 算法对比与总结</h2><h3 id="131-">13.1 本征值问题与量子多体问题</h3><pre class=""><code class="">量子多体系统 → 组态混合 → 大型矩阵对角化 → 本征值问题的数值方法
</code></pre>
<h3 id="132-">13.2 所有算法一览</h3><table><thead><tr><th> 算法            </th><th> 类别       </th><th style="text-align:center"> 求几个本征值 </th><th> 矩阵要求     </th><th> 计算量               </th><th> 内存需求 </th><th> 适用规模          </th></tr></thead><tbody><tr><td> <strong>Jacobi</strong>      </td><td> 直接迭代   </td><td style="text-align:center">     全部     </td><td> 对称         </td><td> $O(n^3)$             </td><td> $O(n^2)$ </td><td> 小（$n&lt;100$）     </td></tr><tr><td> <strong>Householder</strong> </td><td> 直接变换   </td><td style="text-align:center">     全部     </td><td> 对称         </td><td> $\sim 2n^3/3$        </td><td> $O(n^2)$ </td><td> 中等              </td></tr><tr><td> <strong>QR（基本）</strong>  </td><td> 迭代       </td><td style="text-align:center">     全部     </td><td> 任意         </td><td> $O(n^3)$/步          </td><td> $O(n^2)$ </td><td> 中等              </td></tr><tr><td> <strong>Shifted QR</strong>  </td><td> 迭代       </td><td style="text-align:center">     全部     </td><td> 任意         </td><td> $O(n^2)$（三对角后） </td><td> $O(n^2)$ </td><td> 中等              </td></tr><tr><td> <strong>幂法</strong>        </td><td> 迭代       </td><td style="text-align:center"> 1 个（最大） </td><td> 任意         </td><td> $O(n^2)$/步          </td><td> $O(n)$   </td><td> 任意              </td></tr><tr><td> <strong>反幂法</strong>      </td><td> 迭代       </td><td style="text-align:center"> 1 个（指定） </td><td> 任意         </td><td> $O(n^2)$+求解        </td><td> $O(n)$   </td><td> 任意              </td></tr><tr><td> <strong>Lanczos</strong>     </td><td> 子空间迭代 </td><td style="text-align:center">    极端值    </td><td> 对称         </td><td> $O(n)$/步（稀疏）    </td><td> $O(n)$   </td><td> 超大（$10^9$+）   </td></tr><tr><td> <strong>Arnoldi</strong>     </td><td> 子空间迭代 </td><td style="text-align:center">     部分     </td><td> 任意         </td><td> $O(nk)$/步           </td><td> $O(nk)$  </td><td> 大                </td></tr><tr><td> <strong>SVD</strong>         </td><td> 分解       </td><td style="text-align:center">  全部奇异值  </td><td> 任意         </td><td> $O(n^3)$             </td><td> $O(n^2)$ </td><td> 中等              </td></tr><tr><td> <strong>DMRG</strong>        </td><td> 重整化群   </td><td style="text-align:center">     基态     </td><td> 对称/Hermite </td><td> 多项式               </td><td> 可控     </td><td> 大（$10^2$ 格点） </td></tr></tbody></table><h3 id="133-">13.3 选择算法的决策树</h3><pre class=""><code class="">需要求全部本征值？
├── 是 → 矩阵是否稠密？
│        ├── 是 → Householder + QR 算法
│        └── 否 → 能否做三对角化？
│                 └── 是 → Householder + QR（三对角矩阵）
│
└── 否 → 需要几个本征值？
         ├── 1 个（最大）→ 幂法
         ├── 1 个（指定位置）→ 反幂法
         └── 多个极端值 → 矩阵是否对称？
              ├── 是 → Lanczos
              └── 否 → Arnoldi
</code></pre>
<h3 id="134-">13.4 算法背后的数学思想</h3><table><thead><tr><th> 思想       </th><th> 代表算法          </th><th> 核心操作                      </th></tr></thead><tbody><tr><td> 旋转消元   </td><td> Jacobi, Givens QR </td><td> 逐个/逐列消去非对角元         </td></tr><tr><td> 反射消元   </td><td> Householder       </td><td> 批量整列消元                  </td></tr><tr><td> 子空间投影 </td><td> Lanczos, Arnoldi  </td><td> 在 Krylov 子空间做近似        </td></tr><tr><td> 迭代收敛   </td><td> Power, QR         </td><td> 反复作用使主导方向浮现        </td></tr><tr><td> 低秩近似   </td><td> SVD, DMRG         </td><td> 保留最大奇异值/最大纠缠       </td></tr><tr><td> 重整化     </td><td> NRG, DMRG         </td><td> 通过截断控制 Hilbert 空间维度 </td></tr></tbody></table><h3 id="135-">13.5 二十世纪十大算法（与本课程相关的两个）</h3><ol start="1"><li><strong>QR 算法</strong> —— 计算矩阵全部本征值的标准方法</li><li><strong>Krylov 子空间方法</strong> —— 大型稀疏矩阵本征值问题的革命性方法</li></ol><h3 id="136-">13.6 关键公式速查</h3><table><thead><tr><th> 公式                                                         </th><th> 名称             </th><th> 含义                  </th></tr></thead><tbody><tr><td> $A\mathbf{x} = \lambda\mathbf{x}$                            </td><td> 本征值方程       </td><td> 矩阵作用 = 标量拉伸   </td></tr><tr><td> $P = I - 2\mathbf{w}\mathbf{w}^T$                            </td><td> Householder 矩阵 </td><td> 反射变换矩阵          </td></tr><tr><td> $\tan 2\theta = \frac{2a<em>{pq}}{a</em>{pp}-a_{qq}}$               </td><td> Jacobi 旋转角    </td><td> 消去非对角元 $a_{pq}$ </td></tr><tr><td> $A^{(k+1)} = R^{(k)}Q^{(k)}$                                 </td><td> QR 迭代          </td><td> 反向乘积累            </td></tr><tr><td> $A^{(k)} - \sigma I = QR$                                    </td><td> Shifted QR       </td><td> 加速收敛的位移        </td></tr><tr><td> $A = USV^T$                                                  </td><td> SVD              </td><td> 奇异值分解            </td></tr><tr><td> $\mathcal{K}<em>m = \text{span}{\mathbf{q}</em>1, A\mathbf{q}<em>1, \ldots, A^{m-1}\mathbf{q}</em>1}$ </td><td> Krylov 子空间    </td><td> 子空间基的生成        </td></tr><tr><td> $T<em>m = Q</em>m^T A Q_m$（三对角）                                </td><td> Lanczos 分解     </td><td> 对称情况的简化        </td></tr><tr><td> $H_m$（上 Hessenberg）                                       </td><td> Arnoldi 分解     </td><td> 非对称情况的投影      </td></tr><tr><td> $\tilde{\rho}<em>A = \text{Tr}</em>B</td><td>\psi\rangle\langle\psi</td><td>$       </td><td> 约化密度矩阵     </td><td> DMRG 的截断依据       </td></tr></tbody></table><hr/><p><em>Akuiro 整理补充· 2026-07-08</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Eigenvalue-problem#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Eigenvalue-problem</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Eigenvalue-problem</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Thu, 09 Jul 2026 09:19:26 GMT</pubDate></item><item><title><![CDATA[蒙特卡洛方法初步]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Monte-Carlo">https://akuiro24.xyz/posts/default/Monte-Carlo</a></blockquote><div><h2 id="">目录</h2><ol start="1"><li><a href="#1-蒙特卡洛方法概述">蒙特卡洛方法概述</a></li><li><a href="#2-概率统计基础">概率统计基础</a></li><li><a href="#3-随机数生成">随机数生成</a></li><li><a href="#4-蒙特卡洛积分">蒙特卡洛积分</a></li><li><a href="#5-重要性采样">重要性采样</a></li><li><a href="#6-随机行走与马尔可夫链">随机行走与马尔可夫链</a></li><li><a href="#7-metropolis-算法与-mcmc">Metropolis 算法与 MCMC</a></li><li><a href="#8-二维-ising-模型">二维 Ising 模型</a></li><li><a href="#9-量子蒙特卡洛">量子蒙特卡洛</a></li><li><a href="#10-总结对比表">总结对比表</a></li></ol><hr/><h2 id="1-">1. 蒙特卡洛方法概述</h2><h3 id="-">📖 核心思想</h3><blockquote><p>通过<strong>统计采样</strong>（随机抽样）解决传统方法难以处理的数学/物理问题——积分、优化、多自由度系统模拟等。</p></blockquote>
<h3 id="-">🕰 历史起源</h3><table><thead><tr><th> 时间 </th><th> 人物                          </th><th> 贡献                                    </th></tr></thead><tbody><tr><td> 1946 </td><td> Ulam, von Neumann, Metropolis </td><td> 曼哈顿计划中发明，分析中子输运          </td></tr><tr><td> 后   </td><td> 各领域                        </td><td> 统计物理、分子模拟、量子多体、粒子物理… </td></tr></tbody></table><h3 id="-">💡 物理直觉</h3><blockquote><p>中子与原子核作用受量子力学制约——只能知道<strong>发生概率</strong>，无法精确获得位置、速度、方向。用随机抽样模拟大量中子的统计行为，就能推知宏观传输性质。<strong>大量随机→确定结论</strong>。</p></blockquote>
<h3 id="-">🔄 方法流程</h3><pre class=""><code class="">产生随机数 → 按概率分布采样 → 模拟/计算 → 统计平均 → 结果
</code></pre>
<hr/><h2 id="2-">2. 概率统计基础</h2><h3 id="21-pdf">2.1 概率密度函数（PDF）</h3><table><thead><tr><th> 概念         </th><th> 记号                                           </th><th> 说人话                             </th></tr></thead><tbody><tr><td> 概率密度函数 </td><td> $p(x)$                                         </td><td> 随机变量取某值的&quot;相对可能性&quot;       </td></tr><tr><td> 累积分布函数 </td><td> $P(x) = \int_{-\infty}^{x} p(t) dt$            </td><td> 从 $-\infty$ 积分到 $x$ 的累计概率 </td></tr><tr><td> 期望值       </td><td> $\langle f\rangle = \int f(x)p(x)dx$           </td><td> 按概率加权平均                     </td></tr><tr><td> $n$ 阶中心矩 </td><td> $\mu_n = \langle(x-\langle x\rangle)^n\rangle$ </td><td> 描述分布形状（2阶=方差）           </td></tr></tbody></table><h3 id="-">💡 数值例子</h3><p>某物理量 $x$ 服从 $p(x) = 2x, ; x\in[0,1]$（归一化）：</p><ul><li>$\langle x\rangle = \int<em>0^1 x \cdot 2x , dx = \int</em>0^1 2x^2 dx = \frac{2}{3} \approx 0.667$</li><li>$\sigma^2 = \langle x^2\rangle - \langle x\rangle^2 = \int_0^1 2x^3 dx - (\frac{2}{3})^2 = \frac{1}{2} - \frac{4}{9} = \frac{1}{18} \approx 0.056$</li></ul><h3 id="22--">2.2 中心极限定理 ⭐</h3><blockquote><p><strong>不管原分布 $p(x)$ 长什么样</strong>，$m$ 个独立样本的均值 $\bar{x}$ 的分布 → <strong>正态分布</strong>。</p></blockquote>
<p>$$
\bar{x} \sim \mathcal{N}!\left(\mu,; \frac{\sigma^2}{m}\right)
$$</p><ul><li>$\mu$：原分布的均值</li><li>$\sigma^2/m$：均值的方差 → <strong>样本越多，精度越高</strong></li></ul><h3 id="-">💡 说人话</h3><blockquote><p>你测量某个物理量 100 次求平均，这个&quot;平均值&quot;的误差是单次测量误差的 $1/\sqrt{100}=1/10$。<strong>样本量翻 4 倍，精度翻 2 倍。</strong></p></blockquote>
<hr/><h2 id="3-">3. 随机数生成</h2><h3 id="31-">3.1 伪随机数要求</h3><table><thead><tr><th> 要求   </th><th> 说明                         </th></tr></thead><tbody><tr><td> 均匀性 </td><td> 在 $[0,1]$ 上均匀分布        </td></tr><tr><td> 去关联 </td><td> 相邻随机数之间相关性可忽略   </td></tr><tr><td> 长周期 </td><td> 重复之前能产生的序列尽可能长 </td></tr><tr><td> 速度快 </td><td> 算法效率高                   </td></tr></tbody></table><p>💡 <strong>实践建议</strong>：使用系统自带随机数生成器（如 <code>numpy.random</code>），不自己造轮子。</p><h3 id="32-box-muller-">3.2 高斯分布采样：Box-Muller 法</h3><p>把两个在 （0，1）上 独立均匀分布的随机数 （u1， u2），通过极坐标变换，变成两个独立的标准正态分布随机数！</p><p>因为电脑自带的随机数生成器/编程中，只能生成均匀分布的随机数，每个数字出现的概率一样大。但我们这里Guass想要得到的是标准正态分布的随机数，假设为 X和Y，有已知的pdf公式。</p><p>假设我们要同时生成两个独立的正态分布随机数 $X$ 和 $Y$。 把它们的概率公式乘起来，看看它们作为一个整体（在二维平面上的一个点 $(X,Y)$）的概率是多少：</p>
<p>$$
f(x, y) = f(x) \times f(y) = \frac{1}{2\pi} e^{-\frac{x^2 + y^2}{2}}
$$
有平方和，自然想到极坐标来表示可能会简化这个事情</p>
<p>$$
\frac{1}{2\pi} e^{-\frac{x^2 + y^2}{2}} dx dy = \frac{1}{2\pi} e^{-\frac{r^2}{2}} r dr d \theta
$$</p><p>$$
f(\theta) = \frac{1}{2\pi} ,\space \theta \in (0, 2\pi)
\
\space
\
f(r) = r e^{-\frac{r^2}{2}} , \space r \in (0, +\infty)
$$
二维分布被拆解成了两个完全独立的部分 可以尝试用 两个独立的均匀分布随机数 u1，u2 来生成它们</p><p>选择用 “<strong>逆变换采样法</strong>” 生成 $\theta$ 和 r</p><p><mark class="rounded-md"><span class="px-1">逆变换采样法的原理</span></mark>：如果知道一个随机变量的累积分布函数 CDF为 F（x），那么令 $F(x) = u$（其中 $u$ 是 $(0,1)$ 的均匀分布随机数），反解出 $x = F^{-1}(u)$，就能得到符合该分布的随机数。</p><p>就是说：假设你要生成的随机变量为 X，其CDF为 F（x） （严格单调递增）</p><p>逆变换法说：令 U = F（x），那么 U 一定服从 （0， 1）上的均匀分布！</p><p>proof：</p><p>对于任意 $u∈(0,1)$，看 U 的累积分布函数：</p>
<p>$$
P(U≤u)=P(F(X)≤u)
$$
因为 F 是单调递增函数，不等式 $F(X)≤u$两边同时作用反函数 $F^{-1}$，等价于：</p>
<p>$$
P(X≤F−1(u))
$$
根据分布函数 F的定义，</p>
<p>$$
P(X≤F^{−1}(u))=F(F^{−1}(u))=u
$$</p>
<p><strong>结论出来了：</strong></p><p>P(U≤u)=u</p><p>这正是 (0,1)均匀分布的累积分布函数！</p><p><strong>既然 U=F(X) 服从均匀分布，那么反过来：</strong>
如果我从均匀分布中取一个随机数 u，令 $x=F^{-1}(u)$，那么 x的分布函数一定就是 F(x)。</p><p>因为：</p>
<p>$$
P(X≤x)=P(F^{−1}(U)≤x)=P(U≤F(x))=F(x)
$$</p>
<p><strong>第一部分：角度 $\theta$</strong> 在 $0$ 到 $2\pi$ （即 360 度）之间是完全均匀分布的。 那怎么用均匀随机数 $u_2$ 来生成角度呢？很简单，直接按比例放大：</p><p>它的概率密度是 $f(\theta) = \frac{1}{2\pi}$。 求累积分布函数（CDF）：</p>
<p>$$
F(\theta) = \int<em>{0}^{\theta} \frac{1}{2\pi} dt = \frac{\theta}{2\pi}
$$
令 $F(\theta) = u</em>2$：</p>
<p>$$
\frac{\theta}{2\pi} = u<em>2 \implies \theta = 2\pi u</em>2
$$
<strong>第二部分：距离中心的半径 $R$</strong> 点落在距离圆心为 $R$ 的圆环上的概率，经过微积分推导，满足一个叫做“指数分布”的规律。 数学上有一个很成熟的方法（叫做逆变换采样），把均匀随机数 $u_1$ 变成指数分布。</p><p>它的概率密度是 $f(r) = r e^{-\frac{r^2}{2}}$。 求累积分布函数（CDF）：</p>
<p>$$
F(r) = \int_{0}^{r} s e^{-\frac{s^2}{2}} ds
$$
为了积这个分，我们令 $v = \frac{s^2}{2}$，那么 $dv = s ds$：</p>
<p>$$
F(r) = \int<em>{0}^{\frac{r^2}{2}} e^{-v} dv = \left[ -e^{-v} \right]</em>{0}^{\frac{r^2}{2}} = 1 - e^{-\frac{r^2}{2}}
$$
令 $F(r)$ 等于一个均匀随机数。这里有个小技巧：如果 $u<em>1$ 在 $(0,1)$ 上均匀分布，那么 $1 - u</em>1$ 同样在 $(0,1)$ 上均匀分布。为了方便，我们直接令 $1 - e^{-\frac{r^2}{2}} = 1 - u<em>1$（相当于令 $e^{-\frac{r^2}{2}} = u</em>1$）：</p>
<p>$$
e^{-\frac{r^2}{2}} = u_1
$$
两边取自然对数：</p>
<p>$$
-\frac{r^2}{2} = \ln(u<em>1)
\
\space
\
r = \sqrt{-2 \ln(u</em>{1})}
$$
现在我们已经用 $u<em>1$ 和 $u</em>2$ 求出了 $r$ 和 $\theta$，最后一步就是用极坐标定义把它塞回最初的 $X$ 和 $Y$ 里：</p>
<p>$$
X = r \cos\theta = \sqrt{-2 \ln(u<em>1)} \cos(2\pi u</em>2)
\
\space
\
Y = r \sin\theta = \sqrt{-2 \ln(u<em>1)} \sin(2\pi u</em>2)
$$
推导完成。通过这套严密的微积分坐标变换和积分反解，我们证明了只要输入两个均匀分布的 $u<em>1$ 和 $u</em>2$，输出的 $X$ 和 $Y$ 就必定是严格独立的标准正态分布。</p><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def box_muller(n):
    &quot;&quot;&quot;产生 n 个标准正态分布随机数&quot;&quot;&quot;
    u1 = np.random.uniform(0, 1, n)
    u2 = np.random.uniform(0, 1, n)
    r = np.sqrt(-2 * np.log(u1))
    theta = 2 * np.pi * u2
    return r * np.cos(theta)  # 另一组为 r * np.sin(theta)
</code></pre>
<h3 id="-">💡 直观验证</h3><p>对生成的 $10^4$ 个随机数：均值 ≈ 0，标准差 ≈ 1。画直方图应呈钟形曲线。</p><hr/><h2 id="4-">4. 蒙特卡洛积分</h2><p>核心：把积分写成期望值，再用随机样本平均来估计期望值！！！</p><h3 id="41-">4.1 空间随机投点法（打靶法）</h3><blockquote><p>计算 $\displaystyle I = \int_a^b f(x)dx$，用矩形区域包住函数曲线，然后&quot;撒点&quot;。</p><p>假设有 f(x) 是正定的，且大于0的同时有最大值 fmax</p><p>其积分就是 曲线下方的面积！！！</p></blockquote>
<p>用矩阵包住曲线，于是有 $\text{矩形面积}=(b-a)f_{\max}$</p><p>在矩形中随机撒点：</p>
<p>$$
x<em>i\sim U(a,b)
\
\space
\
y</em>i\sim U(0,f_{\max})
$$
如果：</p>
<p>$$
y<em>i\le f(x</em>i)
$$
说明点落在曲线下方。</p><p>设总点数 $N$，落在曲线下方点数 $n$，则：</p>
<p>$$
\frac{n}{N}
\approx
\frac{\text{曲线下面积}}{\text{矩形面积}}
$$
所以：</p>
<p>$$
\frac{n}{N}
\approx
\frac{I}{(b-a)f_{\max}}
$$
因此：</p>
<p>$$
\boxed{
I\approx
\frac{n}{N}(b-a)f_{\max}
}
$$
此估计是无偏估计！！！</p><pre class=""><code class="">┌─────────────────────┐
│    ○  ×  ○           │  f_max ↑
│  ○  ×  ×  ○  ×      │
│○  ×  ×  ○  ×  ×  ○ │          f(x) 曲线
│  ×  ×  ×  ○  ×  ×    │
│○  ×  ×  ○  ×  ×  ○ │
└─────────────────────┘
   a                  b
</code></pre>
<p>缺点在于 如果f（x） 大部分区域很小，而 fmax很大，那么会造成随机撒的点中，很多点都浪费了，虽然这个方法很直观，但是效率通常是不如期望值法！</p>
<h3 id="42--">4.2 期望值法 ⭐</h3><p>$$
I = \int<em>a^b f(x)dx \approx \frac{b-a}{N} \sum</em>{i=1}^{N} f(x<em>i), \quad x</em>i \in [a,b] \text{ 均匀采样}
$$</p><h4 id="">方差估计</h4><p>定义：</p>
<p>$$
\bar f
=
\frac1N\sum<em>{i=1}^N f(x</em>i)
$$
估计量：</p>
<p>$$
I_N=(b-a)\bar f
$$
假设样本独立同分布，则：</p>
<p>$$
\operatorname{Var}(\bar f)
=
\frac{\operatorname{Var}(f)}{N}
$$
其中：</p>
<p>$$
\operatorname{Var}(f)
=
\langle f^2\rangle-\langle f\rangle^2
$$
所以：</p>
<p>$$
\operatorname{Var}(I_N)
=
(b-a)^2\operatorname{Var}(\bar f)
$$
其中：</p>
<p>$$
\sigma<em>f^2
=
\frac1N\sum</em>{i=1}^N f(x<em>i)^2
-
\left(
\frac1N\sum</em>{i=1}^N f(x_i)
\right)^2
$$
误差：</p>
<p>$$
\boxed{
\sigma<em>I
=
(b-a)\frac{\sigma</em>f}{\sqrt N}
}
$$
蒙特卡洛误差的核心结论：</p><p>误差 与 N的平方根 成反比！！！</p><h3 id="-mc---">🔢 MC 算 π 例子</h3><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

N = 100000
x = np.random.uniform(-1, 1, N)
y = np.random.uniform(-1, 1, N)
inside = (x**2 + y**2 &lt;= 1).sum()
pi_est = 4 * inside / N
sigma = np.sqrt(pi_est * (4 - pi_est) / N)  # 二项式方差

print(f&quot;π ≈ {pi_est:.5f} ± {sigma:.5f}&quot;)
# 典型输出: π ≈ 3.14159 ± 0.00518
</code></pre>
<h3 id="43-">4.3 多维积分</h3><blockquote><p><strong>MC 积分的精度与维度无关</strong>——这是最大的优势！</p></blockquote>
<p>考虑 $d$ 维积分：</p>
<p>$$
I=
\int_\Omega f(\mathbf x),d^d x
$$
若区域体积是：</p>
<p>$$
V_\Omega
$$
均匀采样：</p>
<p>$$
\mathbf x_i\sim U(\Omega)
$$
则：</p>
<p>$$
I
=
V_\Omega \langle f\rangle
$$
估计：</p>
<p>$$
\boxed{
I<em>N=
\frac{V</em>\Omega}{N}
\sum<em>{i=1}^N f(\mathbf x</em>i)
}
$$
方差：</p>
<p>$$
\boxed{
\sigma<em>I^2
=
\frac{V</em>\Omega^2}{N}
\left(
\langle f^2\rangle-\langle f\rangle^2
\right)
}
$$
关键是：</p>
<p>$$
\sigma_I\propto \frac1{\sqrt N}
$$
这个 $1/\sqrt N$ 不显式依赖维度 $d$。</p>
<table><thead><tr><th> 定积分方法      </th><th> 误差 vs 维度                              </th></tr></thead><tbody><tr><td> 梯形法/辛普森法 </td><td> 误差 ∝ $N^{-k/d}$（$d$=维度，指数衰减！） </td></tr><tr><td> 蒙特卡洛法      </td><td> 误差 ∝ $1/\sqrt{N}$（<strong>与 $d$ 无关</strong>）    </td></tr></tbody></table><h3 id="-">💡 说人话</h3><blockquote><p>算 100 维积分时，网格法需要天文数字的网格点，因为维度d越大，收敛越慢。</p><p>MC 只需要足够多样本——<strong>维度灾难的克星</strong>。</p></blockquote>
<hr/><h2 id="5-importance-sampling">5. 重要性采样（Importance Sampling）</h2><h3 id="51-">5.1 动机</h3><blockquote><p>均匀采样低效——被积函数 $f(x)$ 在大部分区域接近零时，大量采样点&quot;浪费&quot;了。</p><p>在大的地方 多采样 ， 在小的地方 少采样！！！</p></blockquote>
<h3 id="52-">5.2 原理</h3><p>引入与 $f(x)$ 形状相似的采样函数 $F(x)$，要求$F(x)$ 在 $f(x)\ne0$ 的地方不能为0：</p>
<p>$$
I = \int \frac{f(x)}{F(x)} \cdot F(x) dx = \left\langle \frac{f}{F} \right\rangle_F
$$</p><p><strong>离散形式</strong> ：</p>
<p>$$
I \approx \frac{1}{N}\sum<em>{i=1}^{N} \frac{f(x</em>i)}{F(x<em>i)}, \quad x</em>i \sim F(x)
$$</p><p>估计量 p就是上文中的F：</p>
<p>$$
Y(x)=\frac{f(x)}{p(x)}
$$
那么：</p>
<p>$$
I<em>N=\frac1N\sum</em>i Y(x_i)
$$
方差：</p>
<p>$$
\operatorname{Var}(I<em>N)
=
\frac1N
\left[
\langle Y^2\rangle</em>p-\langle Y\rangle_p^2
\right]
$$
其中：</p>
<p>$$
\langle Y\rangle_p=I
$$
而：</p>
<p>$$
\langle Y^2\rangle_p
=
\int
\left(
\frac{f(x)}{p(x)}
\right)^2p(x),dx
$$
因此：</p>
<p>$$
\boxed{
\operatorname{Var}(I_N)
=
\frac1N
\left[
\int\frac{f(x)^2}{p(x)}dx
-
I^2
\right]
}
$$
这个公式告诉我们：</p><blockquote><p>如果 $p(x)$ 在 $f(x)$ 大的地方也大，那么 $\frac{f^2}{p}$ 不会太大，方差就小。</p></blockquote>
<h4 id="">最优重要性分布</h4><p>如果 $f(x)\ge 0$，理论最优选择是：</p>
<p>$$
p_{\text{opt}}(x)=\frac{f(x)}{\int f(x)dx}
$$
因为此时：</p>
<p>$$
\frac{f(x)}{p_{\text{opt}}(x)}
=
\int f(x)dx
=
I
$$
每个样本都给出同样结果，方差为 0。</p><p>但问题是：</p>
<p>$$
p_{\text{opt}}
$$
需要知道 $I$，而 $I$ 正是我们要求的。</p><p>所以实际中选择一个和 $f(x)$ 形状相似、但容易采样的 $p(x)$。</p><h3 id="-">💡 说人话</h3><blockquote><p>把&quot;平均撒点&quot;改成&quot;在 $f(x)$ 大的地方多撒、小的地方少撒&quot;——<strong>花同样的计算量，精度更高。</strong></p></blockquote>
<h3 id="-">🔢 数值示例</h3><p>求 $\displaystyle I = \int_0^3 x^2 e^{-x} dx$，已知 5 个 $[0,1]$ 随机数：0.033, 0.45, 0.51, 0.83, 0.95。</p><h4 id="">方法一：均匀采样</h4><p>$x<em>i = a + (b-a)t</em>i = 3t_i$</p><table><thead><tr><th> $t_i$ </th><th> $x_i$ </th><th> $f(x<em>i) = x</em>i^2 e^{-x_i}$ </th></tr></thead><tbody><tr><td> 0.033 </td><td> 0.099 </td><td> 0.009                     </td></tr><tr><td> 0.450 </td><td> 1.350 </td><td> 0.472                     </td></tr><tr><td> 0.510 </td><td> 1.530 </td><td> 0.508                     </td></tr><tr><td> 0.830 </td><td> 2.490 </td><td> 0.514                     </td></tr><tr><td> 0.950 </td><td> 2.850 </td><td> 0.470                     </td></tr></tbody></table><p>$$I \approx \frac{3}{5}(0.009+0.472+0.508+0.514+0.470) = \frac{3}{5} \times 1.973 = 1.184$$</p><p>$$\sigma_f^2 = \langle f^2\rangle - \langle f\rangle^2 \approx 0.298 - 0.156 = 0.142$$</p><p>$$\sigma<em>I = (b-a)\sqrt{\frac{\sigma</em>f^2}{N}} = 3\sqrt{\frac{0.142}{5}} \approx 0.506$$</p><p>可以看出 这个值本身接近精确值，但是 误差估计很大 因为样本量太少了！</p><h4 id="--px-propto--e-x">方法二：重要性采样 选取 $p(x) \propto  e^{-x}$</h4><p>因为被积分函数有类似 e的负x的形式 分布， 所以自然的 为重要性采样选取</p>
<p>$$
p(x) = C e^{-x} , x \in [0,3]
\
\space
\
归一化后，可以求的 \space C = \frac{1}{1-e^{-3}}
$$</p>
<p>现在：</p>
<p>$$
\frac{f(x)}{p(x)}
=
\frac{x^2e^{-x}}{e^{-x}/(1-e^{-3})}
$$
所以估计量变成：</p>
<p>$$
\boxed{
I<em>N=
\frac1N
\sum</em>{i=1}^N
(1-e^{-3})x_i^2
}
$$
其中：</p>
<p>$$
x_i\sim p(x)=\frac{e^{-x}}{1-e^{-3}}
$$
这比直接算 $x^2e^{-x}$ 波动小很多。</p><h4 id="-pxpropto-e-x-">如何从 $p(x)\propto e^{-x}$ 抽样？</h4><p>CDF：</p>
<p>$$
F(x)=\int_0^x\frac{e^{-t}}{1-e^{-3}}dt
$$
令：</p>
<p>$$
u=F(x)
$$
即：</p>
<p>$$
u=
\frac{1-e^{-x}}{1-e^{-3}}
$$
于是：</p>
<p>$$
u(1-e^{-3})=1-e^{-x}
$$
取负对数：</p>
<p>$$
\boxed{
x=
-\ln\left[
1-u(1-e^{-3})
\right]
}
$$
这才是标准的反函数采样公式, u是[0,1]的 均匀随机分布！</p>
<h3 id="-">📊 对比</h3><table><thead><tr><th> 方法       </th><th> $N$  </th><th> 估值    </th><th> 方差 $\sigma_I$ </th><th> 精度   </th></tr></thead><tbody><tr><td> 均匀采样   </td><td> 5    </td><td> 1.184   </td><td> 0.506           </td><td> 低     </td></tr><tr><td> 重要性采样 </td><td> 5    </td><td> ≈ 1.155 </td><td> <strong>远小于</strong>均匀  </td><td> <strong>高</strong> </td></tr></tbody></table><hr/><h2 id="6-">6. 随机行走与马尔可夫链</h2><h3 id="61-">6.1 一维随机行走</h3><blockquote><p>每一步以概率 $R$ 向右、$L$ 向左，步长 $\Delta x = l$ , R + L = 1</p></blockquote>
<ul><li>第 $k$ 步的随机变量：$\xi_k = \begin{cases} +l &amp; \text{概率 } R \ -l &amp; \text{概率 } L \end{cases}$</li><li>$n$ 步后位置：$X<em>n = \sum</em>{k=1}^{n} \xi_k$</li></ul><p>$$
\langle X_n\rangle = n \cdot [R \cdot l + L \cdot (-l)] = nl(R-L)
$$</p>
<p>$$
\sigma^2(X_n) = 4nRL \cdot l^2
$$</p><p>特殊的， 如果 R = L = 0.5</p><p>标准差：</p>
<p>$$
\sigma(X_n)=l\sqrt n
$$
这就是随机行走的典型结论：</p><blockquote><p>位移平均可能为 0，但扩散宽度随 $\sqrt n$ 增长。</p></blockquote>
<h3 id="-">💡 物理直觉</h3><p>设每步时间为：</p>
<p>$$
\tau
$$
则：</p>
<p>$$
t=n\tau
$$
无偏随机行走方差：</p>
<p>$$
\langle X^2\rangle=nl^2
$$
写成时间：</p>
<p>$$
\langle X^2\rangle=\frac{t}{\tau}l^2
$$
扩散方程中一维均方位移：</p>
<p>$$
\langle X^2\rangle=2Dt
$$
比较：</p>
<p>$$
2Dt=\frac{l^2}{\tau}t
$$
所以：</p>
<p>$$
\boxed{
D=\frac{l^2}{2\tau}
}
$$
这就是扩散系数。</p><p>如果有偏随机行走，还会出现漂移速度：</p>
<p>$$
v=\frac{l(R-L)}{\tau}
$$</p><blockquote><p>大量粒子独立随机行走 → 粒子分布演化为<strong>扩散方程</strong>：
$$\frac{\partial P(x,t)}{\partial t} = D\frac{\partial^2 P(x,t)}{\partial x^2}$$</p></blockquote>
<p>其中扩散系数 $D = \dfrac{l^2}{2\tau}$，$\tau$ 为每步时间。</p><h3 id="62-">6.2 马尔可夫过程</h3><blockquote><p><strong>定义</strong>：下一步只取决于当前状态，与历史无关。行走路径 = 马尔可夫链。</p></blockquote>
<p>马尔可夫过程的定义：</p>
<p>$$
P(X<em>{n+1}=j|X</em>n=i,X<em>{n-1},\dots,X</em>0)
=
P(X<em>{n+1}=j|X</em>n=i)
$$
意思是：</p><blockquote><p>下一步只依赖当前状态，不依赖过去历史。</p></blockquote>
<p>随机行走就是典型马尔可夫链。</p><h4 id="">转移概率矩阵</h4><p>设状态概率向量：
$$
\mathbf w(t)=
\begin{pmatrix}
w<em>1(t)\
w</em>2(t)\
w<em>3(t)\
w</em>4(t)
\end{pmatrix}
$$
其中：
$$
w<em>i(t)=P(\text{系统在状态 }i)
$$
转移矩阵 $W$ 定义为：
$$
W</em>{ij}=P(j\to i)
$$
注意你的讲义采用的是：</p><blockquote><p>第 $j$ 列表示从状态 $j$ 出发，转移到各状态的概率。</p></blockquote>
<p>因此每列之和为 1：
$$
\sum<em>i W</em>{ij}=1
$$</p><p>$$
W = \begin{pmatrix}
1-R &amp; L &amp; 0 &amp; 0 \
R &amp; 0 &amp; L &amp; 0 \
0 &amp; R &amp; 0 &amp; L \
0 &amp; 0 &amp; R &amp; 1-L
\end{pmatrix}
$$</p><ul><li>$W_{ij}$：从状态 $j$ 转移到状态 $i$ 的概率</li><li>每列之和 = 1（归一化）</li></ul><h4 id="">时间演化（矩阵形式）</h4><p>$$
\mathbf{w}(t+\Delta t) = W \cdot \mathbf{w}(t)
$$</p><p>$$
\mathbf{w}(n\Delta t) = W^n \cdot \mathbf{w}(0)
$$</p><h3 id="-">🔢 数值例子</h3><p>4 状态系统，$L=R=0.5$，初始 $\mathbf{w}(0) = (1,0,0,0)^T$：</p><pre class=""><code class="">t=0: [1.000, 0.000, 0.000, 0.000]
t=1: [0.500, 0.500, 0.000, 0.000]
t=2: [0.500, 0.250, 0.250, 0.000]
t=3: [0.500, 0.125, 0.250, 0.125]
...
平衡: (4/15, 8/15, 1/5) ≈ (0.267, 0.533, 0.200)  (3态例)
</code></pre>
<h3 id="-">💡 自然结论</h3><p>如果经过很久后分布不再变化：</p>
<p>$$
\mathbf w<em>* = W\mathbf w</em><em>
$$
这说明 $\mathbf w_</em>$ 是 $W$ 的本征矢量，对应本征值：</p>
<p>$$
\lambda=1
$$
所以：</p>
<p>$$
\boxed{
W\mathbf w<em>*=\mathbf w</em>*
}
$$
这就是平衡分布。</p><p>Perron-Frobenius 定理告诉我们，在合适条件下：</p><ul><li>转移矩阵非负；</li><li>马尔可夫链不可约；</li><li>非周期；</li></ul><p>则长期分布会收敛到唯一平衡分布。</p><blockquote><p>马尔可夫链<strong>演化到最后</strong>,分布 $\mathbf{w}(t)$ 收敛到转移矩阵 $W$ 的<strong>最大本征值对应的本征矢量</strong>（Perron-Frobenius 定理）。</p></blockquote>
<hr/><h2 id="7-metropolis--mcmc">7. Metropolis 算法与 MCMC</h2><h3 id="71-">7.1 平衡态与细致平衡</h3><p><strong>目标</strong>：从 Boltzmann 分布 $p(E) \propto e^{-\beta E}$ 采样。</p><p>我们想从某个复杂分布采样：</p>
<p>$$
p_i
$$
在统计物理中最常见的是 Boltzmann 分布：</p>
<p>$$
p<em>i=\frac{e^{-\beta E</em>i}}{Z}
$$
其中：</p>
<p>$$
Z=\sum<em>i e^{-\beta E</em>i}
$$
是配分函数。</p><p>问题：</p><blockquote><p>$Z$ 很难算，但 Metropolis 只需要概率比值。</p></blockquote>
<p>因为：</p>
<p>$$
\frac{p<em>j}{p</em>i}
=
\frac{e^{-\beta E<em>j}/Z}{e^{-\beta E</em>i}/Z}
\
\space
\
=
e^{-\beta(E<em>j-E</em>i)}
\
\space
\
=
e^{-\beta\Delta E}
$$
配分函数 $Z$ 抵消了。</p>
<p>系统趋于平衡态的条件——<strong>细致平衡</strong>（Detailed Balance）：
$$
W<em>{i\to j}, p</em>i = W<em>{j\to i}, p</em>j
$$</p><blockquote><p>意思是：$i \to j$ 的流量 = $j \to i$ 的流量 → 分布不再变化。</p></blockquote>
<p>总流入状态 $j$ 的概率：</p>
<p>$$
p<em>j&#x27;=\sum</em>i p<em>i W</em>{i\to j}
$$
如果细致平衡成立：</p>
<p>$$
p<em>iW</em>{i\to j}=p<em>jW</em>{j\to i}
$$
所以：</p>
<p>$$
p<em>j&#x27;
=
\sum</em>i p<em>j W</em>{j\to i}
$$
从状态 $j$ 出发到所有状态的概率和为 1：</p>
<p>$$
\sum<em>i W</em>{j\to i}=1
$$
所以：</p>
<p>$$
p<em>j&#x27;=p</em>j
$$
因此分布稳定。</p><h3 id="-">💡 说人话</h3><blockquote><p>好比教室里的座位：有人从 A 换到 B，有人从 B 换到 C ……当每个方向的人流相等时，座位分布稳定了。这就是&quot;热平衡&quot;的统计图像。</p></blockquote>
<h3 id="72-metropolis--20">7.2 Metropolis 算法 ⭐（20世纪十大算法之一）</h3><p>转移概率可以写成：</p>
<p>$$
W<em>{i\to j}=T</em>{i\to j}A_{i\to j}
$$
其中：</p><ul><li><strong>$T_{i\to j}$：提议概率；</strong></li><li><strong>$A_{i\to j}$：接受概率。</strong></li></ul><p>标准 Metropolis 假设提议对称：</p>
<p>$$
T<em>{i\to j}=T</em>{j\to i}
$$
细致平衡要求：</p>
<p>$$
p<em>iT</em>{i\to j}A<em>{i\to j}
=
p</em>jT<em>{j\to i}A</em>{j\to i}
$$
提议概率抵消：</p>
<p>$$
p<em>iA</em>{i\to j}=p<em>jA</em>{j\to i}
$$
所以：</p>
<p>$$
\frac{A<em>{i\to j}}{A</em>{j\to i}}
=
\frac{p<em>j}{p</em>i}
$$
Metropolis 选择，在上述中选择接受概率最大的那个，因为接受概率越大，链的“惰性”越小，随机游走探索的越快，收敛效率最高！概率的上线又是1，所以就把一个方向的概率顶到天花板1！</p>
<p>$$
\boxed{
A<em>{i\to j}
=
\min\left(1,\frac{p</em>j}{p_i}\right)
}
$$
这就是在满足物理约束下，最高效的走法！并不是“随便取的”，而是最优解</p><p>对于 Boltzmann 分布：</p>
<p>$$
\frac{p<em>j}{p</em>i}=e^{-\beta(E<em>j-E</em>i)}
=e^{-\beta\Delta E}
$$
所以：</p>
<p>$$
\boxed{
A_{i\to j}
=
\min(1,e^{-\beta\Delta E})
}
$$
如果：</p>
<p>$$
\Delta E=E<em>j-E</em>i\le 0
$$
说明新状态能量更低。</p><p>那么：</p>
<p>$$
e^{-\beta\Delta E}\ge 1
$$
所以：</p>
<p>$$
A=1
$$
总是接受。</p><p>如果：</p>
<p>$$
\Delta E&gt;0
$$
说明能量升高。</p><p>那么：</p>
<p>$$
A=e^{-\beta\Delta E}&lt;1
$$
以一定概率接受。</p><p>温度越高，$\beta=1/k_BT$ 越小，接受升能态概率越大。</p>
<pre class=""><code class="">算法：Metropolis 采样

1. 从当前构型 i，试探一个新构型 j（对称提议 T(i→j) = T(j→i)）
2. 计算能量差 ΔE = Ej - Ei
3. 接受概率：
   A(i→j) = min(1, e^{-β·ΔE})

   即：
   - 若 ΔE ≤ 0（能量降低）→ 总是接受
   - 若 ΔE &gt; 0（能量升高）→ 以概率 e^{-β·ΔE} 接受

4. 生成 [0,1] 均匀随机数 r：
   - 若 r ≤ e^{-β·ΔE} → 接受
   - 否则 → 拒绝，保留旧构型

5. 回到步骤 1

取 min：是因为我们要让算法跑得最快（接受率最大化），同时必须遵守详细平衡。

接受升能态：是为了让链能翻越势垒，不困在局部最优，从而获得正确的物理分布。

消掉 Z：是让这个算法在超大规模组合空间中变得可行（这是它横扫各个学科的根本原因）。
</code></pre>
<h3 id="-">🔢 数值例子</h3><p>设 $\beta=1$，当前能量 $E<em>i = 2$，试探态 $E</em>j = 3$：</p><ul><li>$\Delta E = 3 - 2 = +1 &gt; 0$</li><li>接受概率 $A = e^{-1} \approx 0.368$ 这个是接受去到新的试探态的概率上界 因为比这个小的代表能量差值会更大</li><li>生成随机数 $r = 0.5$ → 拒绝（$0.5 &gt; 0.368$）</li><li>生成随机数 $r = 0.2$ → 接受（$0.2 \leq 0.368$）</li></ul><h3 id="73-metropolis-hastings-">7.3 Metropolis-Hastings 算法</h3><p>推广到<strong>非对称提议分布</strong>：</p><p>$$
A(i\to j) = \min!\left(1,; \frac{p<em>j \cdot T(i|j)}{p</em>i \cdot T(j|i)}\right)
$$</p><ul><li>$T(j|i)$：提议从 $i$ 产生 $j$ 的概率</li><li>当 $T$ 对称时，退化为标准 Metropolis</li></ul><h3 id="74-mcmc-">7.4 MCMC 积分</h3><p>一次完整的 MCMC 期望值估计大概是这样展开的：先随便选一个初始构型 $x<em>0$，用 Metropolis（或其他满足细致平衡的规则）反复更新,产生 $x</em>1,x<em>2,\dots$；观察能量等量随步数的曲线 , 找到大致的热化拐点，将拐点之前的 $n</em>{\text{equil}}$ 步全部丢弃；对剩下的样本 $x<em>{n</em>{\text{equil}}+1},\dots,x<em>N$，计算感兴趣物理量的自相关函数 $C(t)$，从中拟合出 $\tau</em>{\text{int}}$；用剩余样本算出 $\langle A\rangle\approx\frac1N\sum A(x<em>i)$作为最佳估计,并用 $\sigma</em>{\bar A}\approx\sqrt{2\tau<em>{\text{int}}\operatorname{Var}(A)/N}$给出这个估计值的误差范围；如果发现 $\tau</em>{\text{int}}$太大（比如在相变点附近，系统会出现&quot;临界慢化&quot;，关联时间急剧变长），说明要么增加总步数 $N$，要么换用效率更高的算法（比如针对伊辛模型专门设计的 cluster algorithm，它能大幅缩短关联时间）。</p><h4 id="mcmc-">MCMC 估计期望值</h4><p>如果马尔可夫链收敛到目标分布 $p(x)$，那么样本：
$$
x<em>1,x</em>2,\dots,x<em>N
$$
虽然不是独立的，但长时间平均仍然可以估计：
$$
\langle A\rangle</em>p=\int A(x)p(x)dx
$$
即：
$$
\boxed{
\langle A\rangle
\approx
\frac1N\sum<em>{i=1}^N A(x</em>i)
}
$$</p><hr/><h4 id="mcmc-">MCMC 的两个重要问题</h4><h5 id="1-burn-in-">1. Burn-in 平衡段</h5><p>一开始链还没到平衡分布，需要扔掉前面一段：
$$
n_{\text{equil}}
$$
这叫 thermalization 或 burn-in。</p><h5 id="2-">2. 样本相关性</h5><p>MCMC 样本不是独立的。</p><p>如果当前状态是 $x<em>i$，下一个状态 $x</em>{i+1}$ 通常和它很像。</p><p>所以有效样本数小于总样本数。</p><p>误差估计应考虑自相关时间：
$$
N<em>{\text{eff}}\approx \frac{N}{2\tau</em>{\text{int}}}
$$
误差大约：
$$
\sigma<em>{\bar A}
\approx
\sqrt{
\frac{\operatorname{Var}(A)}{N</em>{\text{eff}}}
}
$$</p><pre class="language-python lang-python"><code class="language-python lang-python"># 伪代码：MCMC 积分框架

def mcmc_integral(target_pdf, proposal, n_equil, n_samples):
    &quot;&quot;&quot;
    target_pdf: 目标分布 p(x)
    proposal: 提议函数，给定 x 产生 x&#x27;
    n_equil: 平衡步数（扔掉）
    n_samples: 有效采样步数
    &quot;&quot;&quot;
    x = initial_state()
    samples = []

    for t in range(n_equil + n_samples):
        x_new = proposal(x)
        # Metropolis 接受/拒绝
        A = min(1, target_pdf(x_new) / target_pdf(x) * proposal_ratio)
        if np.random.uniform() &lt; A:
            x = x_new
        if t &gt;= n_equil:
            samples.append(x)

    return np.mean(samples), np.std(samples) / np.sqrt(n_samples)
</code></pre>
<h3 id="-">📊 三类采样方法对比</h3><table><thead><tr><th> 特性           </th><th> 直接采样     </th><th> 传统MC积分    </th><th> MCMC              </th></tr></thead><tbody><tr><td> 采样点是否独立 </td><td> ✅ 独立       </td><td> ✅ 独立        </td><td> ❌ 关联            </td></tr><tr><td> 能处理的分布   </td><td> 简单分布     </td><td> 均匀/简单加权 </td><td> <strong>几乎任意分布</strong>  </td></tr><tr><td> 关键需求       </td><td> 已知采样算法 </td><td> 计算 $f(x)$   </td><td> 知道分布比例      </td></tr><tr><td> 收敛速度       </td><td> 快           </td><td> 中等          </td><td> 慢（需平衡+关联） </td></tr></tbody></table><h3 id="-">💡 物理直觉</h3><blockquote><p>MCMC 的核心矛盾：<strong>牺牲&quot;样本独立&quot;换取&quot;能处理任意分布&quot;</strong>。就像你没法直接生成复杂波函数，但可以让体系按 Boltzmann 概率自己&quot;游走&quot;到各个态。</p></blockquote>
<hr/><h2 id="8--ising-">8. 二维 Ising 模型</h2><h3 id="81-">8.1 模型定义</h3><pre class=""><code class="">    ↑       ↑
    ↓   ↑   ↓   ← 自旋 σ_i = ±1
    ↑   ↓   ↑
        ↑

L × L 格点，总自旋数 N = L²
</code></pre>
<p><strong>能量</strong>（最近邻相互作用）：</p><p>$$
E = -J \sum<em>{\langle i,j\rangle} \sigma</em>i \sigma_j
$$</p><ul><li>$J&gt;0$：铁磁耦合（邻居同向 → 能量低）
同向，贡献 -J ； 反向， 贡献 +J 。 因此同向更低，因此低温下系统倾向于全部向上或全部向下</li><li>构型总数：$2^N$（指数级！必须 MC）
总自旋数为 L的平方，其中每个自旋有两种取值，所以总构型数为 $2^{N}$， 如果 L为20，那么最后 构型数为 $2^{400}$ 天文数字，必须用 Monte Carlo采样！！！</li></ul><p><strong>观测量</strong>：</p><table><thead><tr><th> 物理量   </th><th> 公式                                                         </th></tr></thead><tbody><tr><td> 磁化强度 </td><td> $M = \frac{1}{N}\sum<em>i \sigma</em>i$                             </td></tr><tr><td> 能量     </td><td> $E = -J\sum<em>{\langle i,j\rangle} \sigma</em>i \sigma_j$          </td></tr><tr><td> 比热     </td><td> $C<em>V = \frac{1}{k</em>B T^2}(\langle E^2\rangle - \langle E\rangle^2)$ </td></tr><tr><td> 磁化率   </td><td> $\chi = \frac{1}{k_B T}(\langle M^2\rangle - \langle M\rangle^2)$ </td></tr></tbody></table><h3 id="82-metropolis-ising-">8.2 Metropolis Ising 算法</h3><p>一次 sweep 通常指尝试更新 $N=L^2$ 次。</p><p>算法：</p><p>1、初始化自旋：</p>
<p>$$
\sigma_{ij}=\pm 1
$$
2、随机选择一个格点 $(i,j)$。</p><p>3、计算它四个邻居和：</p>
<p>$$
S=\sigma<em>{i+1,j}+\sigma</em>{i-1,j}+\sigma<em>{i,j+1}+\sigma</em>{i,j-1}
$$
4、计算：</p>
<p>$$
\Delta E=2J\sigma_{ij}
$$</p>
<p>5、接受规则：</p><ul><li>若 $\Delta E\le 0$，接受；</li><li>若 $\Delta E&gt;0$，以概率 $e^{-\beta\Delta E}$ 接受。</li></ul><p>6、重复。</p>
<p>为了减少边界效应，常用周期边界：
$$
\sigma<em>{i+L,j}=\sigma</em>{i,j}
$$
也就是格子左右相连，上下相连，拓扑上像一个环面。</p><p>代码中常用模运算：</p><pre class=""><code class="">Python

up = spins[(i+1) % L, j]

down = spins[(i-1) % L, j]

right = spins[i, (j+1) % L]

left = spins[i, (j-1) % L]
</code></pre>
<pre class=""><code class="">Metropolis MC for 2D Ising Model:

Parameters: L (格点大小), T (温度), β = 1/(k_B T), J (耦合常数)

1. 随机初始化 L×L 格点自旋 σ[i][j] = ±1

2. FOR mc_cycle = 1 to n_cycles:
     FOR 每个格点 (随机顺序遍历一次 = 1 sweep):
       a. 翻转该自旋，计算能量变化 ΔE
       b. 2D Ising 中 ΔE 只有 5 种可能：
          ΔE ∈ { -8J, -4J, 0, +4J, +8J }
       c. 若 ΔE ≤ 0 → 接受翻转
          若 ΔE &gt; 0 → 以 p = e^{-β·ΔE} 接受
     ENDFOR
     记录 E, M 等观测量

3. 输出 ⟨E⟩, ⟨M⟩, C_V, χ 及其统计误差
</code></pre>
<h3 id="--e--5-">💡 为什么 ΔE 只有 5 种值？</h3><p>Metropolis 算法中，每次尝试翻转一个自旋：</p>
<p>$$
\sigma<em>k\to -\sigma</em>k
$$
只有与这个自旋相关的能量项会变化。</p><p>原来和邻居的相互作用能：</p>
<p>$$
E<em>{\text{old}}
=
-J\sigma</em>k\sum<em>{\text{nn}}\sigma</em>j
$$
翻转后：</p>
<p>$$
\sigma<em>k&#x27;=-\sigma</em>k
$$
所以：</p>
<p>$$
E<em>{\text{new}}
=
-J(-\sigma</em>k)\sum<em>{\text{nn}}\sigma</em>j
$$
能量变化：</p>
<p>$$
\Delta E
=
E<em>{\text{new}}-E</em>{\text{old}}
$$
所以：</p>
<p>$$
\boxed{
\Delta E
=
2J\sigma<em>k
\sum</em>{\text{邻居}}\sigma_j
}
$$
二维正方格子每个格点有 4 个邻居。</p><p>邻居和可能是：</p>
<p>$$
-4,-2,0,2,4
$$
因此：</p>
<p>$$
\Delta E
=
2J\sigma_k
(-4,-2,0,2,4)
$$
所以只可能是：</p>
<p>$$
\boxed{
\Delta E\in{-8J,-4J,0,4J,8J}
}
$$</p><blockquote><p>2D 正方格子中每个自旋有 <strong>4 个邻居</strong>（上下左右）。翻转一个 $\sigma<em>k \to -\sigma</em>k$：</p><p>$$\Delta E = 2J \sigma<em>k \sum</em>{\text{邻居}} \sigma_{\text{邻居}}$$</p><p>4 个邻居的和只能是 $-4, -2, 0, 2, 4$ → $\Delta E = -8J, -4J, 0, 4J, 8J$（5 种）。</p></blockquote>
<h3 id="-">🔢 典型结果</h3><p>二维 Ising 模型有精确临界温度：</p>
<p>$$
\boxed{
k<em>BT</em>c
=
\frac{2J}{\ln(1+\sqrt2)}
}
$$
数值：</p>
<p>$$
\boxed{
T<em>c\approx 2.269\frac{J}{k</em>B}
}
$$
现象：</p><ul><li>$T：铁磁相，自发磁化；</li><li>$T&gt;T_c$：顺磁相，平均磁化为 0；</li><li>$T=T_c$：涨落最大，比热和磁化率出现临界行为。</li></ul><table><thead><tr><th> 物理现象   </th><th> 说明                                    </th></tr></thead><tbody><tr><td> 一维 Ising </td><td> <strong>无相变</strong>（$T_c=0$）                   </td></tr><tr><td> 二维 Ising </td><td> <strong>二级相变</strong>，$T<em>c \approx 2.269 J/k</em>B$ </td></tr><tr><td> 低于 $T_c$ </td><td> 自发磁化 $M \neq 0$                     </td></tr><tr><td> 高于 $T_c$ </td><td> $M=0$，顺磁态                           </td></tr></tbody></table><h3 id="83-kt-2016-">8.3 KT 相变（2016 诺贝尔物理奖）</h3><p>二维 XY 模型自旋不是 $\pm1$，而是角度：</p>
<p>$$
\mathbf S<em>i=(\cos\theta</em>i,\sin\theta_i)
$$
低温下会出现涡旋-反涡旋束缚对。</p><p>高温时涡旋对解离。</p><p>这就是 Kosterlitz-Thouless 相变。</p><p>特点：</p><ul><li>没有普通意义上的长程磁化；</li><li>是拓扑缺陷驱动的相变；</li><li>2016 年诺贝尔物理奖相关。</li></ul><blockquote><p>二维 XY 模型中的 <strong>Kosterlitz-Thouless 相变</strong>：低温下涡旋-反涡旋成对束缚 → 高温下解耦 → <strong>拓扑相变</strong>（无自发磁化，但有超流/超导性质的突变）。</p></blockquote>
<hr/><h2 id="9-qmc">9. 量子蒙特卡洛（QMC）</h2><h3 id="--qmc">💡 为什么需要 QMC？</h3><p>主要用于量子多体问题！！！</p><blockquote><p>量子多体波函数 $\Psi(R<em>1, \ldots, R</em>N)$ 不是简单概率分布，维度是3N。如果N很大，直接网格法解析求解几乎不可能，所以用Monte Carlo在高维构型空间采样。QMC 是<strong>唯一能精确计算大体系的方法</strong>。</p></blockquote>
<h3 id="91-vmc">9.1 变分量子蒙特卡洛（VMC）</h3><p>能量期望：</p>
<p>$$
E<em>T
=
\frac{
\int \Psi</em>T^*(R)\hat H\Psi<em>T(R),dR
}
{
\int |\Psi</em>T(R)|^2dR
}
$$
假设波函数实数，写成：</p>
<p>$$
E<em>T
=
\frac{
\int |\Psi</em>T(R)|^2
\frac{\hat H\Psi<em>T(R)}{\Psi</em>T(R)}
dR
}
{
\int |\Psi_T(R)|^2dR
}
$$
定义概率分布：</p>
<p>$$
P(R)=
\frac{|\Psi<em>T(R)|^2}
{
\int |\Psi</em>T(R)|^2dR
}
$$
定义局域能量：</p>
<p>$$
\boxed{
E<em>L(R)=
\frac{\hat H\Psi</em>T(R)}{\Psi_T(R)}
}
$$
于是：</p>
<p>$$
\boxed{
E<em>T=
\int P(R)E</em>L(R)dR
}
$$
用 MC 估计：</p>
<p>$$
\boxed{
E<em>T\approx
\frac1N\sum</em>{i=1}^N E<em>L(R</em>i)
}
$$
其中：</p>
<p>$$
R<em>i\sim |\Psi</em>T(R)|^2
$$</p><h4 id="">框架</h4><ol start="1"><li>构造试探波函数 $\Psi_T(R; \alpha)$，含变分参数 $\alpha$</li><li>用 Metropolis 从 $P(R)\propto |\Psi_T(R;\alpha)|^2$ 采样空间构型 $R$</li><li>对每个样本计算<strong>局域能量</strong>：</li></ol><p>$$
E<em>L(R) = \frac{\hat{H}\Psi</em>T(R)}{\Psi_T(R)}
$$</p><ol start="4"><li>求能量期望值：</li></ol><p>$$
\langle E<em>{L} \rangle = \frac{\int |\Psi</em>T|^2 E<em>L dR}{\int |\Psi</em>T|^2 dR} \approx \frac{1}{N}\sum<em>{i=1}^{N} E</em>L(R_i) = E(\alpha)
$$</p><ol start="5"><li>优化 $\alpha$ 使 $E(\alpha)$ 最小</li></ol><h3 id="-">💡 说人话</h3><blockquote><p>VMC = <strong>聪明的猜谜</strong>：猜一个波函数形状，MC 采样→算能量→调参数让能量尽可能低。如果 $E_L$ 不随构型变化，说明波函数就是精确的！</p></blockquote>
<h4 id="">为什么局域能量恒定说明是精确本征态？</h4><p>如果：</p>
<p>$$
\Psi_T
$$
正好是 Hamiltonian 的本征态：</p>
<p>$$
\hat H\Psi<em>T=E\Psi</em>T
$$
那么：</p>
<p>$$
E<em>L(R)=
\frac{\hat H\Psi</em>T(R)}{\Psi<em>T(R)}
=
\frac{E\Psi</em>T(R)}{\Psi_T(R)}
=
E
$$
它不依赖 $R$。</p><p>所以局域能量方差为零。</p><p>这就是 VMC 中常说的：</p><blockquote><p>精确波函数的局域能量没有涨落。</p></blockquote>
<h3 id="--vmc-">🔢 谐振子 VMC 例子</h3><p>试探波函数：$\Psi_T(x) = e^{-\alpha x^2/2}$</p><p>哈密顿量：$\hat{H} = -\frac{1}{2}\frac{d^2}{dx^2} + \frac{1}{2}x^2$</p><p>局域能量：
$$
E<em>L(x) = \frac{\hat{H}\Psi</em>T}{\Psi_T} = \frac{\alpha}{2} +  \frac{1-\alpha^{2}}{2} x^{2}
$$</p><ul><li>$\alpha=1$ 时：$E_L = 1/2$（与 $x$ 无关！）= 精确解 标准一维谐振子基态能量！</li><li>对 $\alpha=1$ 做 VMC：$\langle E\rangle \to 1$，方差 $\to 0$</li></ul><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def vmc_harmonic_oscillator(alpha, N_mc=100000):
    &quot;&quot;&quot;VMC for 1D harmonic oscillator&quot;&quot;&quot;
    # Metropolis 从 |psi|^2 ∝ exp(-alpha*x^2) 采样
    x = 0.0
    delta = 1.0 / np.sqrt(alpha)
    samples = []

    for i in range(N_mc):
        x_new = x + delta * np.random.uniform(-1, 1)
        # 接受率 = |psi(x_new)/psi(x)|^2
        ratio = np.exp(-alpha * (x_new**2 - x**2))
        if np.random.uniform() &lt; min(1, ratio):
            x = x_new
        samples.append(x)

    # 局域能量
    x_arr = np.array(samples[N_mc//2:])  # 扔掉平衡段
    e_local = alpha**2 + x_arr**2 * (1 - alpha**4)

    return np.mean(e_local), np.std(e_local)/np.sqrt(len(x_arr))

E, err = vmc_harmonic_oscillator(alpha=1.0)
print(f&quot;&lt;E&gt; = {E:.4f} ± {err:.4f}&quot;)  # 应接近 1.0
</code></pre>
<h3 id="92-dmc">9.2 扩散蒙特卡洛（DMC）</h3><p>DMC 的思想来自虚时间 Schrödinger 方程。</p><p>真实时间 Schrödinger 方程：</p>
<p>$$
i\frac{\partial \Psi}{\partial t}
=
\hat H\Psi
$$
做虚时间变换：</p>
<p>$$
t=-i\tau
$$
则方程变成类似：</p>
<p>$$
-\frac{\partial \Psi}{\partial \tau}
=
(\hat H-E_T)\Psi
$$
或者：</p>
<p>$$
\frac{\partial \Psi}{\partial \tau}
=
-(\hat H-E_T)\Psi
$$
设：</p>
<p>$$
\hat H=
-\frac12\nabla^2+V(R)
$$
则：</p>
<p>$$
\frac{\partial \Psi}{\partial \tau}
=
\frac12\nabla^2\Psi
-
[V(R)-E_T]\Psi
$$
这有两部分：</p><ol start="1"><li><p>扩散项：</p>
<p>$$
\frac12\nabla^2\Psi
$$</p></li><li><p>生灭项：</p>
<p>$$
-[V(R)-E_T]\Psi
$$</p></li></ol><h4 id="">为什么虚时间会投影到基态？</h4><p>把初始波函数按本征态展开：</p>
<p>$$
\Psi(R,0)=\sum<em>n c</em>n\phi_n(R)
$$
其中：</p>
<p>$$
\hat H\phi<em>n=E</em>n\phi_n
$$
虚时间演化：</p>
<p>$$
\Psi(R,\tau)
=
e^{-(\hat H-E<em>T)\tau}\Psi(R,0)
$$
如果取 $E</em>T$ 接近基态能量，那么高能态：</p>
<p>$$
E<em>n&gt;E</em>0
$$
会衰减得更快。</p><p>当：</p>
<p>$$
\tau\to\infty
$$
只剩基态：</p>
<p>$$
\Psi(R,\tau)\propto \phi_0(R)
$$
所以 DMC 可以投影出基态。</p><h4 id="dmc--walker-">DMC 的 walker 图像</h4><p>用一群 walkers 表示波函数分布。</p><p>每个 walker 做两件事：</p><h5 id="1-">1. 扩散</h5><p>$$
R\to R+\sqrt{\Delta\tau},\eta
$$
其中 $\eta$ 是高斯随机数。</p><h5 id="2--branching">2. 分支 branching</h5><p>根据势能决定 walker 生灭。</p><p>如果：</p>
<p>$$
V(R)&lt;E_T
$$
该区域权重大，walker 增殖。</p><p>如果：</p>
<p>$$
V(R)&gt;E_T
$$
该区域权重小，walker 死亡。</p><p>最后 walker 分布趋向基态波函数相关分布。</p><h4 id="dmc">DMC的难点：费米子符号问题</h4><p>玻色子基态可以取正，DMC 比较自然。</p><p>但费米子波函数反对称，会有正负号：</p>
<p>$$
\Psi(...,r<em>i,...,r</em>j,...)
=
-\Psi(...,r<em>j,...,r</em>i,...)
$$
概率解释困难，正负 walker 会相互抵消，噪声指数增长。</p><p>这就是 sign problem。</p><p>常用近似是 fixed-node approximation：用试探波函数的节点面固定符号结构。</p>
<table><thead><tr><th> 对比   </th><th> VMC                        </th><th> DMC                              </th></tr></thead><tbody><tr><td> 原理   </td><td> 变分原理 + Metropolis 采样 </td><td> 虚时间 Schrödinger 方程演化      </td></tr><tr><td> 波函数 </td><td> 需要好的试探函数           </td><td> 可以<strong>精确</strong>得到基态（给定节点） </td></tr><tr><td> 实现   </td><td> 随机行走在坐标空间         </td><td> walkers 的扩散 + 分支过程        </td></tr><tr><td> 难点   </td><td> 试探波函数选择             </td><td> 费米子符号问题（Sign Problem）   </td></tr></tbody></table><h3 id="-dmc-">💡 DMC 物理直觉</h3><blockquote><p>把 Schrödinger 方程的 $t \to -i\tau$（虚时间），它就变成了<strong>扩散方程 + 势能项</strong>。Walkers（采样粒子）像布朗粒子一样扩散，同时在高势能区域&quot;死亡&quot;、低势能区域&quot;增殖&quot;。最终 walker 分布 → 基态波函数。</p></blockquote>
<h3 id="93-pimc">9.3 路径积分蒙特卡洛（PIMC）</h3><p>PIMC 用于有限温度量子系统。</p><p>目标是计算配分函数：</p>
<p>$$
Z=\operatorname{Tr}(e^{-\beta \hat H})
$$
把：</p>
<p>$$
\beta
$$
分成 $M$ 个小片：</p>
<p>$$
\Delta\tau=\frac{\beta}{M}
$$
则：</p>
<p>$$
e^{-\beta H}
=
\left(e^{-\Delta\tau H}\right)^M
$$
插入 $M$ 次完备坐标基：</p>
<p>$$
I=\int dR |R\rangle\langle R|
$$
得到路径积分形式。</p><p>物理图像：</p><blockquote><p>一个量子粒子在有限温度下等价于一条闭合的虚时间路径。
 多粒子系统变成很多“聚合物环”的统计采样。</p></blockquote>
<p>PIMC 适合：</p><ul><li>有限温度；</li><li>玻色体系；</li><li>超流；</li><li>量子液体；</li><li>量子晶体。</li></ul><p>但费米子仍有严重 sign problem。</p><blockquote><p>对多个虚时间路径采样，可直接计算<strong>配分函数</strong> $Z = \text{Tr}(e^{-\beta H})$，适用于有限温度量子体系。</p></blockquote>
<hr/><h2 id="10-">10. 总结对比表</h2><h3 id="-">📊 蒙特卡洛方法族谱</h3><table><thead><tr><th> 方法           </th><th> 核心思想                     </th><th> 适用场景                 </th><th> 关键技巧                       </th></tr></thead><tbody><tr><td> <strong>MC 积分</strong>    </td><td> 均匀/加权随机采样            </td><td> 高维积分、算 π           </td><td> 投点法、期望值法               </td></tr><tr><td> <strong>重要性采样</strong> </td><td> 在函数大值区多采样           </td><td> $f(x)$ 有尖峰            </td><td> 选择好的 $F(x)\approx f(x)$    </td></tr><tr><td> <strong>MCMC</strong>       </td><td> 马尔可夫链趋于平衡分布       </td><td> 任意复杂分布             </td><td> Metropolis-Hastings            </td></tr><tr><td> <strong>Metropolis</strong> </td><td> 能量差决定接受概率           </td><td> 统计物理、Boltzmann 分布 </td><td> $A=\min(1,e^{-\beta\Delta E})$ </td></tr><tr><td> <strong>VMC</strong>        </td><td> $</td><td>\Psi_T</td><td>^2$ 采样 + 变分优化 </td><td> 量子多体基态             </td><td> 试探波函数是关键               </td></tr><tr><td> <strong>DMC</strong>        </td><td> 虚时间扩散 + 分支            </td><td> 精确基态能量             </td><td> 克服符号问题                   </td></tr><tr><td> <strong>PIMC</strong>       </td><td> 虚时间路径积分采样           </td><td> 有限温度量子体系         </td><td> 配分函数计算                   </td></tr></tbody></table><h3 id="-">🧠 核心要点速记</h3><table><thead><tr><th> 概念              </th><th> 一句话                                              </th></tr></thead><tbody><tr><td> 中心极限定理      </td><td> $m$ 个样本均值 ~ 正态分布，方差为 $\sigma^2/m$      </td></tr><tr><td> MC 积分的优势     </td><td> <strong>误差与维度无关</strong>（高维积分的王牌）                </td></tr><tr><td> 细致平衡          </td><td> $W<em>{ij} p</em>i = W<em>{ji} p</em>j$ — 平衡态的充分条件        </td></tr><tr><td> Metropolis 接受率 </td><td> $A = \min(1, e^{-\beta\Delta E})$ — 无比简洁        </td></tr><tr><td> MCMC 核心矛盾     </td><td> 牺牲独立性 ↔ 换取任意分布的采样能力                 </td></tr><tr><td> VMC 变分原理      </td><td> $\langle E\rangle \geq E_0$（永远不低于真实基态能） </td></tr><tr><td> DMC 符号问题      </td><td> 费米子交换 → 负概率 → 计算困难                      </td></tr></tbody></table><hr/><p><em>Akuiro 整理补充 2026-07-05</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Monte-Carlo#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Monte-Carlo</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Monte-Carlo</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 05 Jul 2026 13:25:52 GMT</pubDate></item><item><title><![CDATA[偏微分方程计算方法初步]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Partial-differential-equation">https://akuiro24.xyz/posts/default/Partial-differential-equation</a></blockquote><div><blockquote><p>核心主题：有限差分法、基矢展开法（含 DVR）、B-样条、小波分析、有限元法、复杂边界条件处理</p></blockquote>
<hr/><h2 id="">目录</h2><ol start="1"><li><a href="#ch1">第一章：偏微分方程的有限差分法</a></li><li><a href="#ch2">第二章：二维 Poisson 方程 — 五点差分与矩阵形式</a></li><li><a href="#ch3">第三章：边界条件的三类处理</a></li><li><a href="#ch4">第四章：傅里叶微分算符与 FFT</a></li><li><a href="#ch5">第五章：基矢展开法求微分方程</a></li><li><a href="#ch6">第六章：离散变量表示 DVR</a></li><li><a href="#ch7">第七章：B-样条展开法</a></li><li><a href="#ch8">第八章：小波分析与多小波展开</a></li><li><a href="#ch9">第九章：有限元方法 FEM</a></li><li><a href="#ch10">第十章：边界条件进阶 — 多极展开、周期性、Twisted</a></li><li><a href="#ch11">第十一章：Jacobi 松弛迭代法</a></li><li><a href="#summary">总结与对比</a></li></ol><h2 id="">第一章：偏微分方程的有限差分法</h2><h3 id="-">💡 物理直觉</h3><p>偏微分方程（PDE）在物理中无处不在——<strong>Poisson 方程</strong>描述静电势、引力势；<strong>Schrödinger 方程</strong>描述量子系统的波函数；<strong>扩散方程</strong>描述热传导和物质输运。它们共同的特点是多变量 (x, y, z) 通过函数耦合在一起。</p><blockquote><p><strong>说人话</strong>：解一维问题就像走钢丝，解二维三维问题就像走钢丝网——你必须同时照顾好所有方向的&quot;约束力&quot;。</p></blockquote>
<h3 id="">从一维到二维的推广</h3><p>一维有限差分中，二阶导数离散化为：</p><p>$$
u&#x27;&#x27;(x<em>i) \approx \frac{u</em>{i+1} - 2u<em>i + u</em>{i-1}}{h^2}
$$</p><p>在二维网格上，点 $(x<em>i, y</em>j)$ 的 Laplace 算子 $\nabla^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}$ 变成<strong>五点差分</strong>：</p><p>$$
\nabla^2 u\big|<em>{i,j} \approx \frac{u</em>{i+1,j} + u<em>{i-1,j} + u</em>{i,j+1} + u<em>{i,j-1} - 4u</em>{i,j}}{h^2}
$$</p><h4 id="">五点查分的具体推导：</h4><p>二维 Laplace 算子是：</p>
<p>$$
\nabla^2 u
=
\frac{\partial^2 u}{\partial x^2}
+
\frac{\partial^2 u}{\partial y^2}
$$
在均匀网格上：</p>
<p>$$
x<em>i=x</em>0+ih,\qquad y<em>j=y</em>0+jh
$$
函数值记为：</p>
<p>$$
u<em>{i,j}=u(x</em>i,y_j)
$$
对 $x$ 方向二阶导：</p>
<p>$$
\frac{\partial^2 u}{\partial x^2}\bigg|<em>{i,j}
\approx
\frac{u</em>{i+1,j}-2u<em>{i,j}+u</em>{i-1,j}}{h^2}
$$
对 $y$ 方向二阶导：</p>
<p>$$
\frac{\partial^2 u}{\partial y^2}\bigg|<em>{i,j}
\approx
\frac{u</em>{i,j+1}-2u<em>{i,j}+u</em>{i,j-1}}{h^2}
$$
两者相加：</p>
<p>$$
\nabla^2 u\big|<em>{i,j}
\approx
\frac{
u</em>{i+1,j}
+u<em>{i-1,j}
+u</em>{i,j+1}
+u<em>{i,j-1}
-4u</em>{i,j}
}{h^2}
$$
这就是二维五点差分格式。</p><p>如果 x,y 方向上 网格间距不同</p><p>若：</p>
<p>$$
h<em>x\neq h</em>y
$$
则：</p>
<p>$$
\nabla^2 u\big|<em>{i,j}
\approx
\frac{u</em>{i+1,j}-2u<em>{i,j}+u</em>{i-1,j}}{h<em>x^2}
+
\frac{u</em>{i,j+1}-2u<em>{i,j}+u</em>{i,j-1}}{h_y^2}
$$
整理：</p>
<p>$$
\nabla^2 u\big|<em>{i,j}
\approx
\frac{u</em>{i+1,j}+u<em>{i-1,j}}{h</em>x^2}
+
\frac{u<em>{i,j+1}+u</em>{i,j-1}}{h<em>y^2}
-
2\left(
\frac{1}{h</em>x^2}
+
\frac{1}{h<em>y^2}
\right)u</em>{i,j}
$$
如果 $h<em>x=h</em>y=h$，就退化为五点公式。</p><h3 id="-">📐 直观理解：一个点要&quot;看&quot;四个邻居</h3><p>五点公式：</p>
<p>$$
\nabla^{2}u<em>{i,j} \approx \frac{u</em>{i+1,j}+u<em>{i-1,j}+u</em>{i,j+1}+u<em>{i,j-1}-4u</em>{i,j}}{h^{2}}
$$
可以写成：</p>
<p>$$
\nabla^{2}u<em>{i,j} \approx \frac{4}{h^2}\left(\frac{u</em>{i+1,j}+u<em>{i-1,j}+u</em>{i,j+1}+u<em>{i,j-1}}{4} -u</em>{i,j}\right)
$$</p>
<p>也就是说 约等于 邻居的平均值 减去 自身 就是 $\nabla^{2}$</p><p>所以：</p><ul><li>如果 $u_{i,j}$ 大于周围平均值，Laplace 值偏负；</li><li>如果 $u_{i,j}$ 小于周围平均值，Laplace 值偏正；</li><li>如果 $u_{i,j}$ 等于周围平均值，Laplace 值为零。</li></ul><pre class=""><code class="">            u[i, j+1]
               ↑
u[i-1, j] ← u[i, j] → u[i+1, j]
               ↓
            u[i, j-1]
</code></pre><blockquote>
<p><strong>说人话</strong>：在格点上算二阶导数，就是拿上下左右四个邻居的值减去4倍自己，再除以格距平方。这本质上是在问：&quot;我和邻居们的平均值差了多少？&quot;</p></blockquote>
<p>以此 ， 可以解释 调和函数 可以导出的平均值性质：</p>
<p>$$
\nabla^{2}u = 0  \Longrightarrow  u<em>{i,j} = \frac{u</em>{i+1,j}+u<em>{i-1,j}+u</em>{i,j+1}+u_{i,j-1}}{4}
$$
即，没有源的时候，一个点的值等于周围“邻居” 的平均值</p><p>同理 可以推广到 三维时候的 七点差分（就是看一共六个“邻居”）</p><hr/><h2 id="-poisson---">第二章：二维 Poisson 方程 — 五点差分与矩阵形式</h2><h3 id="-">💡 物理直觉</h3><p>泊松方程 $\nabla^2 u = -f$ 的物理意义：给定一个&quot;源&quot;分布 $f$（如电荷密度），求它产生的&quot;势&quot; $u$（如电势）。五点差分把这个连续问题转化为一个巨大的线性方程组。</p>
<p>$$
4u<em>{i,j} -u</em>{i+1,j} -u<em>{i-1,j} -u</em>{i,j+1} -u<em>{i,j-1} = h^2 f</em>{i,j}
$$</p><h3 id="">重要提醒：两种矩阵约定</h3><p>这里有一个非常容易混乱的地方。</p><h4 id="-a-1h2">约定 A：矩阵里面保留 $1/h^2$</h4><p>写成：</p>
<p>$$
A=\frac{1}{h^2}A<em>0
$$
其中 $A</em>0$ 的主对角是 $4$，邻居位置是 $-1$。</p><p>此时右端应该是：</p>
<p>$$
b=f+\frac{\text{边界贡献}}{h^2}
$$</p><hr/><h4 id="-b-h2">约定 B：整体乘以 $h^2$</h4><p>写成：
$$
A_0\mathbf u=\mathbf b
$$
此时右端是：
$$
b=h^2f+\text{边界贡献}
$$
你给的伪代码：</p><pre class=""><code class="">Python

b[k] = f[i][j] * h**2

b[k] += boundary_value
</code></pre>
<p>对应的是第二种约定，也就是矩阵中不带 $1/h^2$。</p><p>如果矩阵写成：
$$
A=\frac1{h^2}A_0
$$
那么 RHS 就不该写 $f h^2$，而应该写 $f$。</p>
<h3 id="33-">具体数值例子：3×3 内部格点</h3><p>设求解区域内部有 3×3 = 9 个未知格点，边界值已知（Dirichlet 条件）。</p><p><strong>步骤 1：把 2D 格点&quot;拉直&quot;成一维向量</strong></p><p>设未知函数在格点 $(i,j)$ 处的值为 $u_{i,j}$。按行（或列）排列：</p><p>$$
\mathbf{u} = [u<em>{1,1}, u</em>{1,2}, u<em>{1,3}, u</em>{2,1}, u<em>{2,2}, u</em>{2,3}, u<em>{3,1}, u</em>{3,2}, u_{3,3}]^T
$$</p><p>这就是<strong>投影转为一维</strong>的核心思想——多维问题的本质就是把高维指标压扁成一个长向量。</p><p><strong>步骤 2：构建微分算符矩阵 A</strong></p><p>$A = \frac{1}{h^2} A_{0}$</p><p>对内部 3×3 网格，离散 Laplace 算子对应的矩阵为 9×9 分块三对角形式。取 $h=1$ 简化说明：</p><p>$$
A = \frac{1}{h^2}
\begin{bmatrix}
4 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; 0 \
-1 &amp; 4 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 \
0 &amp; -1 &amp; 4 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 0 \
-1 &amp; 0 &amp; 0 &amp; 4 &amp; -1 &amp; 0 &amp; -1 &amp; 0 &amp; 0 \
0 &amp; -1 &amp; 0 &amp; -1 &amp; 4 &amp; -1 &amp; 0 &amp; -1 &amp; 0 \
0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 4 &amp; 0 &amp; 0 &amp; -1 \
0 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; 0 &amp; 4 &amp; -1 &amp; 0 \
0 &amp; 0 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 4 &amp; -1 \
0 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; -1 &amp; 0 &amp; -1 &amp; 4
\end{bmatrix}
$$</p><blockquote><p><strong>说人话</strong>：矩阵每行最多 5 个非零元——主对角线是 4（自己），周围的 -1 对应上下左右四个邻居。矩阵是<strong>稀疏的、对称的、正定的</strong>。这种结构在工程中叫&quot;块三对角&quot;（block tridiagonal）。</p></blockquote>
<p><strong>步骤 3：边界条件进入右端向量</strong></p><p>以左下角附近的内部点 $u_{1,1}$ 为例。</p><p>离散方程：</p>
<p>$$
4u<em>{1,1}
-u</em>{2,1}
-u<em>{0,1}
-u</em>{1,2}
-u<em>{1,0}
=
h^2f</em>{1,1}
$$
其中：</p><ul><li>$u<em>{2,1}$、$u</em>{1,2}$ 是内部未知量；</li><li>$u<em>{0,1}$、$u</em>{1,0}$ 是边界已知量。</li></ul><p>把边界已知量移到右端：</p>
<p>$$
4u<em>{1,1}
-u</em>{2,1}
-u<em>{1,2}
=
h^2f</em>{1,1}
+
u<em>{0,1}
+
u</em>{1,0}
$$
所以边界值是以正号加到 RHS 上的。</p><p>一般规律：</p>
<p>$$
b<em>{i,j}
=
h^2f</em>{i,j}
+
\sum<em>{\text{邻居为边界}} u</em>{\text{boundary}}
$$
这是在矩阵不带 $1/h^2$ 的约定下。</p><pre class="language-python lang-python"><code class="language-python lang-python"># 伪代码：构建右端向量并加入边界贡献
for i in range(1, Nx-1):
    for j in range(1, Ny-1):
        k = idx(i, j)  # 2D→1D 映射
        b[k] = f[i][j] * h**2  # 源项
        # 边界贡献
        if i == 1:     b[k] += u[0][j]       # 下边界
        if i == Nx-2:  b[k] += u[Nx-1][j]    # 上边界
        if j == 1:     b[k] += u[i][0]       # 左边界
        if j == Ny-2:  b[k] += u[i][Ny-1]    # 右边界
</code></pre>
<p><strong>步骤 4：求解线性方程组</strong>
$$
A_{0}\mathbf{u} = \mathbf{b}
$$</p><p>用 SciPy 稀疏求解器一行搞定：</p><pre class="language-python lang-python"><code class="language-python lang-python">from scipy.sparse import lil_matrix
from scipy.sparse.linalg import spsolve

# A 为稀疏矩阵，b 为右端向量
u_1d = spsolve(A, b)
u_2d = u_1d.reshape(Nx, Ny)  # 还原为二维
</code></pre>
<h3 id="kroneckerlaplace">用Kronecker积写二维的Laplace矩阵！</h3><p>二维矩阵其实可以用一维矩阵拼出来。</p><p>一维二阶差分矩阵：
$$
T<em>N=
\begin{bmatrix}
2 &amp; -1 &amp; 0 &amp; \cdots &amp; 0\
-1 &amp; 2 &amp; -1 &amp; \cdots &amp; 0\
0 &amp; -1 &amp; 2 &amp; \cdots &amp; 0\
\vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; -1\
0 &amp; 0 &amp; 0 &amp; -1 &amp; 2
\end{bmatrix}
$$
对于二维 Poisson：
$$
-\nabla^2
=
-\partial</em>{xx}
-\partial<em>{yy}
$$
离散矩阵可以写成：
$$
A=
\frac1{h^2}
\left(
I</em>y\otimes T<em>x
+
T</em>y\otimes I<em>x
\right)
$$
如果 $N</em>x=N_y=3$，就会得到你写的 $9\times 9$ 块三对角矩阵。</p><p>这说明二维 Laplace 算子本质上是两个方向一维 Laplace 算子的张量和。</p><h3 id="">矩阵性质</h3><p>对于 Dirichlet 边界条件，二维 Poisson 矩阵满足：</p><p><strong>稀疏</strong>：每行最多 5 个非零元；</p><p><strong>对称</strong>：</p>
<p>$$
A^T=A
$$
<strong>正定</strong>：</p>
<p>$$
\mathbf u^T A\mathbf u&gt;0
$$
只要 $\mathbf u\neq 0$。</p><p>正定性来自物理能量：</p>
<p>$$
\int |\nabla u|^2,d\Omega&gt;0
$$
离散后对应：</p>
<p>$$
\mathbf u^TA\mathbf u
\sim
\sum<em>{\langle i,j\rangle}(u</em>i-u_j)^2
$$
所以这个矩阵适合用共轭梯度法 CG</p><h3 id="-">📊 矩阵规模与计算代价</h3><table><thead><tr><th> 网格大小 </th><th> 内部格点数 </th><th> 矩阵维度      </th><th> 非零元素 </th></tr></thead><tbody><tr><td> 5×5      </td><td> 3×3=9      </td><td> 9×9           </td><td> ~45      </td></tr><tr><td> 10×10    </td><td> 8×8=64     </td><td> 64×64         </td><td> ~320     </td></tr><tr><td> 100×100  </td><td> 98×98=9604 </td><td> 9604×9604     </td><td> ~48000   </td></tr><tr><td> N×N      </td><td> (N-2)²     </td><td> (N-2)²×(N-2)² </td><td> ≈5(N-2)² </td></tr></tbody></table><blockquote><p><strong>⚠️ 关键认识</strong>：矩阵维数 = (格点数)²，二维问题的计算量随格点数增长极快。这就是为什么三维问题经常让人绝望——矩阵维度 = (格点数)³ 的平方！</p></blockquote>
<h3 id="-">💡 算法思路：高阶差分与精度权衡</h3><p>可以采用第三章学过的<strong>拉格朗日插值法</strong>构造更高阶的差分公式（如5点、7点格式）。但在边界处只能退化为低阶格式，否则会用到界外的不存在的格点。</p><p><strong>核心矛盾</strong>：格点间距越小精度越高，但二维三维很难取很小的间距（存储和计算都爆炸）。因此需要考虑：</p><ul><li>✨ <strong>对称性降维</strong>：利用宇称对称性可以减少一半计算空间</li><li>✨ <strong>好量子数</strong>：量子力学中利用好量子数进行变量分离（如角动量投影）</li><li>⚠️ 一旦对称性破缺，计算量增加几个量级</li></ul><hr/><h2 id="">第三章：边界条件的三类处理</h2><p>PDE 的定解问题 = <strong>控制方程</strong> + <strong>边界条件</strong>。</p><p>边界条件就是&quot;物理系统在边界上被怎么约束&quot;。不给定边界条件，解就不唯一——就像做菜不告诉我锅的温度，我咋知道该用多大火力？</p><p>否则解通常不唯一</p><h3 id="">三类边界条件对比</h3><table><thead><tr><th> 类型            </th><th> 数学形式                                                  </th><th> 物理含义         </th><th> 数值处理                             </th><th> 典型例子                         </th></tr></thead><tbody><tr><td> <strong>Dirichlet</strong>   </td><td> $u\big</td><td>_{\partial\Omega} = g$                             </td><td> 边界值固定已知   </td><td> 直接代入已知值，减少未知数 转移到RHS </td><td> 导体表面电势固定                 </td></tr><tr><td> <strong>Neumann</strong>     </td><td> $\frac{\partial u}{\partial n}\big</td><td>_{\partial\Omega} = g$ </td><td> 边界法向导数固定 </td><td> 需对边界点额外离散，增加方程         </td><td> 绝热边界、对称边界、给定通量边界 </td></tr><tr><td> <strong>Mixed/Robin</strong> </td><td> $\alpha u + \beta \frac{\partial u}{\partial n} = g$      </td><td> 线性组合指定     </td><td> 同时处理                             </td><td> 对流换热边界                     </td></tr></tbody></table><h3 id="neumann-">Neumann 边界条件的数值处理</h3><p>Neumann 条件不像 Dirichlet 那样可以直接&quot;削掉&quot;边界格点——因为边界值本身是未知的。要引入额外的差分方程。</p><p>例如引入<strong>虚格点</strong>（ghost point）：在边界外对称放一个辅助点，利用中心差分 $\frac{u<em>{i+1} - u</em>{i-1}}{2h} = g$ 来消去虚点。</p><h4 id="-neumann---">一维 Neumann 的 虚格点 推导</h4><p>考虑一维 Poisson：</p>
<p>$$
-u&#x27;&#x27;(x)=f(x),\qquad x\in[0,L]
$$
左边界给 Neumann：</p>
<p>$$
u&#x27;(0)=g
$$
在 $x=0$ 处引入虚点：</p>
<p>$$
x_{-1}=-h
$$
中心差分近似一阶导数：</p>
<p>$$
u&#x27;(0)
\approx
\frac{u<em>1-u</em>{-1}}{2h}
$$
令它等于 $g$：</p>
<p>$$
\frac{u<em>1-u</em>{-1}}{2h}=g
$$
解出虚点：</p>
<p>$$
u<em>{-1}=u</em>1-2hg
$$
现在在边界点 $x_0$ 上离散 PDE：</p>
<p>$$
-u&#x27;&#x27;(0)=f_0
$$
二阶导：</p>
<p>$$
u&#x27;&#x27;(0)
\approx
\frac{u<em>1-2u</em>0+u_{-1}}{h^2}
$$
所以：</p>
<p>$$
-\frac{u<em>1-2u</em>0+u<em>{-1}}{h^2}=f</em>0
$$
代入：</p>
<p>$$
u<em>{-1}=u</em>1-2hg
$$
得到：</p>
<p>$$
-\frac{u<em>1-2u</em>0+u<em>1-2hg}{h^2}=f</em>0
$$
整理：</p>
<p>$$
-\frac{2u<em>1-2u</em>0-2hg}{h^2}=f_0
$$
因此：</p>
<p>$$
\frac{2u<em>0-2u</em>1}{h^2}
=
f_0-\frac{2g}{h}
$$
这就是 Neumann 边界点对应的离散方程。</p><p>如果 $g=0$，即对称边界：</p>
<p>$$
u&#x27;(0)=0
$$
则：</p>
<p>$$
u<em>{-1}=u</em>1
$$
这意味着边界外的虚点是边界内点的镜像。</p><h4 id="-neumann-">二维 Neumann 边界</h4><p>假设左边界 $x=0$ 给：</p>
<p>$$
\frac{\partial u}{\partial x}(0,y<em>j)=g</em>j
$$
引入虚点 $u_{-1,j}$，有：</p>
<p>$$
\frac{u<em>{1,j}-u</em>{-1,j}}{2h}=g_j
$$
所以：</p>
<p>$$
u<em>{-1,j}=u</em>{1,j}-2hg<em>j
$$
如果边界点本身也是未知量 $u</em>{0,j}$，则在边界处的 Laplace 方程：</p>
<p>$$
-\nabla^2u=f
$$
写成：</p>
<p>$$
-\frac{
u<em>{1,j}+u</em>{-1,j}+u<em>{0,j+1}+u</em>{0,j-1}-4u<em>{0,j}
}{h^2}
=
f</em>{0,j}
$$
代入虚点：</p>
<p>$$
u<em>{-1,j}=u</em>{1,j}-2hg_j
$$
得到：</p>
<p>$$
-\frac{
2u<em>{1,j}
-2hg</em>j
+u<em>{0,j+1}
+u</em>{0,j-1}
-4u<em>{0,j}
}{h^2}
=
f</em>{0,j}
$$
这就把虚点消掉了。</p><hr/><h3 id="robin-">Robin 边界条件</h3><p>Robin 条件：</p>
<p>$$
\alpha u+\beta\frac{\partial u}{\partial n}=g
$$
例如一维左边界：</p>
<p>$$
\alpha u_0+\beta u&#x27;(0)=g
$$
用中心差分：</p>
<p>$$
u&#x27;(0)\approx \frac{u<em>1-u</em>{-1}}{2h}
$$
代入：</p>
<p>$$
\alpha u<em>0
+
\beta\frac{u</em>1-u_{-1}}{2h}
=
g
$$
解出虚点：</p>
<p>$$
u<em>{-1}
=
u</em>1-\frac{2h}{\beta}(g-\alpha u_0)
$$
即：</p>
<p>$$
u<em>{-1}
=
u</em>1-\frac{2hg}{\beta}
+
\frac{2h\alpha}{\beta}u_0
$$
然后再代回 PDE 的差分方程。</p><h3 id="neumann">纯Neumann问题的特殊性</h3><p>如果整个边界都是 Neumann 条件，例如：</p>
<p>$$
-\nabla^2u=f
\
\space
\
\frac{\partial u}{\partial n} = g , on \space \partial \Omega
$$
则解只确定到一个常数。</p><p>因为如果 $u$ 是解，那么：</p>
<p>$$
u+C
$$
也是解。</p><p>所以矩阵会有零特征值，不是严格正定。</p><p>还需要兼容条件。</p><p>由散度定理：</p>
<p>$$
\int<em>\Omega -\nabla^2u,d\Omega
=
-\int</em>{\partial\Omega}
\frac{\partial u}{\partial n}
,dS
$$
因为：</p>
<p>$$
-\nabla^2u=f
$$
所以：</p>
<p>$$
\int<em>\Omega f,d\Omega
=
-\int</em>{\partial\Omega}g,dS
$$
<strong>如果这个条件不满足，纯 Neumann 问题无解</strong>。</p><p>如果满足，解存在但差一个常数，需要额外固定：
$$
\int<em>\Omega u,d\Omega=0
$$
或指定某一点：
$$
u(x</em>0)=0
$$</p><blockquote><p><strong>说人话</strong>：Dirichlet 就是&quot;墙的温度给我定死了&quot;，Neumann 就是&quot;墙的热流给我定死了&quot;。前者简单（少解几个方程），后者麻烦（多解几个方程）。</p></blockquote>
<hr/><h2 id="-fft">第四章：傅里叶微分算符与 FFT</h2><h3 id="-">💡 物理直觉</h3><p>有限差分 就是 在实空间中用邻居差值近似导数</p><p>Fourier方法 是在 频率/动量空间 利用：</p>
<p>$$
\frac{d}{dx} e^{ikx} = ik e^{ikx}
$$
在格点空间做微分的&quot;近邻相减&quot;，在<strong>动量空间</strong>就是简单的乘法！</p><p>这是所有谱方法的精髓 （微分变成乘法）</p><h3 id="-fourier-dft">离散 Fourier变换 DFT</h3><p>在周期区间：</p>
<p>$$
x_j=jh,\qquad j=0,1,\dots,N-1
$$
离散 Fourier 展开：</p>
<p>$$
u<em>j
=
\sum</em>{m=0}^{N-1}
\tilde u<em>m e^{ik</em>m x_j}
$$
其中波数：</p>
<p>$$
k_m=\frac{2\pi}{L}m
$$
但是 DFT 的频率顺序通常是：</p>
<p>$$
m=0,1,\dots,\frac N2,-\frac N2+1,\dots,-1
$$
在 NumPy 中：</p><pre class=""><code class="">Python
k = 2*np.pi*np.fft.fftfreq(N, d=h)
</code></pre>
<p>会自动给出正确频率。</p><p>在动量空间，一阶微分就是乘 $ik$，二阶微分就是乘 $-k^2$：</p>
<p>$$
\partial<em>x \leftrightarrow ik, \qquad \partial</em>x^2 \leftrightarrow -k^2
$$</p><p>再<strong>逆变换回来，就得到了格点上的微分近似</strong>。</p><h3 id="fourier-">Fourier 微分矩阵</h3><p>令 DFT 矩阵为 $F$，则：</p>
<p>$$
\tilde{\mathbf u}=F\mathbf u
$$
反变换：</p>
<p>$$
\mathbf u=F^{-1}\tilde{\mathbf u}
$$
一阶导数在 Fourier 空间是乘 $ik$，所以：</p>
<p>$$
\widetilde{\mathbf u&#x27;}
=
\operatorname{diag}(ik_m)\tilde{\mathbf u}
$$
回到实空间：</p>
<p>$$
\mathbf u&#x27;
=
F^{-1}\operatorname{diag}(ik_m)F\mathbf u
$$
因此一阶微分矩阵是：</p>
<p>$$
D^{(1)}
=
F^{-1}\operatorname{diag}(ik_m)F
$$
二阶微分矩阵：</p>
<p>$$
D^{(2)}
=
F^{-1}\operatorname{diag}(-k_m^2)F
$$
因为：</p>
<p>$$
(ik<em>m)^2=-k</em>m^2
$$
所以：</p>
<p>$$
D^{(2)}
=
D^{(1)}D^{(1)}
$$
注意：这个关系在 Fourier 谱方法里严格成立。</p><p>但<strong>普通有限差分中，中心差分的一阶矩阵平方，不一定等于常用的二阶差分矩阵</strong>。</p><h3 id="">一阶和二阶微分算符矩阵的关系</h3><p>Fourier 方法的优雅之处：<strong>一阶矩阵 $D^{(1)}$ 和二阶矩阵 $D^{(2)}$ 是完全一致的</strong>——$D^{(2)} = D^{(1)}D^{(1)}$，即微分和积分互逆。</p>
<h3 id="fft-">FFT 的计算效率</h3><p>上一轮我们推导的傅里叶微分矩阵  $D=F^{-1}diag(ik)F$ ，在数学上完美无瑕，但<strong>如果直接按这个公式去编程，你的电脑会卡死</strong>。这段文字就是在告诉你：<strong>FFT 是专门来拯救这个困局的“救世主”</strong></p><p>FFT发现了 一个极其简单但有效的规律 ： <mark class="rounded-md"><span class="px-1">偶数项和奇数项可以分开算</span></mark></p><ul><li>一个 N<em>N</em> 点的大变换，可以拆成 <strong>两个 N/2点的小变换</strong>（一个只负责偶数位置，一个只负责奇数位置）。</li><li>而这两个 N/2<em>N</em>/2 点的小变换，又可以继续拆成 <strong>四个 N/4 点的更小变换</strong>……</li><li>直到拆成单个点（单个点的傅里叶变换就是它自己）。</li></ul><p><strong>这就是“分治（Divide and Conquer）”</strong>。
通过这种层层拆分，原本需要把每个格点和每个频率都配对的 N2<em>N</em>2 次运算，变成了只需在每一层（共 log⁡Nlog<em>N</em> 层）把结果合并起来（合并时只涉及少量运算）的 Nlog⁡N<em>N</em>log<em>N</em> 次运算。</p>
<table><thead><tr><th> 方法       </th><th> 时间复杂度   </th><th> N=1024 时   </th><th> N=10⁶ 时      </th></tr></thead><tbody><tr><td> DFT 直接求 </td><td> $O(N^2)$     </td><td> ~10⁶ 次运算 </td><td> ~10¹² 次运算  </td></tr><tr><td> FFT        </td><td> $O(N\log N)$ </td><td> ~10⁴ 次运算 </td><td> ~2×10⁷ 次运算 </td></tr></tbody></table><blockquote><p><strong>说人话</strong>：FFT 把&quot;每个格点和每个动量分量两两配对&quot;的暴力算法，变成了精巧的分治算法。原来 N² 的事现在 N log N 就办完了——当 N 很大时，这个差距是天壤之别。</p><p>理论上的 Fourier微分矩阵 虽然是稠密的（计算量巨大）但实际我们从来不显式地去构建这个矩阵。我们直接用FFT代替矩阵乘法，把计算复杂度从“平方级”降为“线性对数级”，从而使得谱方法能够处理 百万级网格的工程问题</p></blockquote>
<h3 id="--fourier-">🔬 二维 Fourier 微分</h3><p>二维周期函数：</p>
<p>$$
u(x,y)
=
\sum<em>{k</em>x,k<em>y}
\tilde u</em>{k<em>x,k</em>y}
e^{i(k<em>xx+k</em>yy)}
$$
则：</p>
<p>$$
\nabla^2u
=
\frac{\partial^2u}{\partial x^2}
+
\frac{\partial^2u}{\partial y^2}
$$
在 Fourier 空间变成：</p>
<p>$$
\widehat{\nabla^2u}
=
-(k<em>x^2+k</em>y^2)\tilde u
$$
所以算法是：</p><ol start="1"><li>对 $u$ 做二维 FFT；</li><li>每个 Fourier 分量乘上 $-(k<em>x^2+k</em>y^2)$；</li><li>做逆 FFT。</li></ol><p>二维情况使用张量积形式：依次对每行、每列做一维变换。</p><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def fourier_laplacian_2d(u, hx, hy=None):
    &quot;&quot;&quot;
    用 FFT 计算二维 Laplace 算子。
    要求周期边界条件。
    &quot;&quot;&quot;
    if hy is None:
        hy = hx

    Nx, Ny = u.shape

    kx = 2*np.pi*np.fft.fftfreq(Nx, d=hx)
    ky = 2*np.pi*np.fft.fftfreq(Ny, d=hy)

    KX, KY = np.meshgrid(kx, ky, indexing=&#x27;ij&#x27;)

    multiplier = -(KX**2 + KY**2)

    u_hat = np.fft.fft2(u)
    lap_hat = multiplier * u_hat

    return np.fft.ifft2(lap_hat).real
</code></pre>
<h3 id="-fft-">🎯 FFT 的应用拓展</h3><p>Fourier方法 默认周期边界条件！！！</p><p>也就是说：</p>
<p>$$
u(0)=u(L)
$$
如果函数不周期，强行用 Fourier 会导致边界跳跃，从而产生 Gibbs 现象。</p><p>对于非周期边界，可以用：</p><ul><li>sine transform：适合 Dirichlet；</li><li>cosine transform：适合 Neumann；</li><li>Chebyshev 谱方法：适合有限区间非周期问题。</li></ul><p>具体应用：</p><ul><li><strong>图像处理</strong>：二维 FFT 是 JPEG 压缩、卷积神经网络的基础</li><li><strong>信号处理</strong>：去噪（低通滤波）、边缘检测（高通滤波）</li><li><strong>零填充（zero-padding）</strong>：平滑处理</li><li><strong>共振态展宽</strong>：$A(t) = A e^{i\omega t} e^{-\Gamma t/2}$ → 傅里叶变换得到 Lorentz 线形，展宽 $\Gamma$ 对应寿命 $\tau = 1/\Gamma$</li></ul><h3 id="-fft--poisson-">用 FFT 解 Poisson 方程</h3><p>考虑周期边界下：</p>
<p>$$
-\nabla^2u=f
$$
Fourier 空间：</p>
<p>$$
-\widehat{\nabla^2u}
=
(k<em>x^2+k</em>y^2)\hat u
=
\hat f
$$
所以：</p>
<p>$$
\hat u
=
\frac{\hat f}{k<em>x^2+k</em>y^2}
$$
但当：</p>
<p>$$
k<em>x=k</em>y=0
$$
分母为零。</p><p>这是因为周期 Poisson 方程的解只确定到一个常数。</p><p>必须要求：</p>
<p>$$
\int f,d\Omega=0
$$
也就是：</p>
<p>$$
\hat f_{0,0}=0
$$
然后可以人为设定：</p>
<p>$$
\hat u_{0,0}=0
$$
即选择零平均势。</p><hr/><h3 id="fft-">FFT 与共振展宽</h3><p>如果一个信号：</p>
<p>$$
A(t)=A<em>0e^{-i\omega</em>0t}e^{-\Gamma t/2}
$$
它的 Fourier 变换近似为：</p>
<p>$$
\tilde A(\omega)
=
\int<em>0^\infty
A</em>0e^{-i\omega_0t}e^{-\Gamma t/2}e^{i\omega t},dt
$$
整理指数：</p>
<p>$$
\tilde A(\omega)
=
A<em>0
\int</em>0^\infty
e^{-\left(\frac{\Gamma}{2}+i(\omega_0-\omega)\right)t}
,dt
$$
积分：</p>
<p>$$
\tilde A(\omega)
=
\frac{A<em>0}
{
\frac{\Gamma}{2}+i(\omega</em>0-\omega)
}
$$
谱强度：</p>
<p>$$</p><p>|\tilde A(\omega)|^2</p><p>=
\frac{|A<em>0|^2}
{
(\omega-\omega</em>0)^2+\left(\frac{\Gamma}{2}\right)^2
}
$$
这就是 Lorentz 线形。</p>
<p>$$
\Gamma
$$
越大，谱线越宽，寿命越短：</p>
<p>$$
\tau\sim \frac1{\Gamma}
$$
若带 $\hbar$，则：</p>
<p>$$
\tau\sim \frac{\hbar}{\Gamma}
$$</p><hr/><h2 id="">第五章：基矢展开法求微分方程</h2><h3 id="-">💡 物理直觉</h3><p>量子力学课上学过：波函数可以在任意一组完备基下展开。计算物理中我们就用这个思路——不是直接在格点上离散，而是把解写成一组合适基函数的线性组合，然后把 PDE 转化为矩阵本征值问题。</p><h3 id="">基本公式推导</h3><p>将波函数展开为基矢 $\phi_j$ 的线性组合：</p>
<p>$$
\psi<em>i = \sum</em>j c<em>{ij} \phi</em>j
$$</p><p>代入本征方程 $H\psi = E\psi$：</p>
<p>$$
\sum<em>m H \phi</em>m , c<em>{im} = E \sum</em>j c<em>{ij} \phi</em>j
$$</p><p>左乘 $\phi_k^*$ 并积分（投影）：</p>
<p>$$
\sum<em>m \langle \phi</em>k | H | \phi<em>m \rangle , c</em>{im} = E , c_{ik}
$$</p><p>写成矩阵形式：</p>
<p>$$
\begin{bmatrix}
H<em>{11} &amp; H</em>{12} &amp; \cdots &amp; H<em>{1N} \
H</em>{21} &amp; H<em>{22} &amp; \cdots &amp; H</em>{2N} \
\vdots &amp; \vdots &amp; \ddots &amp; \vdots \
H<em>{N1} &amp; H</em>{N2} &amp; \cdots &amp; H<em>{NN}
\end{bmatrix}
\begin{bmatrix} c</em>1 \ c<em>2 \ \vdots \ c</em>N \end{bmatrix}
= E
\begin{bmatrix} c<em>1 \ c</em>2 \ \vdots \ c_N \end{bmatrix}
$$</p><blockquote><p><strong>说人话</strong>：本来是一个微分方程，经过&quot;选定基函数→展开→投影→积分&quot;这一套，变成了一个矩阵对角化问题。这就是<strong>Ritz 变分法</strong>的数值实现。</p></blockquote>
<p>对于基态能量，有限基截断给出的能量通常是上界：</p>
<p>$$
E<em>0^{(N)}\ge E</em>0
$$
随着基函数数目增大：</p>
<p>$$
E<em>0^{(N)}\to E</em>0
$$</p><h3 id="">实际应用：三维谐振子基矢</h3><h4 id="3d-"><strong>3D 笛卡尔谐振子基</strong></h4><p>三维笛卡尔谐振子基：</p>
<p>$$
\phi<em>{n</em>xn<em>yn</em>z}(x,y,z)
=
\phi<em>{n</em>x}(x)
\phi<em>{n</em>y}(y)
\phi<em>{n</em>z}(z)
$$
其中一维谐振子基函数：</p>
<p>$$
\phi<em>n(x)
=
N</em>n
H<em>n(\xi)e^{-\xi^2/2}
$$
$H</em>n$ 是 Hermite 多项式，$b$ 是振子长度参数。</p><p>总壳层量子数：</p>
<p>$$
N=n<em>x+n</em>y+n_z
$$
如果截断到：</p>
<p>$$
N\le N_{\max}
$$
则基函数数目是：</p>
<p>$$
\sum<em>{N=0}^{N</em>{\max}}
\frac{(N+1)(N+2)}{2}
=
\frac{(N<em>{\max}+1)(N</em>{\max}+2)(N<em>{\max}+3)}{6}
$$
这个数目随着 $N</em>{\max}$ 迅速增长。</p>
<h4 id=""><strong>轴对称体系</strong>（柱坐标）</h4><p>对于轴对称系统，通常用柱坐标：</p>
<p>$$
(\rho,\varphi,z)
$$
基函数可以分离为：</p>
<p>$$
\Phi(\rho,\varphi,z,\sigma)
=
R<em>{n</em>r}^{|m|}(\rho)
e^{im\varphi}
Z<em>{n</em>z}(z)
\chi_\sigma
$$
其中：</p><ul><li>$Z<em>{n</em>z}(z)$：Hermite 基；</li><li>$R<em>{n</em>r}^{|m|}(\rho)$：associated Laguerre 基；</li><li>$e^{im\varphi}$：角向部分；</li><li>$\chi_\sigma$：自旋部分。</li></ul><p>常用截断：</p>
<p>$$
N=2n<em>r+n</em>z+|m|
$$
保留：</p>
<p>$$
N\le N_{\max}
$$</p>
<h3 id="">好量子数为什么能降维？</h3><p>如果 Hamiltonian 和某个算符对易：
$$
[H,\hat Q]=0
$$
那么 $\hat Q$ 的本征值就是好量子数。</p><p>例如轴对称情况下，角动量 $z$ 分量 $m$ 可能守恒。</p><p>于是不同 $m$ 的态不会耦合。</p><p>Hamiltonian 矩阵可以分块：
$$
H=
\begin{bmatrix}
H<em>{m=0} &amp; 0 &amp; 0\
0 &amp; H</em>{m=1} &amp; 0\
0 &amp; 0 &amp; H_{m=2}
\end{bmatrix}
$$
原来需要对角化一个巨大矩阵，现在可以分别对角化很多小矩阵。</p><p>这就是利用对称性降维的核心。</p><p>一旦对称性破缺，原本的块之间开始耦合，矩阵规模会暴涨。</p>
<h3 id="-">💡 关键认识</h3><ul><li><strong>基函数自带边界条件</strong>：不像有限差分需要显式处理边界，基函的选择就已隐含了边界行为（如谐振子基在无穷远处指数衰减）</li><li><strong>微分可解析计算</strong>：谐振子基的微分有解析表达式，不需要数值近似</li><li><strong>截断误差</strong>：基函数个数 N 有限，所以是近似方法。N 越大越精确</li><li><strong>适用场景</strong>：形状规则的束缚态问题效果极好；复杂形状或连续谱则不够精确</li></ul><h3 id="">流程对比</h3><p>都是把无限维问题 最后 变成 有限维问题</p><pre class=""><code class="">有限差分法：  格点离散 → 差分近似微分 → 矩阵方程求解 （在格点上表示函数）
基矢展开法：  选基函数 → 计算矩阵元 → 矩阵对角化 （用系数表示函数）
</code></pre>
<table><thead><tr><th> 对比维度 </th><th> 基空间（基矢展开） </th><th> 格点空间（有限差分） </th></tr></thead><tbody><tr><td> 灵活性   </td><td> 高，可选最优基     </td><td> 低，受网格限制       </td></tr><tr><td> 计算效率 </td><td> 高，矩阵小         </td><td> 低，矩阵巨大         </td></tr><tr><td> 精度     </td><td> 对特定问题优秀     </td><td> 普适性强             </td></tr><tr><td> 边界处理 </td><td> 隐式（基函数自带） </td><td> 显式（需额外处理）   </td></tr><tr><td> 实施难度 </td><td> 需选择合适的基     </td><td> 相对简单直接         </td></tr></tbody></table><hr/><h2 id="-dvr">第六章：离散变量表示 DVR</h2><h3 id="-">💡 物理直觉</h3><p>DVR（Discrete Variable Representation）是一种<strong>同时兼具基空间和格点空间优点</strong>的表示方法。它让你&quot;吃着碗里的看着锅里的&quot;——基函数保证了完备性，而格点表示让矩阵元计算极其简单。</p><p><mark class="rounded-md"><span class="px-1">核心：动能像基空间一样可以精确/解析处理，势能像格点空间一样近似对角。</span></mark></p><h3 id="dvr-">DVR 的核心思想</h3><p>给定一组正交基函数 $\phi<em>n(x)$ 和高斯积分点（gauge points）${x</em>\alpha}$：</p><ol start="1"><li>用这组基构造<strong>投影算符 P</strong></li><li>在格点 ${x<em>\alpha}$ 上定义 DVR 基函数：$f</em>\alpha(x)$，满足 $f<em>\alpha(x</em>\beta) = \delta_{\alpha\beta}$（在自家格点为 1，别家格点为 0）</li><li>关键性质：
<ul><li><strong>动能矩阵元</strong>：有解析表达式，计算简单</li><li><strong>势能矩阵元</strong>：对角！$V<em>{\alpha\beta} \approx V(x</em>\alpha)\delta_{\alpha\beta}$</li></ul></li></ol><h4 id="">例子</h4><p>均匀格点上常用 sinc-DVR。</p><p>假设区间长度为 $L$，格点数为 $N$，格距：</p>
<p>$$
\Delta x=\frac{L}{N}
$$
对于无限 sinc-DVR，常见二阶导数矩阵是：</p>
<p>$$
\left(\frac{d^2}{dx^2}\right)_{ij}
=
\begin{cases}
-\dfrac{\pi^2}{3\Delta x^2}, &amp; i=j\[8pt]
-\dfrac{2(-1)^{i-j}}{\Delta x^2(i-j)^2}, &amp; i\neq j
\end{cases}
$$
于是动能：</p>
<p>$$
T=-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
$$
对应：</p>
<p>$$
T_{ij}
=
\frac{\hbar^2}{2m}
\begin{cases}
\dfrac{\pi^2}{3\Delta x^2}, &amp; i=j\[8pt]
\dfrac{2(-1)^{i-j}}{\Delta x^2(i-j)^2}, &amp; i\neq j
\end{cases}
$$
周期 sinc-DVR 或 Fourier-DVR 的公式会略有不同，比如会出现：</p>
<p>$$
\sin^2\left(\frac{\pi(i-j)}{N}\right)
$$
这正是你代码里的结构。</p><p>需要注意：</p><blockquote><p>不同文献里 $T$、$-d^2/dx^2$、$-\frac12d^2/dx^2$ 的定义可能不同，所以符号和系数要仔细核对。</p></blockquote>
<pre class="language-python lang-python"><code class="language-python lang-python"># DVR 动能矩阵元的典型计算框架
# 以 sinc-DVR 为例（均匀格点）
def dvr_kinetic_1d(N, L):
    &quot;&quot;&quot;一维 sinc-DVR 动能矩阵，区间 [-L/2, L/2]&quot;&quot;&quot;
    dx = L / N
    T = np.zeros((N, N))
    for i in range(N):
        for j in range(N):
            if i == j:
                T[i, j] = np.pi**2 / (6 * dx**2) * (1 + 2/N**2)
            else:
                d = i - j
                T[i, j] = (-1)**d / (dx**2 * np.sin(np.pi * d / N)**2)
    return T
</code></pre>
<h3 id="-fbr--dvr">从 FBR（有限基表示） 到 DVR</h3><p>给定正交基函数：</p>
<p>$$
\phi_n(x),\qquad n=0,1,\dots,N-1
$$
定义投影算符：</p>
<p>$$
P=\sum<em>{n=0}^{N-1}|\phi</em>n\rangle\langle \phi_n|
$$
这个投影算符的意思是：
 我们只在这 $N$ 个基函数张成的有限维空间里面近似真实波函数。</p><hr/><h4 id="">选择高斯积分点和权重</h4><p>选一组积分点：</p>
<p>$$
x_\alpha,\qquad \alpha=0,1,\dots,N-1
$$
以及对应权重：</p>
<p>$$
w_\alpha
$$
满足高斯积分近似：</p>
<p>$$
\int f(x),dx
\approx
\sum<em>{\alpha=0}^{N-1} w</em>\alpha f(x_\alpha)
$$
你讲义里写的是 gauge points，更准确地说一般叫：</p>
<p>$$
\text{quadrature points}
$$
或者：</p>
<p>$$
\text{DVR grid points}
$$
如果这组点和权重选得好，那么对于基函数乘积：</p>
<p>$$
\int \phi<em>m^*(x)\phi</em>n(x),dx
$$
可以用求和精确或高精度表示：</p>
<p>$$
\int \phi<em>m^*(x)\phi</em>n(x),dx
\approx
\sum<em>{\alpha=0}^{N-1}
w</em>\alpha \phi<em>m^*(x</em>\alpha)\phi<em>n(x</em>\alpha)
=
\delta_{mn}
$$</p><h3 id="dvr-">DVR 变换矩阵</h3><p>定义矩阵：</p>
<p>$$
U<em>{n\alpha}=\sqrt{w</em>\alpha}\phi<em>n(x</em>\alpha)
$$
这里：</p><ul><li>$n$：基函数指标；</li><li>$\alpha$：格点指标。</li></ul><p>因为：</p>
<p>$$
\sum<em>\alpha w</em>\alpha \phi<em>m^*(x</em>\alpha)\phi<em>n(x</em>\alpha)
\approx \delta_{mn}
$$
所以：</p>
<p>$$
\sum<em>\alpha
U</em>{m\alpha}^*U<em>{n\alpha}
=
\delta</em>{mn}
$$
也就是：</p>
<p>$$
UU^\dagger \approx I
$$
在理想情况下，$U$ 是酉矩阵或正交矩阵。</p><hr/><h3 id="dvr-">DVR 基函数的构造</h3><p>DVR 基函数定义为：</p>
<p>$$</p><p>|\chi_\alpha\rangle</p><p>=
\sum<em>{n=0}^{N-1}
U</em>{n\alpha}^*</p><p>|\phi_n\rangle</p><p>$$
如果基函数都是实函数，可以省略复共轭：</p>
<p>$$</p><p>|\chi_\alpha\rangle</p><p>=
\sum<em>{n=0}^{N-1}
U</em>{n\alpha}</p><p>|\phi_n\rangle</p><p>$$</p>
<p>写成坐标形式：</p>
<p>$$
\chi<em>\alpha(x)
=
\sum</em>{n=0}^{N-1}
\sqrt{w<em>\alpha}\phi</em>n(x<em>\alpha)\phi</em>n(x)
$$
这个 $\chi_\alpha(x)$ 就是 DVR 基函数。</p><hr/><h4 id="dvr-">DVR 基函数为什么具有“插值性”？</h4><p>我们希望它满足类似：</p>
<p>$$
f<em>\alpha(x</em>\beta)=\delta_{\alpha\beta}
$$
也就是：</p><ul><li>在自己的格点上为 1；</li><li>在别人的格点上为 0。</li></ul><p>来推导。</p><p>在格点 $x_\beta$ 处：</p>
<p>$$
\chi<em>\alpha(x</em>\beta)
=
\sum<em>n
\sqrt{w</em>\alpha}
\phi<em>n(x</em>\alpha)
\phi<em>n(x</em>\beta)
$$
利用矩阵 $U$ 的正交性：</p>
<p>$$
\sum<em>n U</em>{n\alpha}U<em>{n\beta}
=
\delta</em>{\alpha\beta}
$$
代入：</p>
<p>$$
U<em>{n\alpha}
=
\sqrt{w</em>\alpha}\phi<em>n(x</em>\alpha)
$$
所以：</p>
<p>$$
\sum<em>n
\sqrt{w</em>\alpha}\phi<em>n(x</em>\alpha)
\sqrt{w<em>\beta}\phi</em>n(x<em>\beta)
=
\delta</em>{\alpha\beta}
$$
两边除以 $\sqrt{w_\beta}$：</p>
<p>$$
\sum<em>n
\sqrt{w</em>\alpha}\phi<em>n(x</em>\alpha)
\phi<em>n(x</em>\beta)
=
\frac{\delta<em>{\alpha\beta}}{\sqrt{w</em>\beta}}
$$
左边正是 $\chi<em>\alpha(x</em>\beta)$。</p><p>因此：</p>
<p>$$
\chi<em>\alpha(x</em>\beta)
=
\frac{\delta<em>{\alpha\beta}}{\sqrt{w</em>\beta}}
$$
如果重新定义归一化后的 DVR cardinal 函数：</p>
<p>$$
f<em>\alpha(x)=\sqrt{w</em>\alpha}\chi_\alpha(x)
$$
那么：</p>
<p>$$
f<em>\alpha(x</em>\beta)
=
\sqrt{w<em>\alpha}
\frac{\delta</em>{\alpha\beta}}{\sqrt{w_\beta}}
$$
当 $\alpha=\beta$ 时：</p>
<p>$$
f<em>\alpha(x</em>\alpha)=1
$$
当 $\alpha\neq\beta$ 时：</p>
<p>$$
f<em>\alpha(x</em>\beta)=0
$$
所以：</p>
<p>$$
\boxed{
f<em>\alpha(x</em>\beta)=\delta_{\alpha\beta}
}
$$
这就是 DVR 的核心插值性质。</p><hr/><h3 id="">势能矩阵为什么近似对角？</h3><p>考虑势能矩阵：</p>
<p>$$
V<em>{\alpha\beta}^{\text{DVR}}
=
\langle \chi</em>\alpha|V|\chi_\beta\rangle
$$
写成积分：</p>
<p>$$
V<em>{\alpha\beta}
=
\int \chi</em>\alpha^*(x)V(x)\chi_\beta(x),dx
$$
用高斯积分近似：</p>
<p>$$
V<em>{\alpha\beta}
\approx
\sum</em>\gamma
w<em>\gamma
\chi</em>\alpha^*(x<em>\gamma)
V(x</em>\gamma)
\chi<em>\beta(x</em>\gamma)
$$
利用：</p>
<p>$$
\chi<em>\alpha(x</em>\gamma)
=
\frac{\delta<em>{\alpha\gamma}}{\sqrt{w</em>\gamma}}
$$
以及：</p>
<p>$$
\chi<em>\beta(x</em>\gamma)
=
\frac{\delta<em>{\beta\gamma}}{\sqrt{w</em>\gamma}}
$$
代入：</p>
<p>$$
V<em>{\alpha\beta}
\approx
\sum</em>\gamma
w<em>\gamma
\left(
\frac{\delta</em>{\alpha\gamma}}{\sqrt{w<em>\gamma}}
\right)
V(x</em>\gamma)
\left(
\frac{\delta<em>{\beta\gamma}}{\sqrt{w</em>\gamma}}
\right)
$$
整理：</p>
<p>$$
V<em>{\alpha\beta}
\approx
\sum</em>\gamma
\delta<em>{\alpha\gamma}\delta</em>{\beta\gamma}
V(x_\gamma)
$$
只有当：</p>
<p>$$
\alpha=\beta=\gamma
$$
时有贡献。</p><p>所以：</p>
<p>$$
\boxed{
V<em>{\alpha\beta}^{\text{DVR}}
\approx
V(x</em>\alpha)\delta_{\alpha\beta}
}
$$
这就是 DVR 最重要的结果。</p><blockquote><p>势能矩阵不需要做复杂积分，<strong>直接取格点上的势能值</strong>。</p></blockquote>
<hr/><h3 id="">动能矩阵如何处理？</h3><p>动能算符为：</p>
<p>$$
T=-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
$$
在 FBR 中，动能矩阵是：</p>
<p>$$
T<em>{mn}^{\text{FBR}}
=
\left\langle \phi</em>m
\left|
-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
\right|
\phi_n
\right\rangle
$$
这通常可以解析算出，或者用高精度积分算出。</p><p>然后用变换矩阵 $U$ 变到 DVR：</p>
<p>$$
T^{\text{DVR}}
=
U^\dagger T^{\text{FBR}}U
$$
即：</p>
<p>$$
T<em>{\alpha\beta}^{\text{DVR}}
=
\sum</em>{m,n}
U<em>{m\alpha}^*
T</em>{mn}^{\text{FBR}}
U_{n\beta}
$$
所以 Hamiltonian 矩阵变成：</p>
<p>$$
H<em>{\alpha\beta}^{\text{DVR}}
=
T</em>{\alpha\beta}^{\text{DVR}}
+
V(x<em>\alpha)\delta</em>{\alpha\beta}
$$
最终求解：</p>
<p>$$
\boxed{
H\mathbf \psi=E\mathbf \psi
}
$$</p>
<h3 id="dvr-">DVR 的优势</h3><table><thead><tr><th> 特性       </th><th> 传统基展开 </th><th> DVR                </th></tr></thead><tbody><tr><td> 动能矩阵   </td><td> 需积分     </td><td> 解析公式/积分      </td></tr><tr><td> 势能矩阵   </td><td> 需积分     </td><td> 对角（格点上的值） </td></tr><tr><td> 收敛性     </td><td> 一般       </td><td> 优秀（指数收敛）   </td></tr><tr><td> 推广到多维 </td><td> 计算量大   </td><td> 自然推广           </td></tr></tbody></table><h3 id="-">📚 代表性工作</h3><p>A. Bulgac and M.M. Forbes, <em>Phys. Rev. C</em> <strong>87</strong>, 051301(R) (2013) — DVR 方法在核物理中的应用典范。</p>
<h2 id="b-">第七章：B-样条展开法</h2><h3 id="-">💡 物理直觉</h3><p>有限差分用均匀格点，但有些地方（如原子核附近）波函数剧烈变化，有些地方（远离核）变化平缓。为什么不能&quot;哪里变化快就多放格点，哪里变化慢就少放格点&quot;？B-样条就是用来干这个的——它支持<strong>非均匀格点</strong>。</p><h3 id="b-">B-样条的定义</h3><p>M 阶 B-样条 $B<em>i^M(x)$ 是在节点序列 ${x</em>i, x<em>{i+1}, \dots, x</em>{i+M}}$ 上由递推关系构造的分段多项式。在计算物理中常用的性质：</p><ul><li>紧支撑：只在 M 个区间上非零</li><li>构成完备基</li><li>微分有解析递推公式</li><li>节点可以任意分布（边界加密！）</li></ul><p>$M$：B-样条的阶数；</p><p>多项式次数为：</p>
<p>$$
p=M-1
$$
例如：</p><ul><li>$M=1$：分段常数；</li><li>$M=2$：分段线性；</li><li>$M=3$：分段二次；</li><li>$M=4$：分段三次 cubic spline。</li></ul><p>一阶 B-样条定义为：</p>
<p>$$
B<em>i^1(x)
=
\begin{cases}
1, &amp; t</em>i\le x&lt;t_{i+1}\
0, &amp; \text{otherwise}
\end{cases}
$$
高阶通过递推构造：</p>
<p>$$
B<em>i^M(x)
=
\frac{x-t</em>i}{t<em>{i+M-1}-t</em>i}B<em>i^{M-1}(x)
+
\frac{t</em>{i+M}-x}{t<em>{i+M}-t</em>{i+1}}B_{i+1}^{M-1}(x)
$$
如果分母为零，则对应项定义为零。</p><p>由递推关系可以看出：</p>
<p>$$
B_i^M(x)
$$
只在区间：</p>
<p>$$
[t<em>i,t</em>{i+M}]
$$
上非零。</p><p>所以它是紧支撑的。</p><blockquote><p>紧支撑意味着矩阵是稀疏/带状的。</p></blockquote>
<p>如果两个 B-样条支撑区间不重叠，那么：</p>
<p>$$
\int B<em>i^M(x)B</em>j^M(x),dx=0
$$
因此重叠矩阵和 Hamiltonian 矩阵都是带状矩阵。</p><h3 id="-b--schrdinger-">用 B-样条求解一维 Schrödinger 方程</h3><p>考虑一维定态 Schrödinger 方程：</p>
<p>$$
\left[
-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
+
V(x)
\right]\psi(x)
=
E\psi(x)
$$
将波函数展开：</p>
<p>$$
\psi(x)
=
\sum<em>j c</em>j B_j^M(x)
$$
代入方程：</p>
<p>$$
\left[
-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
+
V(x)
\right]
\sum<em>j c</em>jB<em>j^M(x)
=
E\sum</em>j c<em>jB</em>j^M(x)
$$
利用线性性：</p>
<p>$$
\sum<em>j c</em>j
\left[
-\frac{\hbar^2}{2m}\frac{d^2B<em>j^M}{dx^2}
+
V(x)B</em>j^M(x)
\right]
=
E\sum<em>jc</em>jB<em>j^M(x)
$$
左乘测试函数 $B</em>i^M(x)$，并积分：</p>
<p>$$
\int B<em>i^M(x)
\sum</em>j c<em>j
\left[
-\frac{\hbar^2}{2m}\frac{d^2B</em>j^M}{dx^2}
+
V(x)B<em>j^M(x)
\right]dx
=
E
\int B</em>i^M(x)
\sum<em>jc</em>jB_j^M(x)dx
$$
交换求和与积分：</p>
<p>$$
\sum<em>jc</em>j
\int B<em>i^M
\left[
-\frac{\hbar^2}{2m}\frac{d^2B</em>j^M}{dx^2}
+
V B<em>j^M
\right]dx
=
E\sum</em>jc<em>j
\int B</em>i^M B_j^M dx
$$
定义：</p>
<p>$$
H<em>{ij}
=
\int B</em>i^M
\left[
-\frac{\hbar^2}{2m}\frac{d^2}{dx^2}
+
V
\right]
B_j^M dx
$$
以及重叠矩阵：</p>
<p>$$
S<em>{ij}=
\int B</em>i^M(x)B_j^M(x),dx
$$
于是：</p>
<p>$$
\boxed{
H\mathbf c=ES\mathbf c
}
$$
这是广义本征值问题。</p><h3 id="">动能矩阵的更稳定写法</h3><p>直接算：</p>
<p>$$
\int B<em>i\left(-\frac{d^2B</em>j}{dx^2}\right)dx
$$
有时候不如分部积分稳定。</p><p>考虑动能项：</p>
<p>$$
T<em>{ij}
=
-\frac{\hbar^2}{2m}
\int B</em>i(x)B_j&#x27;&#x27;(x),dx
$$
分部积分：</p>
<p>$$
\int B<em>i B</em>j&#x27;&#x27;dx
=
\left[B<em>iB</em>j&#x27;\right]<em>{\text{boundary}}
-
\int B</em>i&#x27;B_j&#x27;dx
$$
如果 Dirichlet 边界下基函数或波函数边界为零，边界项消失：</p>
<p>$$
\left[B<em>iB</em>j&#x27;\right]_{\text{boundary}}=0
$$
所以：</p>
<p>$$
T<em>{ij}
=
\frac{\hbar^2}{2m}
\int B</em>i&#x27;(x)B_j&#x27;(x),dx
$$
因此：</p>
<p>$$
\boxed{
H<em>{ij}
=
\frac{\hbar^2}{2m}\int B</em>i&#x27;B<em>j&#x27;dx
+
\int B</em>i V B_j dx
}
$$
这是实际计算中常用的弱形式。</p><hr/><h4 id="-s">为什么出现重叠矩阵 $S$？</h4><p>普通正交基满足：</p>
<p>$$
\int \phi<em>i\phi</em>jdx=\delta_{ij}
$$
所以本征方程是：</p>
<p>$$
H\mathbf c=E\mathbf c
$$
但 B-样条通常不是正交基：</p>
<p>$$
\int B<em>iB</em>jdx\neq \delta_{ij}
$$
所以右边出现：</p>
<p>$$
S\mathbf c
$$
即：</p>
<p>$$
H\mathbf c=ES\mathbf c
$$</p><hr/><h4 id="-s-1">不建议显式求 $S^{-1}$</h4><p>讲义里写：</p>
<p>$$
(S^{-1}H)\mathbf c=E\mathbf c
$$
数学上可以这样写，但数值上不推荐显式求逆。</p><p>因为：</p><ol start="1"><li>$S^{-1}H$ 可能破坏对称性；</li><li>显式求逆误差大；</li><li>矩阵可能变稠密。</li></ol><p>更好的做法是直接解广义本征值问题：</p><pre class=""><code class="">Python

from scipy.linalg import eigh

eigvals, eigvecs = eigh(H, S)
</code></pre>
<p>如果一定要转成标准形式，可以做 Cholesky 分解：</p>
<p>$$
S=LL^T
$$
令：</p>
<p>$$
\mathbf c=L^{-T}\mathbf y
$$
代入：</p>
<p>$$
H L^{-T}\mathbf y
=
E S L^{-T}\mathbf y
$$
因为：</p>
<p>$$
S=L L^T
$$
所以：</p>
<p>$$
S L^{-T}=L
$$
左乘 $L^{-1}$：</p>
<p>$$
L^{-1}H L^{-T}\mathbf y=E\mathbf y
$$
得到标准对称本征值问题：</p>
<p>$$
\boxed{
\tilde H\mathbf y=E\mathbf y
}
$$
其中：</p>
<p>$$
\tilde H=L^{-1}HL^{-T}
$$</p>
<h4 id="-b-1">转换为标准本征值问题需要求 $B^{-1}$（最直观）</h4><p>$$
(B^{-1} H) \mathbf{c} = E \mathbf{c}
$$</p><blockquote><p><strong>说人话</strong>：B-样条和基矢展开法类似，但基函数不是解析多项式，而是分段拼接的函数段。矩阵方程中多了一个重叠矩阵 B，需要求逆转换。</p></blockquote>
<h3 id="b-">B-样条节点怎么选？</h3><p>常见节点分布：</p><h4 id="1-">1. 均匀节点</h4><p>$$
t<em>i=t</em>0+ih
$$
适合变化均匀的问题。</p><h4 id="2-">2. 指数加密节点</h4><p>原点附近密，远处稀：</p>
<p>$$
t<em>i=t</em>{\min}
+
\frac{e^{ai}-1}{e^{aN}-1}
(t<em>{\max}-t</em>{\min})
$$
适合原子、核、束缚态径向问题。</p><h4 id="3-">3. 分段节点</h4><p>某些区域加密，其他区域粗化。</p><h3 id="-">📊 精度与阶数的关系</h3><p>随着 B-样条阶数 M 增大，精度单调改善。但需要注意 <strong>Nyquist 准则</strong>：格点间距不能太大，否则无法分辨波函数的振荡细节。</p><pre class="language-python lang-python"><code class="language-python lang-python"># 伪代码：B-样条展开法求解一维 Schrödinger 方程
# 1. 构造节点序列（边界加密）
knots = make_knots(x_min, x_max, n_basis, order=M)
# 2. 计算重叠矩阵 B 和 Hamiltonian 矩阵 H
B = overlap_matrix(knots, M)
H = hamiltonian_matrix(knots, M, potential_func)
# 3. 广义本征值问题 → 标准本征值问题
from scipy.linalg import eigh
B_inv = np.linalg.inv(B)
eigvals, eigvecs = eigh(B_inv @ H)
</code></pre>
<h3 id="-">🔬 应用实例：形变体系的能级分布</h3><p>在核物理中，B-样条被广泛用于求解轴对称形变势阱中的单粒子能级。利用对称性（角动量投影）可以极大降低矩阵维度。思考：对称性破缺后好量子数如何变化？</p><hr/><h2 id="">第八章：小波分析与多小波展开</h2><h3 id="-">💡 物理直觉</h3><p>小波分析是一种<strong>多分辨率</strong>表示方法——对于波函数中振荡剧烈的区域，自动用精细的基来描述；对于平缓的区域，用粗糙的基来描述。这就像地图：城市用1:10000，沙漠用1:100000。</p><h3 id="">核心</h3><p>Fourier 基函数是全局的：</p>
<p>$$
e^{ikx}
$$
它知道频率，但不知道这个频率出现在空间哪里。</p><p>小波基函数是局域的：</p>
<p>$$
\psi_{jk}(x)
=
2^{j/2}\psi(2^jx-k)
$$
它同时有：</p><ul><li>空间位置；</li><li>分辨率尺度。</li></ul><p>其中：</p><ul><li>$j$：尺度，也叫 level；</li><li>$k$：位置；</li><li>$2^j$：缩放因子。</li><li>$2^{j/2}$ 归一化因子</li></ul><h3 id="">小波的两种表示方式</h3><p>小波基具有两个核心操作：</p><ul><li><strong>平移 (Translation)</strong>：移动基函数的中心位置</li><li><strong>伸缩 (Dilation)</strong>：缩放基函数的宽度</li></ul><p>基函数族：$\psi_{jk}(x) = 2^{j/2} \psi(2^j x - k)$</p><p>其中 j 控制分辨率级别（level），k 控制中心位置。</p><h3 id="">多小波展开的核心思想</h3><p>在 n-level 空间上展开波函数：</p><p>$$
f(x) = \sum<em>i s</em>i^n \phi<em>i^n(x) + \sum</em>{l=0}^{n-1} \sum<em>i d</em>i^l \psi_i^l(x)
$$</p><p>其中：</p><ul><li>$s_i^n$ 是 n-level 的<strong>平滑系数</strong>（大尺度信息）</li><li>$d_i^l$ 是各 level 的<strong>细节系数</strong>（逐级精细信息）</li><li>系数较小的 $d_i^l$ 可以截断 → <strong>非均匀格点自动加密</strong></li></ul><p>核心：大尺度轮廓 + 各层细节修正</p><h4 id="">多小波是什么？</h4><p>普通小波每个格子上通常一个 scaling function。</p><p>多小波 multiwavelet 在每个区间上使用多个基函数，比如 Legendre 多项式：</p>
<p>$$
\phi<em>0(x),\phi</em>1(x),\dots,\phi_{p-1}(x)
$$
这样每个单元内部不是只用一个常数，而是用高阶多项式。</p><p>优点：</p><ul><li>高阶精度；</li><li>局部支撑；</li><li>自适应；</li><li>正交性好；</li><li>适合并行。</li></ul><h4 id="">系数如何计算？</h4><p>如果基函数正交，则：</p>
<p>$$
s<em>i^0=\langle \phi</em>i^0|f\rangle
=
\int \phi_i^0(x)f(x),dx
$$
如果某些细节系数很小：</p>
<p>$$</p><p>|d_i^l|&lt;\epsilon</p><p>$$
就可以丢掉。</p><p>这就是自适应压缩。</p><h3 id="-">🚀 算法创新</h3><p>如果某个区域函数平滑，那么高层小波系数很小。</p><p>因为高层小波描述局部细节，而平滑区域没有多少局部细节。</p><p>所以：
$$
d_i^l\approx 0
$$
这些系数可以删掉。</p><p>如果某个区域函数剧烈变化，高层小波系数大，必须保留。</p><p>因此：</p><blockquote><p>小波展开自动在变化快的地方保留更多自由度，在变化慢的地方保留更少自由度。</p></blockquote>
<p>小波方法的核心创新：<strong>将微分方程转化为积分方程，迭代求解</strong>。这是代表性工作 <strong>MADNESS</strong> —— green方法啥的（G.I. Fann 等，ORNL）的核心思想。</p><blockquote><p><strong>说人话</strong>：小波方法=图像压缩算法的数学推广。JPEG 压缩扔掉高频细节，小波方法也扔掉小的展开系数，结果就是&quot;波函数振荡的地方格点自动加密，平缓的地方格点自动稀疏&quot;——无需人工干预！</p></blockquote>
<h3 id="">流程类比</h3><pre class=""><code class="">┌─────────────────────────────────────────────┐
│  输入: 微分方程 + 边界条件                     │
│    ↓                                        │
│  转换为积分方程                               │
│    ↓                                        │
│  多小波基展开 (n-level)                       │
│    ↓                                        │
│  截断小系数 → 自适应非均匀格点                  │
│    ↓                                        │
│  迭代求解 (如 GMRES)                          │
│    ↓                                        │
│  输出: 数值解 + 误差估计                       │
└─────────────────────────────────────────────┘
</code></pre>
<h3 id="">高性能实现</h3><ul><li><strong>TBB</strong>（Threading Building Blocks）：多线程并行</li><li><strong>Elemental</strong>：全局矩阵的分块分布式计算</li></ul><hr/><h2 id="-fem">第九章：有限元方法 FEM</h2><h3 id="-">💡 物理直觉</h3><p>有限差分法在处理不规则形状边界时非常痛苦——网格线总不能完美贴合复杂边界。有限元法（FEM）的解决方案：<strong>&quot;把复杂蛋糕切成简单小块，在每一块上做简单近似，最后拼起来。&quot;</strong></p><p>有限差分法的想法是：</p><blockquote><p>在规则网格上，用上下左右差分近似导数。</p></blockquote>
<p>但 FEM 的想法完全不同：</p><blockquote><p>不一定用规则网格，而是把区域切成很多小块。
 每个小块里用简单函数近似 $u$。
 最后把所有小块拼成一个整体。</p></blockquote>
<p>FEM 不直接用差分近似二阶导数。</p><p>FEM 会说：</p><blockquote><p>我不知道真实解 $u(x)$，但我可以用一堆简单函数拼出来。</p></blockquote>
<p>令：</p>
<p>$$
u<em>h(x)=\sum</em>j U<em>j N</em>j(x)
$$
其中：</p><ul><li>$u_h(x)$：数值近似解；</li><li>$U_j$：第 $j$ 个节点的未知值；</li><li>$N_j(x)$：第 $j$ 个节点对应的基函数，也叫形函数 shape function。</li></ul><p>它满足：</p>
<p>$$
N<em>1(x</em>1)=1
$$
也就是说：</p><blockquote><p>$N_1$ 在自己的节点为 1，在相邻节点为 0。</p></blockquote>
<p>类似地：</p>
<p>$$
N<em>i(x</em>j)=\delta_{ij}
$$
这跟 DVR 里面的 cardinal property 有点像。</p><p>原方程是：</p>
<p>$$
-u&#x27;&#x27;=f
$$
如果直接代入：</p>
<p>$$
u<em>h=\sum</em>j U<em>jN</em>j
$$
会出现二阶导数 $N_j&#x27;&#x27;$。</p><p>但一维线性帽子函数是分段线性的，它的一阶导数是分段常数，二阶导数在节点处会有奇异性。</p><p>所以 FEM 不喜欢直接处理二阶导数。</p><p>于是它使用一个技巧：</p><blockquote><p>把方程乘以测试函数，再积分，通过分部积分把二阶导数降成一阶导数。</p></blockquote>
<p>这就叫 <strong>弱形式 weak form</strong>。</p><p>原方程：</p>
<p>$$
-u&#x27;&#x27;(x)=f(x)
$$
取一个测试函数 $v(x)$，两边乘以 $v(x)$：</p>
<p>$$
-u&#x27;&#x27;(x)v(x)=f(x)v(x)
$$
在整个区间积分：</p>
<p>$$
\int<em>0^L -u&#x27;&#x27;(x)v(x),dx
=
\int</em>0^L f(x)v(x),dx
$$
所以：</p>
<p>$$
-\int<em>0^L u&#x27;&#x27;v,dx
=
-\left[u&#x27;v\right]</em>0^L
+
\int_0^L u&#x27;v&#x27;,dx
$$
因此：</p>
<p>$$
\int<em>0^L u&#x27;v&#x27;,dx
-
\left[u&#x27;v\right]</em>0^L
=
\int_0^L fv,dx
$$
如果是 Dirichlet 边界：</p>
<p>$$
u(0)=0,\qquad u(L)=0
$$
测试函数也取边界为零：</p>
<p>$$
v(0)=0,\qquad v(L)=0
$$
于是边界项：</p>
<p>$$
\left[u&#x27;v\right]_0^L=0
$$
所以得到：</p>
<p>$$
\boxed{
\int<em>0^L u&#x27;(x)v&#x27;(x),dx
=
\int</em>0^L f(x)v(x),dx
}
$$
这就是弱形式。</p><p>只要求一阶导数存在 所以 FEM可以用 分段线形函数</p><blockquote><p>弱形式把“点点都严格满足微分方程”变成“整体积分意义上满足方程”</p></blockquote>
<p>Galerkin 方法：测试函数也选形函数</p><p>近似解：</p>
<p>$$
u<em>h(x)=\sum</em>j U<em>jN</em>j(x)
$$
弱形式：</p>
<p>$$
\int u_h&#x27;v&#x27;,dx=\int fv,dx
$$
FEM/Galerkin 方法选择：</p>
<p>$$
v=N_i
$$
也就是说，用每个形函数当测试函数。</p><p>代入：</p>
<p>$$
\int
\left(
\sum<em>j U</em>jN<em>j&#x27;
\right)
N</em>i&#x27;,dx
=
\int fN_i,dx
$$
把求和拿出来：</p>
<p>$$
\sum<em>j U</em>j
\int N<em>j&#x27;N</em>i&#x27;,dx
=
\int fN_i,dx
$$
定义矩阵：</p>
<p>$$
K<em>{ij}
=
\int N</em>i&#x27;N_j&#x27;,dx
$$
定义右端：</p>
<p>$$
F<em>i
=
\int fN</em>i,dx
$$
于是得到：</p>
<p>$$
\boxed{
K\mathbf U=\mathbf F
}
$$
这就是 FEM 的矩阵方程。</p><p>K就是刚度矩阵 对于局部 就是 局部的刚度矩阵</p><p><em>组装就是：每个小单元算出一个局部矩阵，然后按节点编号加到全局矩阵的对应位置。</em></p><p>二维就用更高级的三角形</p><h3 id="fem-">FEM 的基本步骤</h3><ol start="1"><li><strong>剖分区域</strong>：将求解域分割成大量小单元（二维用三角形，三维用四面体）</li><li><strong>选择插值函数</strong>：在每个单元内用多项式插值近似场量</li><li><strong>弱形式</strong>：将 PDE 乘以检验函数并分部积分，降低微分阶数</li><li><strong>组装与求解</strong>：叠加所有单元的贡献，得到线性方程组</li></ol><h4 id="">例子</h4><p>考虑：</p>
<p>$$
-\nabla^2\phi=f
$$
区域：</p>
<p>$$
\Omega
$$
边界：</p>
<p>$$
\partial\Omega
$$
假设 Dirichlet 边界：</p>
<p>$$
\phi=g
\quad \text{on }\partial\Omega
$$
选一个测试函数 $v$，满足在 Dirichlet 边界上：</p>
<p>$$
v=0
$$
将 PDE 乘以 $v$，积分：</p>
<p>$$
\int<em>\Omega
(-\nabla^2\phi)v,d\Omega
=
\int</em>\Omega fv,d\Omega
$$
对左边分部积分。</p><p>利用恒等式：</p>
<p>$$
\nabla\cdot(v\nabla\phi)
=
\nabla v\cdot\nabla\phi
+
v\nabla^2\phi
$$
所以：</p>
<p>$$
v\nabla^2\phi
=
\nabla\cdot(v\nabla\phi)
-
\nabla v\cdot\nabla\phi
$$
因此：</p>
<p>$$
-\int<em>\Omega v\nabla^2\phi,d\Omega
=
-\int</em>\Omega
\nabla\cdot(v\nabla\phi)d\Omega
+
\int_\Omega
\nabla v\cdot\nabla\phi,d\Omega
$$
用散度定理：</p>
<p>$$
\int<em>\Omega\nabla\cdot(v\nabla\phi)d\Omega
=
\int</em>{\partial\Omega}v\frac{\partial\phi}{\partial n}dS
$$
所以：</p>
<p>$$
-\int<em>\Omega v\nabla^2\phi,d\Omega
=
\int</em>\Omega\nabla v\cdot\nabla\phi,d\Omega
-
\int_{\partial\Omega}
v\frac{\partial\phi}{\partial n}dS
$$
对于 Dirichlet 边界，测试函数 $v=0$，边界项消失。</p><p>于是弱形式为：</p>
<p>$$
\boxed{
\int<em>\Omega\nabla v\cdot\nabla\phi,d\Omega
=
\int</em>\Omega fv,d\Omega
}
$$
此为 FEM的基础 降低微分阶数 —— 因为有限元形函数通常是分片多项式，只要求一阶导存在即可！</p>
<h3 id="delaunay-">Delaunay 三角剖分</h3><p>有限元法中网格质量直接影响精度。<strong>Delaunay 三角剖分</strong>是最常用的剖分策略：</p><ul><li>✅ 最大化所有三角形的最小角（避免&quot;银针三角形&quot;）</li><li>✅ 所有三角形的并集 = 点集的凸包</li><li>✅ 最近邻点必然由一条边相连</li></ul><h3 id="poisson--dirichlet--fem-">Poisson 方程 Dirichlet 问题的 FEM 推导</h3><p>在三角形单元内，场量 $\phi$ 用三个顶点值插值：</p>
<p>$$
\phi(x,y) = N<em>a(x,y),\phi</em>a + N<em>b(x,y),\phi</em>b + N<em>c(x,y),\phi</em>c
$$</p><p>其中 $N<em>a, N</em>b, N_c$ 是形函数（shape functions）。</p><p>通过<strong>变分法</strong>最小化能量泛函，得到<strong>局部刚度矩阵</strong>：</p>
<p>$$
k<em>{ab} = \int</em>\Delta \nabla N<em>a \cdot \nabla N</em>b , dA
$$</p><p>组装所有单元的局部刚度矩阵得到全局方程：</p>
<p>$$
K\phi = r
$$</p><p>其中 $K$ 是对称矩阵，$r$ 是右端向量。</p>
<h3 id="">每个单元的局部刚度矩阵（具体形式）</h3><p>设三角形三个顶点坐标为 $(x<em>a, y</em>a), (x<em>b, y</em>b), (x<em>c, y</em>c)$：</p><pre class="language-python lang-python"><code class="language-python lang-python">def local_stiffness(verts):
    &quot;&quot;&quot;计算单个三角形单元的局部刚度矩阵&quot;&quot;&quot;
    xa, ya = verts[0]
    xb, yb = verts[1]
    xc, yc = verts[2]
    # 面积的两倍
    J = (xb - xa)*(yc - ya) - (xc - xa)*(yb - ya)
    # 形函数梯度分量
    bx = (yb - yc) / J  # ∂Na/∂x
    cx = (xc - xb) / J  # ∂Na/∂y → 对应 Na
    # ... 轮换得到其他顶点的分量
    # 局部刚度矩阵 3×3
    k = np.zeros((3, 3))
    k[0, 0] = (bx*bx + cx*cx) * J / 2  # 依此类推
    return k
</code></pre>
<h3 id="">回顾展开推导</h3><h4 id="">三角形线性单元</h4><p>设一个三角形单元 $\Delta$ 有三个顶点：</p>
<p>$$
a,b,c
$$
坐标分别为：</p>
<p>$$
(x<em>a,y</em>a),\quad (x<em>b,y</em>b),\quad (x<em>c,y</em>c)
$$
在这个三角形内部，用线性插值：</p>
<p>$$
\phi(x,y)
=
N<em>a(x,y)\phi</em>a
+
N<em>b(x,y)\phi</em>b
+
N<em>c(x,y)\phi</em>c
$$
其中 $N<em>a,N</em>b,N_c$ 是形函数。</p><p>它们满足：</p>
<p>$$
N<em>a(a)=1,\quad N</em>a(b)=0,\quad N_a(c)=0
$$
类似地：</p>
<p>$$
N<em>b(b)=1,\quad N</em>c(c)=1
$$
并且：</p>
<p>$$
N<em>a+N</em>b+N_c=1
$$</p><hr/><h4 id="">线性三角形形函数具体形式</h4><p>形函数可以写成：</p>
<p>$$
N<em>i(x,y)
=
\frac{a</em>i+b<em>ix+c</em>iy}{2A}
$$
其中 $A$ 是三角形面积。</p><p>对顶点 $a$：</p>
<p>$$
a<em>a=x</em>by<em>c-x</em>cy_b
$$
对顶点 $b$：</p>
<p>$$
a<em>b=x</em>cy<em>a-x</em>ay_c
$$
对顶点 $c$：</p>
<p>$$
a<em>c=x</em>ay<em>b-x</em>by_a
$$
面积满足：</p>
<p>$$
2A
=
\begin{vmatrix}
1&amp;x<em>a&amp;y</em>a\
1&amp;x<em>b&amp;y</em>b\
1&amp;x<em>c&amp;y</em>c
\end{vmatrix}
$$
也就是：</p>
<p>$$
2A
=
(x<em>b-x</em>a)(y<em>c-y</em>a)
-
(x<em>c-x</em>a)(y<em>b-y</em>a)
$$
通常取绝对值保证面积为正。</p><hr/><h4 id="">形函数梯度</h4><p>因为 $N_i$ 是线性的，所以梯度是常数：</p>
<p>$$
\nabla N<em>i
=
\left(
\frac{\partial N</em>i}{\partial x},
\frac{\partial N<em>i}{\partial y}
\right)
=
\left(
\frac{b</em>i}{2A},
\frac{c_i}{2A}
\right)
$$</p><hr/><h4 id="">局部刚度矩阵推导</h4><p>弱形式对应的局部刚度矩阵为：</p>
<p>$$
k<em>{ij}^{(e)}
=
\int</em>{\Delta<em>e}
\nabla N</em>i\cdot\nabla N<em>j,dA
$$
由于 $\nabla N</em>i$ 和 $\nabla N_j$ 在三角形内是常数：</p>
<p>$$
k<em>{ij}^{(e)}
=
\left(
\nabla N</em>i\cdot\nabla N<em>j
\right)
\int</em>{\Delta_e}dA
$$
所以：</p>
<p>$$
\boxed{
k<em>{ij}^{(e)}
=
\frac{b</em>ib<em>j+c</em>ic_j}{4A}
}
$$
这就是线性三角形单元的局部刚度矩阵。</p><hr/><h4 id="">局部载荷向量</h4><p>右端：</p>
<p>$$
r<em>i^{(e)}
=
\int</em>{\Delta<em>e} f N</em>i,dA
$$
如果 $f$ 在单元内近似为常数，可以取三角形重心处值：</p>
<p>$$
f<em>e=f(x</em>{\text{centroid}},y_{\text{centroid}})
$$
则：</p>
<p>$$
r<em>i^{(e)}
\approx
f</em>e\int<em>{\Delta</em>e}N_i,dA
$$
线性三角形中：</p>
<p>$$
\int<em>{\Delta</em>e}N_i,dA=\frac{A}{3}
$$
所以：</p>
<p>$$
\boxed{
r<em>i^{(e)}
\approx
\frac{A}{3}f</em>e
}
$$</p><hr/><h4 id="">组装全局矩阵</h4><p>每个单元有一个 $3\times 3$ 局部刚度矩阵：</p>
<p>$$
k^{(e)}
$$
假设该单元三个局部节点对应全局编号：</p>
<p>$$
I<em>a,I</em>b,I_c
$$
那么把局部矩阵加到全局矩阵：</p>
<p>$$
K<em>{I</em>p I<em>q}
\mathrel{+}=
k</em>{pq}^{(e)}
$$
右端同理：</p>
<p>$$
r<em>{I</em>p}\mathrel{+}=r_p^{(e)}
$$
最后得到：</p>
<p>$$
\boxed{
K\boldsymbol\phi=\mathbf r
}
$$</p><h4 id="dirichlet-">Dirichlet 边界怎么处理？</h4><p>如果某个边界点已知：</p>
<p>$$
\phi<em>i=g</em>i
$$
常见处理方式：</p><ol start="1"><li>把该自由度从未知量中删除；</li><li>或者修改矩阵第 $i$ 行：</li></ol><p>$$
K<em>{ii}=1,\quad K</em>{ij}=0\ (j\neq i)
$$
右端设为：</p>
<p>$$
r<em>i=g</em>i
$$
为了保持对称性，通常还要同时修改列。</p><hr/><h4 id="neumann--fem-">Neumann 边界在 FEM 中很自然</h4><p>如果边界给：</p>
<p>$$
\frac{\partial\phi}{\partial n}=q
$$
弱形式中边界项不会消失：</p>
<p>$$
-\int_{\partial\Omega}
v\frac{\partial\phi}{\partial n}dS
$$
根据方程符号约定，它会进入右端。</p><p>所以 FEM 里 Neumann 条件是自然边界条件。</p><hr/><h4 id="fem-">FEM 本征值问题中的质量矩阵</h4><p>如果求 Schrödinger 方程：</p>
<p>$$
H\psi=E\psi
$$
FEM 展开：</p>
<p>$$
\psi=\sum<em>i c</em>iN_i
$$
投影后得到：</p>
<p>$$
H\mathbf c=E M\mathbf c
$$
这里 $M$ 是质量矩阵：</p>
<p>$$
M<em>{ij}
=
\int N</em>iN_j,d\Omega
$$
对线性三角形，局部质量矩阵为：</p>
<p>$$
M^{(e)}
=
\frac{A}{12}
\begin{pmatrix}
2&amp;1&amp;1\
1&amp;2&amp;1\
1&amp;1&amp;2
\end{pmatrix}
$$
这和 B-样条里的重叠矩阵 $S$ 是同一个角色。</p><h3 id="fem-vs-">FEM vs 有限差分法</h3><table><thead><tr><th> 维度       </th><th> 有限差分法   </th><th> 有限元法 FEM              </th></tr></thead><tbody><tr><td> 网格       </td><td> 规则矩形网格 </td><td> 任意三角形/四面体         </td></tr><tr><td> 边界拟合   </td><td> 困难         </td><td> 自然                      </td></tr><tr><td> 数学基础   </td><td> Taylor 展开  </td><td> 变分法 / 弱形式           </td></tr><tr><td> 精度控制   </td><td> 加密网格     </td><td> 加密网格+提高插值阶数     </td></tr><tr><td> 编程复杂度 </td><td> 简单         </td><td> 复杂                      </td></tr><tr><td> 典型应用   </td><td> 学术计算     </td><td> 工程仿真（ANSYS, COMSOL） </td></tr></tbody></table><hr/><h2 id="--twisted">第十章：边界条件进阶 — 多极展开、周期性、Twisted</h2><h3 id="-">💡 物理直觉</h3><p>前面讨论的是&quot;给定边界值&quot;的简单情况。实际科研中，边界条件本身就是个难题。比如 Coulomb 势在无穷远处衰减极慢（~1/r），怎么截断？</p><h3 id="1-coulomb---">1. Coulomb 势边界条件 — 多极展开法</h3><p>对于长程 Coulomb 势，在边界外面还有贡献。处理方法：</p><p><strong>步骤</strong>：将边界上的源 $\rho_b$ 分离出来：</p><p>$$
\nabla^2\phi = -4\pi\rho
$$</p><p>在边界上的贡献用<strong>多极展开</strong>（Spherical Harmonics $Y_{\ell m}$）解析计算：</p><p>$$
\phi<em>{\text{boundary}} = \sum</em>{\ell,m} \frac{Q<em>{\ell m}}{r^{\ell+1}} Y</em>{\ell m}(\theta, \phi)
$$</p><p>其中 $Q<em>{\ell m} = \int r^\ell Y</em>{\ell m}^*(\theta, \phi) ,\rho(\mathbf{r}), d^3r$ 是多极矩。</p><p>然后用有限差分法求解内部：$\nabla^2\phi = -4\pi(\rho - \rho_b)$（减去边界源的贡献）。</p><blockquote><p><strong>说人话</strong>：把长程部分用球谐函数解析算了，剩下的短程部分用差分法。分而治之！</p></blockquote>
<h3 id="2--pbc">2. 周期性边界条件 PBC</h3><p>傅里叶微分算符天然处理周期性边界：$\phi(x+L) = \phi(x)$。</p><p>在固体物理、晶格 QCD 中，PBC 是标配。</p><p>但有一个问题：<strong>有限盒子的假量子化效应</strong>——本该连续的谱被离散化了。</p><h3 id="3-twisted--tbc">3. Twisted 边界条件 TBC</h3><p>Twisted 边界条件是对 PBC 的推广：</p><p>$$
\phi(x+L) = e^{i\theta} \phi(x)
$$</p><ul><li><strong>物理动机</strong>：通过变化 twist 角 $\theta$ 来恢复连续谱</li><li><strong>实现</strong>：修改傅里叶动量 $k = (2\pi n + \theta)/L$</li><li><strong>应用</strong>：晶格 QCD、量子 Monte Carlo、凝聚态物理、中子星壳层 Pasta 结构</li></ul><h3 id="4--abc">4. 吸收边界条件 ABC</h3><p>对于散射态/连续谱问题，不让波函数在边界反射回来：</p><pre class=""><code class="">入射波 → 计算区域 → 透射（吸收）
           ↛ 反射回来！
</code></pre>
<h3 id="">三种边界条件对比</h3><table><thead><tr><th> 类型 </th><th> 条件                             </th><th> 适用场景           </th></tr></thead><tbody><tr><td> PBC  </td><td> $\phi(x+L) = \phi(x)$            </td><td> 晶体、周期结构     </td></tr><tr><td> TBC  </td><td> $\phi(x+L) = e^{i\theta}\phi(x)$ </td><td> 有限系统连续谱恢复 </td></tr><tr><td> ABC  </td><td> 吸收出射波                       </td><td> 散射态、连续谱     </td></tr></tbody></table><hr/><h2 id="jacobi-">第十一章：Jacobi 松弛迭代法</h2><h3 id="-">💡 物理直觉</h3><p>对于 Poisson 方程 $\nabla^2 u = -f$，离散化后得到 $A\mathbf{u} = \mathbf{b}$。直接求逆对大规模矩阵不现实（O(N³)）。Jacobi 迭代的一条思路：&quot;方程两边同时加回主对角项，变成不动点迭代。&quot;</p><p>先乱猜一个解， 然后反复使用“邻居平均值”进行修正，直到整体平均平衡！！！</p>
<h3 id="jacobi-">Jacobi 迭代公式推导</h3><p>从五点差分公式出发：</p><p>$$
\frac{u<em>{i+1,j} + u</em>{i-1,j} + u<em>{i,j+1} + u</em>{i,j-1} - 4u<em>{i,j}}{h^2} = -f</em>{i,j}
$$</p><p>移项，解出 $u_{i,j}$：</p><p>$$
u<em>{i,j}^{\text{(new)}} = \frac{1}{4} \left[ u</em>{i+1,j}^{\text{(old)}} + u<em>{i-1,j}^{\text{(old)}} + u</em>{i,j+1}^{\text{(old)}} + u<em>{i,j-1}^{\text{(old)}} + h^2 f</em>{i,j} \right]
$$</p><blockquote><p><strong>说人话</strong>：每个格点的新值 = 四个邻居旧值的平均值 + 源项修正。不断重复直到收敛。本质上，这就是让势函数慢慢&quot;松弛&quot;到平衡态！它会慢慢把不平衡的势函数抹平，直到满足平衡条件。</p></blockquote>
<h3 id="">数值实现</h3><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def jacobi_poisson_2d(u, f, h, tol=1e-6, max_iter=10000):
    u_old = u.copy()
    u_new = u.copy()

    for it in range(max_iter):
        u_old[:, :] = u_new

        u_new[1:-1, 1:-1] = 0.25 * (
            u_old[2:, 1:-1]
            + u_old[:-2, 1:-1]
            + u_old[1:-1, 2:]
            + u_old[1:-1, :-2]
            + h**2 * f[1:-1, 1:-1]
        )

        diff = np.max(np.abs(u_new - u_old))

        if diff &lt; tol:
            print(&quot;Jacobi 收敛步数:&quot;, it)
            break

    return u_new
</code></pre>
<h3 id="">加速技巧</h3><ul><li><strong>Gauss-Seidel 迭代</strong>：使用最新值而非旧值（Jacobian→Gauss-Seidel，收敛翻倍）</li><li><strong>超松弛 SOR</strong>：加一个加速因子 $\omega$（$1 &lt; \omega &lt; 2$）</li><li><strong>多重网格法</strong>：粗网格上快速收敛低频分量，细网格上打磨高频分量</li></ul><hr/><h2 id="">总结与对比</h2><h3 id="">核心思想归纳</h3><ol start="1"><li><strong>多维 PDE 的密钥 → 投影转换为一维</strong>：矩阵形式的本质就是把 2D/3D 格点压扁成一个大向量</li><li><strong>不同算法的精度关键 → 微分算符</strong>：如何逼近导数决定了方法的上限</li><li><strong>两大流派</strong>：基空间（灵活高效）vs 格点空间（精确但计算量大）</li></ol><h3 id="">七种方法终极对比表</h3><table><thead><tr><th> 方法            </th><th> 微分算符      </th><th> 边界处理         </th><th> 精度             </th><th> 计算量         </th><th> 适用场景           </th><th> 格点要求   </th></tr></thead><tbody><tr><td> <strong>有限差分</strong>    </td><td> 局部差分公式  </td><td> 显式修改         </td><td> ~O(h²)           </td><td> 大（稀疏矩阵） </td><td> 规则区域           </td><td> 均匀       </td></tr><tr><td> <strong>FFT 谱方法</strong>  </td><td> 乘 ik（精确） </td><td> 周期边界         </td><td> 指数收敛         </td><td> $O(N\log N)$   </td><td> 光滑周期问题       </td><td> 均匀       </td></tr><tr><td> <strong>基矢展开</strong>    </td><td> 解析积分      </td><td> 基函数自带       </td><td> 高（基完备）     </td><td> 中             </td><td> 束缚态             </td><td> 无网格     </td></tr><tr><td> <strong>DVR</strong>         </td><td> 解析+对角势   </td><td> 基函数自带       </td><td> 极高             </td><td> 中             </td><td> 本征值问题         </td><td> 高斯积分点 </td></tr><tr><td> <strong>B-样条</strong>      </td><td> 解析递推      </td><td> 需处理边界       </td><td> 高               </td><td> 中             </td><td> 非均匀网格         </td><td> 非均匀     </td></tr><tr><td> <strong>小波/多小波</strong> </td><td> 迭代积分      </td><td> 自然的           </td><td> 自适应           </td><td> 中-高          </td><td> 多尺度问题         </td><td> 自适应     </td></tr><tr><td> <strong>有限元 FEM</strong>  </td><td> 弱形式+变分   </td><td> 自然拟合任意形状 </td><td> 高（h&amp;p 自适应） </td><td> 大             </td><td> 工程仿真、复杂边界 </td><td> 任意三角形 </td></tr></tbody></table><h3 id="-">📊 方法选择决策树</h3><pre class=""><code class="">遇到 PDE 问题
├── 规则区域 + 周期边界 → FFT 谱方法（最快）
├── 规则区域 + 一般边界 → 有限差分法（最直接）
├── 束缚态本征值问题
│   ├── 基函数合适 → 基矢展开法（最高效）
│   ├── 需要高精度 → DVR（最优收敛）
│   └── 需要非均匀网格 → B-样条（最灵活）
├── 多尺度 / 自适应需求 → 多小波分析（最智能）
├── 不规则复杂边界 → 有限元法（最通用）
└── 超大规模稀疏 → Jacobi / 多重网格迭代
</code></pre>
<h3 id="-pde-">🔗 PDE 方法与物理问题的对应</h3><table><thead><tr><th> 物理方程                 </th><th> 类型     </th><th> 推荐方法            </th><th> 注意事项                 </th></tr></thead><tbody><tr><td> Poisson 方程 ∇²u = −ρ    </td><td> 椭圆型   </td><td> 五点差分 + 迭代     </td><td> 稀疏矩阵，迭代收敛快     </td></tr><tr><td> Schrödinger 方程 Hψ = Eψ </td><td> 本征值型 </td><td> DVR / B-样条        </td><td> 精度要求高，边界条件关键 </td></tr><tr><td> 扩散方程 ∂u/∂t = D∇²u    </td><td> 抛物型   </td><td> 有限差分 + 时间步进 </td><td> 稳定性条件 Δt ≤ h²/2D    </td></tr><tr><td> 波动方程 ∂²u/∂t² = c²∇²u </td><td> 双曲型   </td><td> FFT 谱方法          </td><td> 无耗散，适合周期性结构   </td></tr></tbody></table><h3 id="-">💡 课程金句备忘</h3><ul><li>&quot;多维问题的关键是投影转换为一维&quot;</li><li>&quot;不同算法的精度关键是微分算符&quot;</li><li>&quot;基空间灵活高效，格点空间精确但计算量大&quot;</li><li>&quot;利用对称性和好量子数可以降维，打破对称性则计算量增加几个量级&quot;</li><li>&quot;Nyquist 准则：格点间距不能大于最小波长的 1/2，否则信息丢失&quot;</li></ul><hr/><p><em>笔记结束 · 2026-06-07</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Partial-differential-equation#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Partial-differential-equation</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Partial-differential-equation</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Thu, 02 Jul 2026 13:46:49 GMT</pubDate></item><item><title><![CDATA[微分方程计算方法初步]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Differential-equation">https://akuiro24.xyz/posts/default/Differential-equation</a></blockquote><div><h2 id="-">📑 目录</h2><ol start="1"><li><a href="#1-微分方程数值解概览">微分方程数值解概览</a></li><li><a href="#2-euler-法与-taylor-展开法">Euler 法与 Taylor 展开法</a></li><li><a href="#3-runge-kutta-方法族">Runge-Kutta 方法族</a></li><li><a href="#4-predictor-corrector-多步法">Predictor-Corrector 多步法</a></li><li><a href="#5-微分方程组与-lorenz-混沌">微分方程组与 Lorenz 混沌</a></li><li><a href="#6-高阶微分方程的降阶处理">高阶微分方程的降阶处理</a></li><li><a href="#7-刚性微分方程stiff-ode">刚性微分方程（Stiff ODE）</a></li><li><a href="#8-边值问题与打靶法shooting">边值问题与打靶法（Shooting）</a></li><li><a href="#9-numerov-方法">Numerov 方法</a></li><li><a href="#10-schrödinger-方程数值求解">Schrödinger 方程数值求解</a></li><li><a href="#11-green-函数与-wronskian">Green 函数与 Wronskian</a></li><li><a href="#12-有限差分法finite-difference">有限差分法（Finite Difference）</a></li><li><a href="#13-应用实例tov-方程与中子星">应用实例：TOV 方程与中子星</a></li><li><a href="#14-总结对比表">总结对比表</a></li></ol><hr/><h2 id="1-">1. 微分方程数值解概览</h2><h3 id="">两大问题类型</h3><table><thead><tr><th> 类型               </th><th> 给定条件              </th><th> 物理例子               </th><th> 主要方法         </th></tr></thead><tbody><tr><td> <strong>初值问题 (IVP)</strong> </td><td> 已知 $y(t_0)$, 求后续 </td><td> 行星轨道、电路暂态     </td><td> Euler, RK, Adams </td></tr><tr><td> <strong>边值问题 (BVP)</strong> </td><td> 已知两边界条件        </td><td> 量子束缚态、热传导稳态 </td><td> 打靶法, 有限差分 </td></tr></tbody></table><p style="padding:6px 12px;border-left:2px solid #33A6B8;background:#33A6B850;font-style:italic;font-weight:500">Not support render this content in RSS render</p>
<p>💡 <strong>物理直觉</strong>：初值问题是&quot;知道现在，推演未来&quot;（动力学），边值问题是&quot;知道两端，反推中间&quot;（稳态分布）。</p><hr/><h2 id="2-euler--taylor-">2. Euler 法与 Taylor 展开法</h2><h3 id="21-euler---">2.1 Euler 法 — 最朴素的一阶方法</h3><p><strong>核心思想</strong>：用切线近似曲线。</p><p>对于一阶 ODE：</p><p>$$\frac{dy}{dt} = f(t, y), \quad y(t<em>0) = y</em>0$$</p><p><strong>等间距离散化</strong>：取步长 $h$，定义 $t<em>i = t</em>0 + i \cdot h$，$i = 0,1,2,...,N$</p><p><strong>Euler 递推公式</strong>：</p><p>$$y<em>{i+1} = y</em>i + h \cdot f(t<em>i, y</em>i)$$</p><p><strong>说人话</strong>：下一步 = 当前值 + 步长 × 当前斜率。就像盲人走路，每步朝着当前方向走固定距离，完全不看前面弯不弯。</p><h4 id="--y---2y--1-y01">📐 数值例子： $y&#x27; = -2y + 1,\ y(0)=1$</h4><p>精确解： $y(t) = 0.5 + 0.5e^{-2t}$</p><pre class="language-python lang-python"><code class="language-python lang-python"># Euler 法手算演示，h=0.2
import numpy as np

def f(t, y): return -2*y + 1
y0, h = 1.0, 0.2
t_vals = np.arange(0, 1.01, h)
y_euler = [y0]

for i in range(len(t_vals)-1):
    y_next = y_euler[-1] + h * f(t_vals[i], y_euler[-1])
    y_euler.append(y_next)


</code></pre>
<p><strong>观察</strong>：Euler 法在 $t=1.0$ 时误差约 12%。步长太大！</p><h3 id="22--taylor-">2.2 高阶 Taylor 展开法</h3><p><strong>递推公式</strong>：</p><p>$$y<em>{i+1} = y</em>i + h y&#x27;<em>i + \frac{h^2}{2!}y&#x27;&#x27;</em>i + \frac{h^3}{3!}y&#x27;&#x27;&#x27;_i + \cdots$$</p><p><strong>局部截断误差 (Local Truncation Error)</strong>：</p><ul><li>Euler 法（1阶 Taylor）： $O(h^2)$ 每步</li><li>$k$ 阶 Taylor： $O(h^{k+1})$ 每步</li></ul><h4 id="-y-2y1--taylor">对 $y&#x27;=-2y+1$ 用二阶 Taylor</h4><p>$$
y&#x27;&#x27; = -2y&#x27; = -2(-2y+1) = 4y-2
$$</p><pre class="language-python lang-python"><code class="language-python lang-python"># 二阶 Taylor，同一步长 h=0.2
y_taylor2 = [y0]
for i in range(len(t_vals)-1):
    y = y_taylor2[-1]
    yp = -2*y + 1          # y&#x27;
    ypp = 4*y - 2          # y&#x27;&#x27;
    y_next = y + h*yp + h**2/2 * ypp
    y_taylor2.append(y_next)

# t=1.0: y≈0.559592 → 误差从 12% 降到约 1.4%！
</code></pre>
<table><thead><tr><th> $t$  </th><th> 精确解 </th><th> Euler (h=0.2) </th><th> 二阶 Taylor (h=0.2) </th><th> Euler (h=0.1) </th></tr></thead><tbody><tr><td> 0.4  </td><td> 0.7247 </td><td> 0.7200        </td><td> 0.7244              </td><td> 0.7568        </td></tr><tr><td> 0.8  </td><td> 0.6009 </td><td> 0.5968        </td><td> 0.6003              </td><td> 0.6334        </td></tr><tr><td> 1.0  </td><td> 0.5677 </td><td> 0.4982        </td><td> 0.5596              </td><td> 0.5838        </td></tr></tbody></table><p>💡 <strong>结论</strong>：提高阶数比缩小步长更有效！二阶 Taylor 用 $h=0.2$ 的精度已经超过 Euler 用 $h=0.1$。</p><hr/><h2 id="3-runge-kutta-">3. Runge-Kutta 方法族</h2><p>在科学计算、航空航天轨道计算、乃至游戏物理引擎中，90% 以上的常微分方程初值问题，其底层默认的算法都是龙格-库塔法。</p><h3 id="31-">3.1 核心思想</h3><p>Taylor 展开法需要手动求各阶导数</p><p>（麻烦！ + 阶数越高 手动求偏导的项数呈现指数级爆炸 —— 工程上不可以承受的 + 导数无具体解析解 需要数值手段）</p><p>Runge-Kutta 的巧思：</p><p><mark class="rounded-md"><span class="px-1">能否不求导，仅仅是通过在当前步长的不同位置 多算几次斜率，然后将其“加权平均”，来拼凑出来和Taylor一样的高阶精度效果</span></mark></p><p><strong>用多点函数值的组合来模拟高阶导数效果</strong>，无需显式求导。 我们无需去求那些复杂的偏导数，我们只需要在区间 $[t<em>{i}, t</em>{i+1}]$ 之间 ，多选取</p><p><strong>一般形式</strong>：</p>
<p>$$
y<em>{i+1} = y</em>i + h \sum<em>{j=1}^{s} b</em>j k_j
$$</p>
<p>其中 k就是我们在这一步里，通过不同位置的“试探”得到的斜率。每一个k，都依赖于前面已经算出来的斜率</p>
<p>$$
k<em>j = f\left(t</em>i + c<em>j h,\ y</em>i + h \sum<em>{l=1}^{j-1} a</em>{jl} k<em>l\right)
$$
这些系数  $a</em>{jl}$、 $b<em>j$ 和  $c</em>j$ 是通过<strong>与泰勒级数展开进行复杂的代数比对（Taylor matching）</strong>强行解出来</p><h3 id="32--runge-kutta-euler-">3.2 二阶 Runge-Kutta：中点法与改进 Euler 法</h3><h4 id="--midpoint-method--">🔹 中点法 (Midpoint Method) 先探路 再迈步</h4><p>$$
k<em>1 = f(t</em>i, y<em>i)
\
\space
\
k</em>2 = f\left(t<em>i + \frac{h}{2},\ y</em>i + \frac{h}{2}k<em>1\right)
\
\space
\
y</em>{i+1} = y<em>i + h \cdot k</em>2
$$</p>
<p><strong>说人话</strong>：先用半步走到的中点斜率，再拿这个斜率走一整步。比直接走精度高了一阶。</p><p>k1就是 起点的斜率 ， k2就是中点处预测的斜率</p><p>你蒙着眼睛在一座山上往下走。如果直接用起点斜率 $k<em>1$ 走一整步（欧拉法），由于山坡在弯曲，你很容易偏离轨道。 中点法的策略是：我先用起点的斜率 $k</em>1$ 试探着走<strong>半步</strong>（ $\frac{h}{2}$），到达“中点”。我测出中点处的斜率 $k<em>2$，然后我回到起点，**手持这个中点斜率 $k</em>2$ 跨出完整的一整步**。由于中点斜率代表了这一小段路程的“平均趋势”，这样跨出的一步，精度直接从一阶跃升到了二阶（全局误差 $O(h^2)$）！</p>
<h4 id="--euler--modified-euler--heuns-method">🔹 改进 Euler 法 (Modified Euler / Heun&#x27;s Method)</h4><p>$$
k<em>1 = f(t</em>i, y<em>i)
\
\space
\
k</em>2 = f(t<em>i + h,\ y</em>i + h k<em>1)
\
\space
\
y</em>{i+1} = y<em>i + \frac{h}{2}(k</em>1 + k_2)
$$</p>
<p><strong>说人话</strong>：取&quot;起点斜率&quot;和&quot;用 Euler 走到终点的斜率&quot;的平均。相当于预测-校正。</p><p>中点法 是去中间探路 而 改进的欧拉法 则是两头兼顾</p><p>可以先用 起点的斜率 k1 算一个“预期的终点”，接着 我们测量这个预期终点处斜率k2，最后将起点与终点的斜率进行算术平均 得出最终迈步的依据 —— <strong>预测-校正</strong></p><p>Predictor- Corrector 思想！！！</p>
<h3 id="33--runge-kutta-rk4--">3.3 四阶 Runge-Kutta (RK4) — 工业标准</h3><p><strong>公式（经典 RK4）</strong>：</p>
<p>$\begin{aligned} k<em>1 &amp;= f(t</em>i, y<em>i) \
\space
\ k</em>2 &amp;= f\left(t<em>i + \frac{h}{2},\ y</em>i + \frac{h}{2}k<em>1\right) \
\space
\ k</em>3 &amp;= f\left(t<em>i + \frac{h}{2},\ y</em>i + \frac{h}{2}k<em>2\right) \
\space
\ k</em>4 &amp;= f(t<em>i + h,\ y</em>i + h k<em>3) \
\space
\ y</em>{i+1} &amp;= y<em>i + \frac{h}{6}(k</em>1 + 2k<em>2 + 2k</em>3 + k_4) \end{aligned}$</p>
<p>本质上其代数逻辑 与 Simpson 积分 惊人的相似！！！</p><p>与数值积分里的 <strong>Simpson 公式权重</strong>（ $\frac{1}{6}, \frac{4}{6}, \frac{1}{6}$）极其相似！</p><p>$k_1$（起点斜率）权重为 $1/6$；</p><p>$k<em>2, k</em>3$（两个在中点不同试探方式得到的斜率）权重合起来是 $4/6$；</p><p>$k_4$（终点斜率）权重为 $1/6$。</p><h4 id="">本质</h4><p>是常微分方程数值解和数值积分 在深层代数逻辑上 合流的必然结果</p><h5 id="--ode-">一、 终极源头：将 ODE 降维成“纯积分”</h5><p>要理解为什么它们会发生碰撞，我们先做一个数学实验： 假设我们有一个一阶常微分方程：</p><p>$$
\frac{dy}{dt} = f(t, y), \quad y(t<em>i) = y</em>i
$$</p><p>如果我们对两边在区间 $[t<em>i, t</em>i + h]$ 上进行<strong>精确求导积分</strong>，由微积分基本定理可以得到：</p><p>$$
y(t<em>i + h) - y(t</em>i) = \int<em>{t</em>i}^{t_i+h} f(t, y(t)) dt
$$</p><p>所以，下一步的精确值一定是：</p><p>$y<em>{i+1} = y</em>i + \int<em>{t</em>i}^{t_i+h} f(t, y(t)) dt$</p><p>这是一个<strong>无法直接计算</strong>的积分，因为被积函数里的 $y(t)$ 本身就是我们正在求解的未知数！</p>
<p>降维假设：如果斜率不依赖于 $y$</p><p>现在，我们假设一种最简单、最特殊的物理场景：<strong>斜率 $f(t, y)$ 仅仅与时间 $t$ 有关，与 $y$ 无关</strong>。 比如，一个物体的加速度只随时间变化： $\frac{dy}{dt} = f(t)$。</p><p>此时，上面的方程直接变成了一个<strong>纯积分问题</strong>：</p><p> $y<em>{i+1} = y</em>i + \int<em>{t</em>i}^{t_i+h} f(t) dt$</p><hr/><h5 id="-simpsons-rule">二、 辛普森公式（Simpson&#x27;s Rule）是如何处理这个积分的？</h5><p>如果要计算 $\int<em>{t</em>i}^{t<em>i+h} f(t) dt$，辛普森公式的思路是：在区间 $[t</em>i, t_i+h]$ 里，取三个<strong>等距点</strong>来做二次抛物线插值：</p><ol start="1"><li><strong>左端点</strong>： $t<em>i$，对应的函数值为 $f(t</em>i)$；</li><li><strong>中点</strong>： $t<em>i + \frac{h}{2}$，对应的函数值为 $f(t</em>i + \frac{h}{2})$；</li><li><strong>右端点</strong>： $t<em>i + h$，对应的函数值为 $f(t</em>i + h)$。</li></ol><p>根据辛普森公式的求积权重（$1:4:1$ 比例），这个积分的近似值为：</p><p> $\int<em>{t</em>i}^{t<em>i+h} f(t) dt \approx \frac{h}{6} \left[ f(t</em>i) + 4 f\left(t<em>i + \frac{h}{2}\right) + f(t</em>i + h) \right]$</p><p>因此，我们得到下一步的预测值为：</p><p> $y<em>{i+1} \approx y</em>i + \frac{h}{6} \left[ f(t<em>i) + 4 f\left(t</em>i + \frac{h}{2}\right) + f(t_i + h) \right]$</p><hr/><h5 id="--rk4-">三、 经典 RK4 此时在干什么？</h5><p>现在，我们把相同的“降维假设”（$f$ 不依赖于 $y$）代入到经典 <strong>RK4</strong> 的公式里，看看它会退化成什么样：</p><ol start="1"><li><strong>计算 $k_1$（起点斜率）</strong>： $k<em>1 = f(t</em>i, y<em>i) \implies k</em>1 = f(t_i)$</li><li><strong>计算 $k_2$（中点试探斜率 1）</strong>： $k<em>2 = f\left(t</em>i + \frac{h}{2},\ y<em>i + \frac{h}{2}k</em>1\right) \implies k<em>2 = f\left(t</em>i + \frac{h}{2}\right)$</li><li><strong>计算 $k_3$（中点试探斜率 2）</strong>： $k<em>3 = f\left(t</em>i + \frac{h}{2},\ y<em>i + \frac{h}{2}k</em>2\right) \implies k<em>3 = f\left(t</em>i + \frac{h}{2}\right)$</li><li><strong>计算 $k_4$（终点试探斜率）</strong>： $k<em>4 = f(t</em>i + h,\ y<em>i + h k</em>3) \implies k<em>4 = f(t</em>i + h)$</li></ol><p>因为 $f$ 与 $y$ 无关，我们发现：<strong>在中点算出来的两个试探斜率 $k<em>2$ 和 $k</em>3$ 居然完全相等了！</strong></p><p> $k<em>2 = k</em>3 = f\left(t_i + \frac{h}{2}\right)$</p><p>现在，我们把它们代入 RK4 的最后一步加权平均式中： $\begin{aligned} y<em>{i+1} &amp;= y</em>i + \frac{h}{6} (k<em>1 + 2k</em>2 + 2k<em>3 + k</em>4) \ &amp;= y<em>i + \frac{h}{6} \left[ f(t</em>i) + 2f\left(t<em>i + \frac{h}{2}\right) + 2f\left(t</em>i + \frac{h}{2}\right) + f(t<em>i + h) \right] \ &amp;= y</em>i + \frac{h}{6} \left[ f(t<em>i) + 4f\left(t</em>i + \frac{h}{2}\right) + f(t_i + h) \right] \end{aligned}$</p><p><strong>两套公式完全合二为一，分毫不差！</strong></p><hr/><h5 id="-">四、 这个“巧合”背后的深刻含义</h5><h6 id="1-rk4---ode-">1. RK4 是 辛普森公式在 ODE 领域的“非线性推广”</h6><ul><li><strong>辛普森公式</strong>：只能处理函数只与时间 $t$ 相关的<strong>静态积分</strong>。</li><li><p><strong>RK4</strong>：当函数不仅与 $t$ 有关，还与当前状态 $y$ <strong>动态耦合</strong>时，RK4 通过巧妙的多步迭代预测（用 $k<em>1$ 预测出 $y</em>{i} + \frac{h}{2}k<em>1$，进而算 $k</em>2$；再用 $k<em>2$ 修正出 $y</em>{i} + \frac{h}{2}k<em>2$，进而算 $k</em>3$），在非线性空间里重建了辛普森公式所需要的“中点斜率”（在泰勒展开的代数精度上，RK4 巧妙地通过这两步试探，将非线性耦合带来的高阶误差一项一项全部抵消掉，从而在代数精度上达到了与辛普森公式完全匹配的四阶精度 $O(h^4)$）</p></li><li><p>因此，<strong>RK4 本质上就是“带有动态状态修正的辛普森积分”</strong>。</p></li></ul><h4 id="">补充</h4><h5 id="-">一、 核心痛点：辛普森公式需要“真正的中点斜率”</h5><p>如果我们把 ODE 的精确积分形式写出来： $y<em>{i+1} = y</em>i + \int<em>{t</em>i}^{t_i+h} f(t, y(t)) dt$ 如果我们想用辛普森公式来算这个积分，我们需要知道三个值：</p><ol start="1"><li>起点斜率： $f(t<em>i, y</em>i)$ —— <strong>已知</strong>，就是 $k_1$。</li><li>终点斜率： $f(t<em>i + h, y(t</em>i+h))$ —— <strong>未知</strong>，因为我们不知道终点的精确状态 $y(t_i+h)$。</li><li><strong>中点真正的斜率</strong>： $f\left(t<em>i + \frac{h}{2}, y\left(t</em>i + \frac{h}{2}\right)\right)$ —— <strong>未知</strong>，因为我们不知道中点精确状态 $y\left(t_i + \frac{h}{2}\right)$。</li></ol><p>因为我们不知道中点精确状态 $y\left(t_i + \frac{h}{2}\right)$，所以我们<strong>无法直接算出真正的中点斜率</strong>。</p><hr/><h5 id="-rk4--k1-k2-k3-k4-">二、 RK4 是如何用 $k<em>1, k</em>2, k<em>3, k</em>4$ 逐步逼近这个“真中点斜率”的？</h5><p>RK4 的精妙之处在于，它通过<strong>三次接力（预测-校正-再预测）</strong>，把这个“真正的中点斜率”给强行“套”了出来。</p><p>根据泰勒展开，函数 $y(t)$ 在 $t_i$ 处的半步（ $\frac{h}{2}$）展开为：</p><p> $y\left(t<em>i + \frac{h}{2}\right) = y(t</em>i) + \left(\frac{h}{2}\right) y&#x27;(t<em>i) + \frac{1}{2!} \left(\frac{h}{2}\right)^2 y&#x27;&#x27;(t</em>i) + O(h^3)$</p><p> 整理一下系数：</p><p> $y\left(t<em>i + \frac{h}{2}\right) = y</em>i + \frac{h}{2} y&#x27;(t<em>i) + \frac{h^2}{8} y&#x27;&#x27;(t</em>i) + O(h^3) \quad \text{--- (式 A)}$</p><p>因为我们的常微分方程是 $y&#x27; = f(t, y)$，所以利用全微分（链式法则）求二阶导数 $y&#x27;&#x27;$：</p><p> $y&#x27;&#x27;(t) = \frac{d}{dt}[f(t, y(t))] = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} = f<em>t + f</em>y f$</p><p> （为了书写简洁，我们用偏导数简写 $f<em>t = \frac{\partial f}{\partial t}$， $f</em>y = \frac{\partial f}{\partial y}$，且它们都在 $(t<em>i, y</em>i)$ 处取值）。</p><p>把 $y&#x27;(t<em>i) = f$ 和 $y&#x27;&#x27;(t</em>i) = f<em>t + f</em>y f$ 代回 <strong>(式 A)</strong>，得到<strong>真正的中点状态的精确展开式</strong>：</p><p> $y\left(t<em>i + \frac{h}{2}\right) = y</em>i + \frac{h}{2} f + \frac{h^2}{8} (f<em>t + f</em>y f) + O(h^3) \quad \text{--- (式 A-精确版)}$</p>
<p>在 RK4 中，我们第一步用 $k_1$（即 $f$）预测的中点状态为：</p><p> $y<em>{\text{mid}, 1} = y</em>i + \frac{h}{2} k<em>1 = y</em>i + \frac{h}{2} f$</p><p>我们用它去计算 $k<em>2$： $k</em>2 = f\left(t<em>i + \frac{h}{2}, \ y</em>i + \frac{h}{2} f\right)$</p><p>这是一个二元函数 $f(t, y)$。我们将它在点 $(t<em>i, y</em>i)$ 处进行二元泰勒展开。 二元泰勒展开公式为： $f(t<em>i + \Delta t, \ y</em>i + \Delta y) = f(t<em>i, y</em>i) + \Delta t \cdot f<em>t + \Delta y \cdot f</em>y + O(\Delta^2)$</p><p>在 $k_2$ 的计算中：</p><ul><li>时间增量 $\Delta t = \frac{h}{2}$</li><li>状态增量 $\Delta y = \frac{h}{2} f$</li></ul><p>代入二元泰勒展开式： $k<em>2 = f + \left(\frac{h}{2}\right) f</em>t + \left(\frac{h}{2} f\right) f_y + O(h^2)$ 提取公因子</p><p>$$
\frac{h}{2}$ $k<em>2 = f + \frac{h}{2} (f</em>t + f_y f) + O(h^2) \quad \text{--- (式 B)}$$</p><p>现在，我们用这个含有更高阶误差信息的 $k<em>2$ 重新代入到第二次中点预测值 $y</em>{\text{mid}, 2}$ 中： $y<em>{\text{mid}, 2} = y</em>i + \frac{h}{2} k_2$</p><p>把 <strong>(式 B)</strong> 的展开式直接代入到 $k_2$ 的位置：</p><p>$$
y<em>{\text{mid}, 2} = y</em>i + \frac{h}{2} \left[ f + \frac{h}{2} (f<em>t + f</em>y f) + O(h^2) \right]$$</p><p>把括号外面的 $\frac{h}{2}$ 乘进去：</p><p>$$
y<em>{\text{mid}, 2} = y</em>i + \frac{h}{2} f + \frac{h^2}{4} (f<em>t + f</em>y f) + O(h^3) \quad \text{--- (式 C)}$$</p>
<p>在 RK4 公式中，第三步是在第二次中点预测状态 $y_{\text{mid}, 2}$ 处计算斜率：</p><p>$$
k<em>3 = f\left(t</em>i + \frac{h}{2}, \ y_{\text{mid}, 2}\right)$$</p><p>我们将 <strong>(式 C)</strong> 的结果： $y<em>{\text{mid}, 2} = y</em>i + \frac{h}{2} f + \frac{h^2}{4} (f<em>t + f</em>y f) + O(h^3)$ 代入到 $k_3$ 中：</p><p>$$
k<em>3 = f\left(t</em>i + \frac{h}{2}, \ y<em>i + \frac{h}{2} f + \frac{h^2}{4} (f</em>t + f_y f) + O(h^3)\right) $$</p><p>此时，我们需要对二元函数 $f(t<em>i + \Delta t, \ y</em>i + \Delta y)$ 进行泰勒展开，其中：</p><ul><li>时间增量 $\Delta t = \frac{h}{2}$</li><li>状态增量 $\Delta y = \frac{h}{2} f + \frac{h^2}{4} (f<em>t + f</em>y f) + O(h^3)$</li></ul><p>为了计算到 $O(h^2)$ 项，我们的二元泰勒展开需要保留到二阶偏导数项：</p><p>$$
f(t<em>i + \Delta t, \ y</em>i + \Delta y) = f + \Delta t f<em>t + \Delta y f</em>y + \frac{1}{2} \left[ \Delta t^2 f<em>{tt} + 2 \Delta t \Delta y f</em>{ty} + \Delta y^2 f<em>{yy} \right] + O(h^3)$$
（注：这里所有的偏导数 $f</em>t, f<em>y, f</em>{tt}, f<em>{ty}, f</em>{yy}$ 都在 $(t<em>i, y</em>i)$ 处取值）。</p>
<p>我们分项把它们代入展开：</p><ul><li><strong>一阶时间项</strong>：</li></ul><p>$$
\Delta t f<em>t = \frac{h}{2} f</em>t$$</p><ul><li><strong>一阶状态项</strong>：</li></ul><p>$$
\Delta y f<em>y = \left[ \frac{h}{2} f + \frac{h^2}{4} (f</em>t + f<em>y f) + O(h^3) \right] f</em>y = \frac{h}{2} f f<em>y + \frac{h^2}{4} f</em>y (f<em>t + f</em>y f) + O(h^3)$$</p><ul><li><strong>二阶偏导数项</strong>（由于我们只需要保留到 $O(h^2)$，所以 $\Delta y$ 里的 $O(h^2)$ 项在平方后会变成 $O(h^3)$ 以上，可以省去）：</li></ul><p>$$
\frac{1}{2} \Delta t^2 f<em>{tt} = \frac{1}{2} \left(\frac{h}{2}\right)^2 f</em>{tt} = \frac{h^2}{8} f_{tt}$$</p><p>$$
\frac{1}{2} \cdot 2 \Delta t \Delta y f<em>{ty} = \left(\frac{h}{2}\right) \left(\frac{h}{2} f + O(h^2)\right) f</em>{ty} = \frac{h^2}{4} f f_{ty}$$</p><p>$$
\frac{1}{2} \Delta y^2 f<em>{yy} = \frac{1}{2} \left(\frac{h}{2} f + O(h^2)\right)^2 f</em>{yy} = \frac{h^2}{8} f^2 f_{yy}$$</p>
<p>在 RK4 中，我们用最新的精细中点斜率 $k<em>3$ 跨出完整的一整步，预测终点的状态 $y</em>{\text{end}}$： $y<em>{\text{end}} = y</em>i + h k_3$</p><p>将 <strong>上述结果</strong> 代入 $y<em>{\text{end}}$ 的计算中： $y</em>{\text{end}} = y<em>i + h \left( f + \frac{h}{2} (f</em>t + f_y f) + O(h^2) \right)$ 把 $h$ 乘进去，得到<strong>预测的终点状态</strong>：</p><p>$$
y<em>{\text{end}} = y</em>i + h f + \frac{h^2}{2} (f<em>t + f</em>y f) + O(h^3) \quad \text{--- (式 E)}$$</p><p>现在，我们在终点计算最后一个斜率 $k_4$：</p><p>$$
k<em>4 = f(t</em>i + h, \ y<em>{\text{end}}) = f\left(t</em>i + h, \ y<em>i + h f + \frac{h^2}{2} (f</em>t + f_y f) + O(h^3)\right)$$</p>
<p>我们再次对二元函数进行展开，此时：</p><ul><li>时间增量 $\Delta t = h$</li><li>状态增量 $\Delta y = h f + \frac{h^2}{2} (f<em>t + f</em>y f) + O(h^3)$</li></ul><p>代入二元泰勒展开公式： $f(t<em>i + \Delta t, \ y</em>i + \Delta y) = f + \Delta t f<em>t + \Delta y f</em>y + \frac{1}{2} \left[ \Delta t^2 f<em>{tt} + 2 \Delta t \Delta y f</em>{ty} + \Delta y^2 f_{yy} \right] + O(h^3)$</p>
<ul><li><strong>一阶时间项</strong>： $\Delta t f<em>t = h f</em>t$</li><li><strong>一阶状态项</strong>： $\Delta y f<em>y = \left[ h f + \frac{h^2}{2} (f</em>t + f<em>y f) + O(h^3) \right] f</em>y = h f f<em>y + \frac{h^2}{2} f</em>y (f<em>t + f</em>y f) + O(h^3)$</li><li><strong>二阶偏导数项</strong>（省去 $O(h^3)$ 阶）： $\frac{1}{2} \Delta t^2 f<em>{tt} = \frac{1}{2} h^2 f</em>{tt}$ $\frac{1}{2} \cdot 2 \Delta t \Delta y f<em>{ty} = h (h f + O(h^2)) f</em>{ty} = h^2 f f<em>{ty}$ $\frac{1}{2} \Delta y^2 f</em>{yy} = \frac{1}{2} (h f + O(h^2))^2 f<em>{yy} = \frac{1}{2} h^2 f^2 f</em>{yy}$</li></ul><ul><li><strong>$h$ 的一阶项</strong>： $h f<em>t + h f f</em>y = h (f<em>t + f</em>y f)$</li><li><strong>$h$ 的二阶项</strong>： $\frac{h^2}{2} f<em>y (f</em>t + f<em>y f) + \frac{h^2}{2} f</em>{tt} + h^2 f f<em>{ty} + \frac{h^2}{2} f^2 f</em>{yy}$ 我们通分并提取公因子 $\frac{h^2}{2}$： $\frac{h^2}{2} \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right]$</li></ul><p>因此，我们得到了 <strong>$k_4$ 的完整展开式</strong>： $k<em>4 = f + h (f</em>t + f<em>y f) + \frac{h^2}{2} \left[ f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} + f<em>y (f</em>t + f_y f) \right] + O(h^3) \quad \text{--- (式 F)}$</p>
<p>现在，四个斜率 $k<em>1$、$k</em>2$、$k<em>3$、$k</em>4$ 已经全部列阵完毕。我们把它们毫无保留地写在一起：</p><ol start="1"><li>$k_1 = f$</li><li>$k<em>2 = f + \frac{h}{2} (f</em>t + f<em>y f) + \frac{h^2}{8} \left[ f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} \right] + O(h^3)$</li><li>$k<em>3 = f + \frac{h}{2} (f</em>t + f<em>y f) + \frac{h^2}{8} \left[ f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} + 2 f<em>y (f</em>t + f_y f) \right] + O(h^3)$</li><li>$k<em>4 = f + h (f</em>t + f<em>y f) + \frac{h^2}{2} \left[ f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} + f<em>y (f</em>t + f_y f) \right] + O(h^3)$</li></ol><p>现在，我们将它们代入 RK4 最终的加权表达式： $y<em>{i+1} = y</em>i + \frac{h}{6} (k<em>1 + 2k</em>2 + 2k<em>3 + k</em>4)$</p><p>为了让你看清楚每一部分是如何抵消和合并的，我们把求和部分 $k<em>1 + 2k</em>2 + 2k<em>3 + k</em>4$ 按 <strong>$h$ 的阶数</strong> 拆成三部分算：</p><ol start="1"><li>零阶项（常数 $f$ 的加权）</li></ol><p>$\text{零阶项和} = f + 2(f) + 2(f) + f = 6f$ 代回最终公式中，再乘以外面的 $\frac{h}{6}$： $\frac{h}{6} (6f) = \mathbf{h f}$</p><ol start="2"><li>一阶项（含 $f<em>t + f</em>y f$ 的加权）</li></ol><p>$\begin{aligned} \text{一阶项和} &amp;= 0 + 2 \left( \frac{h}{2} (f<em>t + f</em>y f) \right) + 2 \left( \frac{h}{2} (f<em>t + f</em>y f) \right) + h (f<em>t + f</em>y f) \ \space \ &amp;= h (f<em>t + f</em>y f) + h (f<em>t + f</em>y f) + h (f<em>t + f</em>y f) \ \space \ &amp;= 3h (f<em>t + f</em>y f) \end{aligned}$</p><p>代回最终公式中，再乘以外面的 $\frac{h}{6}$： $\frac{h}{6} \left[ 3h (f<em>t + f</em>y f) \right] = \mathbf{\frac{h^2}{2} (f<em>t + f</em>y f)}$</p><ol start="3"><li>二阶项（含 $f<em>{tt}, f</em>{ty}, f<em>{yy}$ 和 $f</em>y(f<em>t+f</em>y f)$ 的加权）</li></ol><p>这里是整个代数魔术最核心的高潮。我们把 $2k<em>2$、 $2k</em>3$ 和  $k_4$ 的二阶项展开相加：</p><ul><li>对于不含 $f<em>y$ 的偏导数组合 $\left[ f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} \right]$（我们简记为 $P$）：</li></ul><p>$$
\begin{aligned} P \text{ 的系数和} &amp;= 2 \left( \frac{h^2}{8} P \right) + 2 \left( \frac{h^2}{8} P \right) + \frac{h^2}{2} P \ \space \ &amp;= \frac{h^2}{4} P + \frac{h^2}{4} P + \frac{h^2}{2} P \ \space \&amp;= h^2 P \end{aligned}$$</p><ul><li><p>对于带有交叉项 $f<em>y (f</em>t + f_y f)$ 的部分（我们简记为 $Q$）：</p><ul><li>$2k_2$ 里面没有这一项（系数为 0）；</li><li>$2k_3$ 里面含有这一项，系数为 $2 \times \frac{h^2}{8} \times 2 = \frac{h^2}{2}$；</li><li>$k_4$ 里面含有这一项，系数为 $\frac{h^2}{2}$。</li></ul><p>$$
\begin{aligned} Q \text{ 的系数和} &amp;= 0 + \frac{h^2}{2} Q + \frac{h^2}{2} Q \ \space \ &amp;= h^2 Q \end{aligned}$$</p></li></ul><p>把 $P$ 和 $Q$ 合并：</p><p>$$
\text{二阶项和} = h^2 (P + Q) = h^2 \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right]$$</p><p>代回最终公式中，乘以外面的 $\frac{h}{6}$：</p><p>$$
\frac{h}{6} \left( h^2 \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right] \right) = \mathbf{\frac{h^3}{6} \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right]}$$</p>
<p>现在，我们将上面三个部分的加权计算结果全部拼起来，得到 <strong>RK4 计算得到的数值解展开</strong>：</p><p>$$
y<em>{i+1} = y</em>i + h f + \frac{h^2}{2} (f<em>t + f</em>y f) + \frac{h^3}{6} \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right] + O(h^4) \quad \text{--- (RK4 的展开)}$$</p><p>接着，我们写出真实的微分方程精确解 $y(t_i+h)$ 展开到 $h^3$ 的<strong>真实泰勒展开</strong>：</p><p>$$
y(t<em>i + h) = y</em>i + h y&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;(t</em>i) + \frac{h^3}{6} y&#x27;&#x27;&#x27;(t_i) + O(h^4)$$</p><p>我们用全微分（链式法则）求出精确解的各阶导数：</p><ol start="1"><li><strong>一阶导数</strong>： $y&#x27;(t_i) = f$</li><li><strong>二阶导数</strong>： $y&#x27;&#x27;(t<em>i) = f</em>t + f_y f$</li><li><strong>三阶导数</strong>：对 $y&#x27;&#x27; = f<em>t + f</em>y f$ 再次关于时间 $t$ 求导： $\begin{aligned} y&#x27;&#x27;&#x27;(t<em>i) &amp;= \frac{d}{dt} \left[ f</em>t(t, y) + f<em>y(t, y) \cdot f(t, y) \right] \ &amp;= (f</em>{tt} + f<em>{ty} y&#x27;) + (f</em>{yt} + f<em>{yy} y&#x27;) f + f</em>y (f<em>t + f</em>y f) \ &amp;= f<em>{tt} + f</em>{ty} f + (f<em>{ty} + f</em>{yy} f) f + f<em>y (f</em>t + f<em>y f) \quad (\text{因 } y&#x27;=f, f</em>{yt}=f<em>{ty}) \ &amp;= f</em>{tt} + 2 f f<em>{ty} + f^2 f</em>{yy} + f<em>y (f</em>t + f_y f) \end{aligned}$</li></ol><p>把这些精确导数代入精确解的泰勒展开式： $y(t<em>i + h) = y</em>i + h f + \frac{h^2}{2} (f<em>t + f</em>y f) + \frac{h^3}{6} \left[ f<em>{tt} + 2 f f</em>{ty} + f^2 f<em>{yy} + f</em>y (f<em>t + f</em>y f) \right] + O(h^4) \quad \text{--- (精确泰勒展开)}$</p><h5 id="-">🏁 惊人的结论：</h5><p>现在，请将 <strong>(RK4 的展开)</strong> 和 <strong>(精确泰勒展开)</strong> 放在一起进行对比。</p><p>它们在 $h$ 的零阶项、一阶项、二阶项、三阶项（甚至包含复杂的交叉偏导数 $f<em>{ty}$ 和 $f</em>y(f<em>t+f</em>y f)$）上，<strong>所有的代数项和系数全部一模一样，分毫不差！</strong></p><p>这也就意味着，通过这四个斜率的巧妙试探和最终 $1:2:2:1$ 的加权平均：</p><ul><li><strong>局部截断误差中的 $h^1, h^2, h^3, h^4$ 阶误差全部被完全消去（抵消）</strong>。</li><li>残余的第一项误差出现在 $h^5$ 阶，即局部截断误差为 $O(h^5)$ 。</li><li>经过区间累积，全局累积误差为 $O(h^4)$。</li></ul><h5 id="">精度奇迹的代数根源</h5><p>为什么 RK4 只需要 4 个点就能达到全局四阶精度 ？</p><ul><li>因为它退化后的<strong>辛普森公式</strong>本身就是一个具有“代数奇迹”的方法：辛普森公式虽然只用了 $3$ 个点（相当于二次多项式插值），但由于对称性抵消，它对任意<strong>三次多项式</strong>的积分都是<strong>绝对精确</strong>的！</li><li>这种“免费赠送一阶精度”的对称性优势，通过 $k<em>2$ 和 $k</em>3$ 在中点的双重采样，被完美遗传给了 RK4。这使得 RK4 拥有极高的代数稳定性，成为了不需要高阶导数就能运行的性价比之王。</li></ul><p><strong>局部截断误差</strong>： $O(h^5)$，全局误差 $O(h^4)$</p><h4 id="--rk4--y---2y1-y01">🧮 完整数值示例：用 RK4 解 $y&#x27; = -2y+1,\ y(0)=1$</h4><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np
import matplotlib.pyplot as plt

def f(t, y):
    return -2*y + 1

def rk4_step(f, t, y, h):
    k1 = f(t, y)
    k2 = f(t + h/2, y + h/2 * k1)
    k3 = f(t + h/2, y + h/2 * k2)
    k4 = f(t + h,   y + h * k3)
    return y + h/6 * (k1 + 2*k2 + 2*k3 + k4)

# 参数
y0, h = 1.0, 0.2
t_vals = np.arange(0, 2.01, h)
y_rk4 = [y0]
for i in range(len(t_vals)-1):
    y_rk4.append(rk4_step(f, t_vals[i], y_rk4[-1], h))

# 精确解
y_exact = 0.5 + 0.5 * np.exp(-2 * t_vals)

# 结果对比
print(f&quot;{&#x27;t&#x27;:&gt;6}  {&#x27;RK4&#x27;:&gt;10}  {&#x27;Exact&#x27;:&gt;10}  {&#x27;Error&#x27;:&gt;12}&quot;)
for t, yr, ye in zip(t_vals, y_rk4, y_exact):
    print(f&quot;{t:6.2f}  {yr:10.6f}  {ye:10.6f}  {abs(yr-ye):12.2e}&quot;)
</code></pre>
<p><strong>输出（部分）</strong>：</p><table><thead><tr><th> t    </th><th> RK4      </th><th> 精确解   </th><th> 误差    </th></tr></thead><tbody><tr><td> 0.40 </td><td> 0.724665 </td><td> 0.724664 </td><td> 4.5e-07 </td></tr><tr><td> 0.80 </td><td> 0.600896 </td><td> 0.600895 </td><td> 4.8e-07 </td></tr><tr><td> 1.00 </td><td> 0.567669 </td><td> 0.567668 </td><td> 5.0e-07 </td></tr><tr><td> 1.60 </td><td> 0.520423 </td><td> 0.520423 </td><td> 5.7e-07 </td></tr><tr><td> 2.00 </td><td> 0.509158 </td><td> 0.509158 </td><td> 5.9e-07 </td></tr></tbody></table><p>💡 <strong>惊人的精度</strong>：RK4 用 $h=0.2$，误差约 $5\times 10^{-7}$。Euler 法要达到同样精度需要步长约 $10^{-7}$ 级别！</p><h3 id="34-runge-kutta-fehlberg-rkf45">3.4 自适应步长：Runge-Kutta-Fehlberg (RKF45)</h3><p><strong>核心想法</strong>：每步同时计算 4 阶和 5 阶结果，利用差值估计误差，自动调整步长。</p><ul><li>RKF: 局部截断误差 $O(h^6)$（5阶），可用作误差控制</li><li>Runge-Kutta-Verner: 达到 6 阶</li></ul><p><strong>伪代码</strong>：</p><pre class=""><code class="">while t &lt; t_end:
    计算 RK4 和 RK5 结果 y4, y5
    误差 err = |y5 - y4|
    if err &gt; tolerance:
        h = h/2; 重算
    else if err &lt; tolerance/10:
        h = 2*h  (放大步长)
    接受结果，前进
</code></pre>
<p>💡 <strong>物理直觉</strong>：解变化慢的地方（平坦区）自动放大步长，变化快的地方（陡峭区）自动缩小步长。就像开车——高速路上踩油门，拐弯处踩刹车。</p><hr/><h2 id="4-predictor-corrector-">4. Predictor-Corrector 多步法</h2><h3 id="41--runge-kutta-">4.1 与 Runge-Kutta 的对比</h3><p>RK4 就是在单步内多点探路 然后代数消去高阶项 达到精度</p><p>P-C 预测校正多步法 则是 通过 “不抛弃历史 用插值和积分 重构过去与未来” 来实现 长距离、高效率的稳定计算！！！</p>
<p><strong>RK4 的思路</strong>：为了近似这个积分，在当前区间 $[t<em>i, t</em>i+h]$ 里临时计算 4 个测试点的斜率 $k<em>1, k</em>2, k<em>3, k</em>4$，把旧的信息全部扔掉。这需要<strong>每前进一步就重复计算 4 次 $f(t,y)$</strong>。</p><p><strong>多步法的思路</strong>：既然我们在前面已经算过了 $t<em>i, t</em>{i-1}, t_{i-2}$ 等处的斜率，为什么还要在每一步里重复去算新测试点？我们直接<strong>利用这些现成的历史斜率</strong>，用多项式把 $f(t, y(t))$ 在过去及当下的曲线“描绘（插值）”出来，然后直接对这个多项式进行精确求积分！</p>
<table><thead><tr><th> 特性     </th><th> Runge-Kutta          </th><th> 多步法 (Adams 族)       </th></tr></thead><tbody><tr><td> 步数依赖 </td><td> 单步法（只用上一步） </td><td> 多步法（用前面多步）    </td></tr><tr><td> 计算量   </td><td> 每步多次函数求值     </td><td> 每步 1-2 次函数求值     </td></tr><tr><td> 起步     </td><td> 自动起步             </td><td> 需 RK4 起步（算前几步） </td></tr><tr><td> 典型应用 </td><td> 通用                 </td><td> 长时间演化（如 TDDFT）  </td></tr></tbody></table>
<h3 id="42-adams-bashforth-">4.2 Adams-Bashforth (显式预测)</h3><p><strong>三步显式公式</strong>：</p><p>$$y<em>{i+1} = y</em>i + \frac{h}{12}\left[23f(t<em>i, y</em>i) - 16f(t<em>{i-1}, y</em>{i-1}) + 5f(t<em>{i-2}, y</em>{i-2})\right]$$</p><h4 id="">具体推导</h4><p>我们要推导<strong>三步显式</strong>公式：</p><p>  $y<em>{i+1} = y</em>i + \frac{h}{12}\left[23f(t<em>i, y</em>i) - 16f(t<em>{i-1}, y</em>{i-1}) + 5f(t<em>{i-2}, y</em>{i-2})\right]$</p><h5 id="1-">1. 待定系数法的泰勒展开设定</h5><p>假设时间步长 $h$ 是恒定的（即 $t<em>i - t</em>{i-1} = h$， $t<em>i - t</em>{i-2} = 2h$）。为了简洁，我们将已知的历史斜率记为：</p><ul><li>$f<em>i = f(t</em>i, y_i)$</li><li>$f<em>{i-1} = f(t</em>{i-1}, y_{i-1})$</li><li>$f<em>{i-2} = f(t</em>{i-2}, y_{i-2})$</li></ul><p>我们希望寻找三个系数 $a, b, c$，使得以下线性组合在代数上具有最高精度：</p><p> $y(t<em>{i+1}) \approx y(t</em>i) + h \left[ a f<em>i + b f</em>{i-1} + c f_{i-2} \right] \quad \text{--- (式 1)}$</p><p>由于 $y&#x27;(t) = f(t, y(t))$，我们把这三项写成导数形式：</p><ul><li>$f<em>i = y&#x27;(t</em>i)$</li><li>$f<em>{i-1} = y&#x27;(t</em>{i-1})$</li><li>$f<em>{i-2} = y&#x27;(t</em>{i-2})$</li></ul><h5 id="2--ti-">2. 将所有历史点在当下的 $t_i$ 处进行泰勒展开</h5><p>我们将 $y(t<em>{i+1})$，以及历史导数  $y&#x27;(t</em>{i-1})$、 $y&#x27;(t<em>{i-2})$ 全部在 $t</em>i$ 处展开到 $h^3$ 阶：</p><ol start="1"><li><p><strong>左端点 $y(t<em>{i+1})$ 在 $t</em>i$ 处的展开</strong>（向前走一步 $h$）：</p><p>$y(t<em>{i+1}) = y(t</em>i) + h y&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;(t</em>i) + \frac{h^3}{6} y&#x27;&#x27;&#x27;(t_i) + O(h^4) \quad \text{--- (式 2)}$</p></li><li><p><strong>历史一阶导数 $y&#x27;(t<em>{i-1})$ 在 $t</em>i$ 处的展开</strong>（向后退一步 $-h$）：</p><p> $y&#x27;(t<em>{i-1}) = y&#x27;(t</em>i) - h y&#x27;&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t</em>i) + O(h^3) \quad \text{--- (式 3)}$</p></li><li><p><strong>历史一阶导数 $y&#x27;(t<em>{i-2})$ 在 $t</em>i$ 处的展开</strong>（向后退两步 $-2h$）：</p></li></ol><p>$y&#x27;(t<em>{i-2}) = y&#x27;(t</em>i) - (2h) y&#x27;&#x27;(t<em>i) + \frac{(2h)^2}{2} y&#x27;&#x27;&#x27;(t</em>i) + O(h^3) = y&#x27;(t<em>i) - 2h y&#x27;&#x27;(t</em>i) + 2h^2 y&#x27;&#x27;&#x27;(t_i) + O(h^3) \quad \text{--- (式 4)}$</p><h5 id="3-">3. 代入待定系数式，合并同类项</h5><p>现在，我们将 <strong>(式 3)</strong> 和 <strong>(式 4)</strong> 代回我们的待定系数公式 <strong>(式 1)</strong> 的右端项：</p><p> $\text{右端项} = y(t<em>i) + h \left[ a y&#x27;(t</em>i) + b y&#x27;(t<em>{i-1}) + c y&#x27;(t</em>{i-2}) \right]$ 将展开式代入：</p><p>$$
\text{右端项} = y(t<em>i) + h \left[ a y&#x27;(t</em>i) + b \left( y&#x27;(t<em>i) - h y&#x27;&#x27;(t</em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t<em>i) \right) + c \left( y&#x27;(t</em>i) - 2h y&#x27;&#x27;(t<em>i) + 2h^2 y&#x27;&#x27;&#x27;(t</em>i) \right) \right] + O(h^4)$$</p><p>我们按 $y&#x27;(t<em>i), y&#x27;&#x27;(t</em>i), y&#x27;&#x27;&#x27;(t_i)$ 的阶数进行提取与合并：</p><p>$$
\text{右端项} = y(t<em>i) + h (a + b + c) y&#x27;(t</em>i) + h^2 (-b - 2c) y&#x27;&#x27;(t<em>i) + h^3 \left( \frac{1}{2}b + 2c \right) y&#x27;&#x27;&#x27;(t</em>i) + O(h^4) \quad \text{--- (式 5)}$$</p><h5 id="4-">4. 对比系数，建立线性方程组</h5><p>为了让数值公式 <strong>(式 5)</strong> 与真实的泰勒展开 <strong>(式 2)</strong> 完美契合，我们强制令它们的前三项系数完全相等：</p><ol start="1"><li><strong>$h y&#x27;(t_i)$ 的系数</strong>： $a + b + c = 1 \quad \text{--- (方程 1)}$</li><li><strong>$h^2 y&#x27;&#x27;(t_i)$ 的系数</strong>： $-b - 2c = \frac{1}{2} \implies b + 2c = -\frac{1}{2} \quad \text{--- (方程 2)}$</li><li><strong>$h^3 y&#x27;&#x27;&#x27;(t_i)$ 的系数</strong>： $\frac{1}{2}b + 2c = \frac{1}{6} \quad \text{--- (方程 3)}$</li></ol><h5 id="5-">5. 求解方程组，见证系数的诞生</h5><p>我们用 <strong>(方程 2)</strong> 减去 <strong>(方程 3)</strong>： $(b + 2c) - \left(\frac{1}{2}b + 2c\right) = -\frac{1}{2} - \frac{1}{6}$ $\frac{1}{2}b = -\frac{2}{3} \implies b = -\frac{4}{3} = -\frac{16}{12}$</p><p>将 $b = -\frac{4}{3}$ 代回 <strong>(方程 2)</strong>： $-\frac{4}{3} + 2c = -\frac{1}{2} \implies 2c = \frac{4}{3} - \frac{1}{2} = \frac{5}{6} \implies c = \frac{5}{12}$</p><p>将 $b = -\frac{16}{12}$ 和 $c = \frac{5}{12}$ 代入 <strong>(方程 1)</strong>： $a - \frac{16}{12} + \frac{5}{12} = 1 \implies a - \frac{11}{12} = 1 \implies a = \frac{23}{12}$</p><h5 id="6-">6. 最终合成</h5><p>把求得的 $a = \frac{23}{12}, b = -\frac{16}{12}, c = \frac{5}{12}$ 代回 <strong>(式 1)</strong>，提取公因子 $\frac{h}{12}$：</p><p> $y<em>{i+1} = y</em>i + \frac{h}{12}\left[23 f<em>i - 16 f</em>{i-1} + 5 f_{i-2}\right]$</p><p><strong>三步显式 Adams-Bashforth 公式，完美推导完成！</strong></p><p>（同理，若将泰勒展开推进到 $O(h^4)$ 阶并引入四个历史点 $f<em>i, f</em>{i-1}, f<em>{i-2}, f</em>{i-3}$，用完全一样的方法即可推导得出四步显式公式的系数： $\frac{55}{24}, -\frac{59}{24}, \frac{37}{24}, -\frac{9}{24}$。</p><p><strong>四步显式公式</strong>：</p><p>$$y<em>{i+1} = y</em>i + \frac{h}{24}\left[55f<em>i - 59f</em>{i-1} + 37f<em>{i-2} - 9f</em>{i-3}\right]$$</p>
<h3 id="43-adams-moulton-">4.3 Adams-Moulton (隐式校正)</h3><p><strong>隐式</strong>：在公式中，包含了 $f(t<em>{i+1},y</em>{i+1})$  这意味着：为了算出下一时刻的状态  $y<em>{i+1}$ 我们必须在等式右边提前知道下一时刻的状态   $y</em>{i+1}$  ！！！ 这个在非线性方程中是无法直接进行求解的！</p><p><strong>三步隐式公式</strong>：</p><p>$$y<em>{i+1} = y</em>i + \frac{h}{24}\left[9f(t<em>{i+1}, y</em>{i+1}) + 19f(t<em>i, y</em>i) - 5f(t<em>{i-1}, y</em>{i-1}) + f(t<em>{i-2}, y</em>{i-2})\right]$$</p><h4 id="">代数推导</h4><p>为了推导它的系数，我们假设：</p><p>$$
y(t<em>{i+1}) \approx y(t</em>i) + h \left[ \alpha f(t<em>{i+1}, y(t</em>{i+1})) + \beta f<em>i + \gamma f</em>{i-1} + \delta f_{i-2} \right] \quad \text{--- (式 6)}
$$</p><p>我们同样把它们写成导数形式，并将所有项在当前点 $t<em>i$ 处展开到 $h^4$ 阶（因为多引入了一个点 $t</em>{i+1}$，精度会再提升一阶）：</p><ol start="1"><li><strong>左端点 $y(t<em>{i+1})$ 在 $t</em>i$ 处的展开</strong>（向前走 $h$）： $y(t<em>{i+1}) = y(t</em>i) + h y&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;(t</em>i) + \frac{h^3}{6} y&#x27;&#x27;&#x27;(t<em>i) + \frac{h^4}{24} y^{(4)}(t</em>i) + O(h^5) \quad \text{--- (式 7)}$</li><li><strong>未来一阶导数 $y&#x27;(t<em>{i+1})$ 在 $t</em>i$ 处的展开</strong>（向前走 $h$）： $y&#x27;(t<em>{i+1}) = y&#x27;(t</em>i) + h y&#x27;&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t</em>i) + \frac{h^3}{6} y^{(4)}(t_i) + O(h^4) \quad \text{--- (式 8)}$</li><li><strong>当前一阶导数 $y&#x27;(t_i)$</strong>： $y&#x27;(t<em>i) = y&#x27;(t</em>i)$</li><li><strong>历史一阶导数 $y&#x27;(t<em>{i-1})$ 在 $t</em>i$ 处的展开</strong>（向后退 $-h$）： $y&#x27;(t<em>{i-1}) = y&#x27;(t</em>i) - h y&#x27;&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t</em>i) - \frac{h^3}{6} y^{(4)}(t_i) + O(h^4) \quad \text{--- (式 9)}$</li><li><strong>历史一阶导数 $y&#x27;(t<em>{i-2})$ 在 $t</em>i$ 处的展开</strong>（向后退 $-2h$）： $y&#x27;(t<em>{i-2}) = y&#x27;(t</em>i) - 2h y&#x27;&#x27;(t<em>i) + 2h^2 y&#x27;&#x27;&#x27;(t</em>i) - \frac{4h^3}{3} y^{(4)}(t_i) + O(h^4) \quad \text{--- (式 10)}$</li></ol><h5 id="">代入待定系数式，合并同类项</h5><p>将 <strong>(式 8)</strong>、<strong>(式 9)</strong>、<strong>(式 10)</strong> 代入 <strong>(式 6)</strong> 的右侧括号中： $\begin{aligned} \text{右端项} = y(t<em>i) + h \Big[ &amp;\alpha \left( y&#x27;(t</em>i) + h y&#x27;&#x27;(t<em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t</em>i) + \frac{h^3}{6} y^{(4)}(t<em>i) \right) \ + &amp;\beta y&#x27;(t</em>i) \ + &amp;\gamma \left( y&#x27;(t<em>i) - h y&#x27;&#x27;(t</em>i) + \frac{h^2}{2} y&#x27;&#x27;&#x27;(t<em>i) - \frac{h^3}{6} y^{(4)}(t</em>i) \right) \ + &amp;\delta \left( y&#x27;(t<em>i) - 2h y&#x27;&#x27;(t</em>i) + 2h^2 y&#x27;&#x27;&#x27;(t<em>i) - \frac{4h^3}{3} y^{(4)}(t</em>i) \right) \Big] \end{aligned}$</p><p>按各阶导数项归类合并： $\begin{aligned} \text{右端项} = y(t<em>i) &amp;+ h (\alpha + \beta + \gamma + \delta) y&#x27;(t</em>i) \ &amp;+ h^2 (\alpha - \gamma - 2\delta) y&#x27;&#x27;(t<em>i) \ &amp;+ h^3 \left( \frac{1}{2}\alpha + \frac{1}{2}\gamma + 2\delta \right) y&#x27;&#x27;&#x27;(t</em>i) \ &amp;+ h^4 \left( \frac{1}{6}\alpha - \frac{1}{6}\gamma - \frac{4}{3}\delta \right) y^{(4)}(t_i) + O(h^5) \quad \text{--- (式 11)} \end{aligned}$</p><h5 id="--7">对比精确展开式 (式 7)，建立方程组</h5><p>对比 <strong>(式 11)</strong> 与 <strong>(式 7)</strong> 的对应系数：</p><ol start="1"><li><strong>$h y&#x27;(t_i)$ 对应项</strong>： $\alpha + \beta + \gamma + \delta = 1 \quad \text{--- (方程 I)}$</li><li><strong>$h^2 y&#x27;&#x27;(t_i)$ 对应项</strong>： $\alpha - \gamma - 2\delta = \frac{1}{2} \quad \text{--- (方程 II)}$</li><li><strong>$h^3 y&#x27;&#x27;&#x27;(t_i)$ 对应项</strong>： $\frac{1}{2}\alpha + \frac{1}{2}\gamma + 2\delta = \frac{1}{6} \implies \alpha + \gamma + 4\delta = \frac{1}{3} \quad \text{--- (方程 III)}$</li><li><strong>$h^4 y^{(4)}(t_i)$ 对应项</strong>： $\frac{1}{6}\alpha - \frac{1}{6}\gamma - \frac{4}{3}\delta = \frac{1}{24} \implies \alpha - \gamma - 8\delta = \frac{1}{4} \quad \text{--- (方程 IV)}$</li></ol><h5 id="">求解隐式方程组</h5><p>用 <strong>(方程 II)</strong> 减去 <strong>(方程 IV)</strong>： $(\alpha - \gamma - 2\delta) - (\alpha - \gamma - 8\delta) = \frac{1}{2} - \frac{1}{4}$ $6\delta = \frac{1}{4} \implies \delta = \frac{1}{24}$</p><p>将 $\delta = \frac{1}{24}$ 代回 <strong>(方程 II)</strong>： $\alpha - \gamma - \frac{2}{24} = \frac{1}{2} \implies \alpha - \gamma = \frac{14}{24} \quad \text{--- (方程 A)}$</p><p>将 $\delta = \frac{1}{24}$ 代入 <strong>(方程 III)</strong>： $\alpha + \gamma + \frac{4}{24} = \frac{1}{3} \implies \alpha + \gamma = \frac{4}{24} \quad \text{--- (方程 B)}$</p><p>联立 <strong>(方程 A)</strong> 和 <strong>(方程 B)</strong> 相加： $2\alpha = \frac{18}{24} \implies \alpha = \frac{9}{24}$</p><p>联立 <strong>(方程 A)</strong> 和 <strong>(方程 B)</strong> 相减： $2\gamma = -\frac{10}{24} \implies \gamma = -\frac{5}{24}$</p><p>将已求得的 $\alpha, \gamma, \delta$ 代入 <strong>(方程 I)</strong> 求 $\beta$： $\frac{9}{24} + \beta - \frac{5}{24} + \frac{1}{24} = 1 \implies \beta + \frac{5}{24} = 1 \implies \beta = \frac{19}{24}$</p>
<p>我们得到了极其完美的系数： $\alpha = \frac{9}{24}, \quad \beta = \frac{19}{24}, \quad \gamma = -\frac{5}{24}, \quad \delta = \frac{1}{24}$</p><p>代回 <strong>(式 6)</strong> 中：</p><p> $y<em>{i+1} = y</em>i + \frac{h}{24}\left[9f(t<em>{i+1}, y</em>{i+1}) + 19f(t<em>i, y</em>i) - 5f(t<em>{i-1}, y</em>{i-1}) + f(t<em>{i-2}, y</em>{i-2})\right]$</p><p><strong>三步隐式 Adams-Moulton 公式，完美推导完成！</strong></p>
<h3 id="44-pece----">4.4 PECE 模式（预测-求值-校正-求值）</h3><pre class=""><code class="">流程：
1. Predict: 用 Adams-Bashforth (显式) 预测 y_{i+1}^(0)
2. Evaluate: 计算 f(t_{i+1}, y_{i+1}^(0))
3. Correct: 用 Adams-Moulton (隐式) 校正得到 y_{i+1}
4. Evaluate: 重新计算 f(t_{i+1}, y_{i+1})
→ 反复迭代 predictor-corrector 直至收敛
</code></pre>
<p>💡 用于 Time-Dependent DFT（含时密度泛函理论）等需要长期稳定积分的高精度计算。</p><p><strong>极低的计算开销</strong>：RK4 走一步需要计算 4 次极其复杂的 $f(t,y)$。而在 PECE 多步法中，历史斜率都是直接从内存中读取的，走一步通常只需要进行 $1 \sim 2$ 次 $f(t,y)$ 求值（Evaluate 步骤），<strong>计算效率比单步法高出 2 到 4 倍</strong>。</p><p><strong>极强的数值稳定性</strong>：隐式方法（Moulton 族）天然具有比显式方法更宽广的绝对稳定域。PECE 通过显式预测和隐式校正的交替，牢牢锁住了非线性长期演化中的能量守恒性，有效防止了长时间积分中的误差发散。</p>
<h4 id="">总结</h4><p>数值分析微分方程中主要的就是两种方法 ：</p><p>1、高阶单步法 RK 纵向延伸 不断地k去迭代 只要可以一直算下去 不断精确 消去高阶项</p><p>缺点如下</p><p><strong>著名的“Butcher障壁”（Butcher&#x27;s Barrier）</strong>：数学家 Butcher 证明了，4 阶 RK 只需要  4步迭代（$k<em>1 \dots k</em>4$）；但如果要达到 5 阶精度，最少需要 6 步迭代；要达到 6 阶精度，需要 7 步或 8 步。<strong>阶数越高，性价比（精度提升 / 计算量增加）急剧下降。</strong></p><p><strong>公式推导极其恐怖</strong>：高阶 RK 的系数推导（即代数消去的过程）极其困难，后续往往需要借助计算机代数系统（如 Maple 或 Mathematica）来推导系数。</p><p>经典</p><p><strong>RK4</strong>：性价比之王（4 步达成 4 阶）。</p><p><strong>Dormand-Prince (DP54 / <code>solve_ivp</code> 中的 <code>RK45</code>)</strong>：通过 7 步迭代（算到 $k_7$），同时拼凑出一个 4 阶和一个 5 阶的公式，用来自动控制步长。</p><p>2、P-C多步法 横向时空协作 的 “历史借力”</p><p><strong>隐式公式（如 Adams-Moulton）</strong>：它的精度极高、稳定性极强（能抗住非线性发散），但它需要解非线性方程（未来点 $y_{i+1}$ 在等式两边都有），<strong>非常难算（往往需要牛顿迭代，求导数雅可比矩阵）</strong>。</p><p><strong>显式公式（如 Adams-Bashforth）</strong>：它不含未来点，<strong>非常好算</strong>，但精度和稳定性稍逊。</p><p><mark class="rounded-md"><span class="px-1">关键</span></mark></p><p>显式和隐式一结合，显式负责<strong>快速给个粗糙的预估</strong>，隐式负责<strong>精细校正</strong>。</p><p><strong>最绝的是计算速度</strong>：因为在 PECE 模式中，历史的 $f<em>{i-1}, f</em>{i-2}$ 早已在之前的步骤中算过并存在内存里了，这步计算它们不需要任何耗时的函数求值（$O(1)$ 读取）。</p><p>在长期演化（如你提到的 TDDFT 含时密度泛函、天体轨道计算、分子动力学）中，算一次 $f(t, y)$ 常常要解一次庞大的薛定谔方程或泊松方程。此时，<strong>PECE 相比于 RK4，能直接砍掉一半以上的计算时间，同时保持极高的精度！</strong></p>
<hr/><h2 id="5--lorenz-">5. 微分方程组与 Lorenz 混沌</h2><h3 id="51-">5.1 向量形式</h3><p>多个变量： $\mathbf{y} = (y<em>1, y</em>2, \ldots, y_m)$</p>
<p>方程：</p><p>$$\frac{d\mathbf{y}}{dt} = \mathbf{f}(t, \mathbf{y})$$</p><p><strong>Extended RK4</strong>（m 个变量的 RK4）：</p><pre class="language-python lang-python"><code class="language-python lang-python">for j = 1 to m:   # 每个变量
    k1_j = f_j(t, y_1, y_2, ..., y_m)
    
for j = 1 to m:
    k2_j = f_j(t + h/2, y_1 + h/2·k1_1, ..., y_m + h/2·k1_m)

# 同理计算 k3, k4，然后：
y_j(new) = y_j + h/6 (k1_j + 2k2_j + 2k3_j + k4_j)
</code></pre>
<p>在实际写代码时，最容易犯的一个毁灭性错误，就是<strong>“一边计算新值，一边覆盖旧值”</strong>。</p><h4 id="-">❌ 错误示范：</h4><pre class="language-python lang-python"><code class="language-python lang-python">
# 假设我们在算 k2_x, k2_y...

for j in range(m):

    # 危险！当 j=1 (算y) 时，y_mid 需要 x_mid 的预测值。

    # 如果你在这里直接用公式，可能不小心把当前正在被修改的数组当成了输入

    k2[j] = fj [&lt;sup&gt;1&lt;/sup&gt;](t + h/2, y[0] + h/2 * k1[0], y[1] + h/2 * k1[1], ...)
</code></pre>
<h4 id="">正确示范：利用临时的“同步状态向量”</h4><p>在计算 $k<em>2, k</em>3, k<em>4$ 之前，<strong>先用上一个阶段完整的斜率向量，生成一个当前阶段专用的、临时的“探路状态”向量 <code>y_temp</code></strong>，然后所有变量统一在这个 `y</em>temp` 下进行函数求值：</p><pre class="language-python lang-python"><code class="language-python lang-python">Python
# 1. 算完所有变量的 k1

for j in range(m):

    k1[j] = fj [&lt;sup&gt;2&lt;/sup&gt;](t, y)

# 2. 同步生成中点状态 1

y_temp = y + (h / 2) * k1  # 这是向量加法，保证所有变量同步向前推进半步

# 3. 在这个同步的中点状态上，算完所有变量的 k2

for j in range(m):

    k2[j] = fj [&lt;sup&gt;3&lt;/sup&gt;](t + h / 2, y_temp)

# 4. 同步生成中点状态 2

y_temp = y + (h / 2) * k2

# 5. 算完所有变量的 k3

for j in range(m):

    k3[j] = fj [&lt;sup&gt;3&lt;/sup&gt;](t + h / 2, y_temp)

# 6. 同步生成终点状态

y_temp = y + h * k3

# 7. 算完所有变量的 k4

for j in range(m):

    k4[j] = fj [&lt;sup&gt;4&lt;/sup&gt;](t + h, y_temp)


# 8. 最终大合流

y = y + (h / 6) * (k1 + 2 * k2 + 2 * k3 + k4)
</code></pre>
<h3 id="-"> </h3><p>💡 注意 $k<em>2$ 依赖所有变量的 $k</em>1$——<strong>必须算完所有 $k<em>1$ 再算 $k</em>2$。</strong></p><p>处理多元微分方程组的黄金法则是：<strong>“同生共死，步调一致”</strong>。 通过引入一个像 <code>y_temp</code> 这样的中间过渡容器，我们在时空上强行将所有互相纠缠的变量锁定在了同一个时刻（起点、中点、终点）。泰勒展开的代数消去魔术也因此得以在多元空间中完美复现，护送整个混沌系统以高精度、高稳定性安全前行。</p><h3 id="52-lorenz---">5.2 Lorenz 方程 — 混沌的经典</h3><p>$$\begin{aligned}
\frac{dx}{dt} &amp;= \sigma(y - x) \
\frac{dy}{dt} &amp;= x(r - z) - y \
\frac{dz}{dt} &amp;= xy - bz
\end{aligned}$$</p><p>参数： $\sigma = 10,\ b = 8/3$，当 $r = 28$ 时出现混沌。</p><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import time

# =============================================
# 1. 定义洛伦兹系统（混沌系统）
# =============================================
def lorenz(t, state, sigma=10, r=28, b=8/3):
    &quot;&quot;&quot;
    洛伦兹方程 (大气对流简化模型)
    dx/dt = sigma*(y - x)
    dy/dt = x*(r - z) - y
    dz/dt = x*y - b*z
    &quot;&quot;&quot;
    x, y, z = state
    dx = sigma * (y - x)
    dy = x * (r - z) - y
    dz = x * y - b * z
    return np.array([dx, dy, dz])

# =============================================
# 2. 核心：向量版 RK4 步进函数（通用，支持任意维度的系统）
# =============================================
def rk4_step_vector(f, t, y, h):
    &quot;&quot;&quot;
    四阶龙格-库塔法 (向量形式)
    参数:
        f: 微分方程函数，返回 np.array
        t: 当前时间 (标量)
        y: 当前状态向量 (np.array)
        h: 步长
    返回:
        下一个时间步的状态向量 (np.array)
    &quot;&quot;&quot;
    # 四个斜率计算（全为向量运算）
    k1 = f(t, y)
    k2 = f(t + h/2, y + (h/2) * k1)
    k3 = f(t + h/2, y + (h/2) * k2)
    k4 = f(t + h, y + h * k3)
    
    # 加权平均更新状态
    y_next = y + (h/6) * (k1 + 2*k2 + 2*k3 + k4)
    return y_next

# =============================================
# 3. 主程序：求解并保存轨迹
# =============================================
if __name__ == &quot;__main__&quot;:
    # 参数设置
    state = np.array([1.0, 1.0, 1.0])  # 初始条件 (x0, y0, z0)
    h = 0.01                           # 步长 (越小精度越高，但计算量越大)
    N = 5000                           # 迭代步数 (总积分时间 T = h*N = 50秒)
    
    # 记录轨迹（为了节省内存，可以预先分配数组，但用列表 append 更直观）
    trajectory = [state.copy()]
    t_current = 0.0
    
    print(f&quot;开始求解洛伦兹系统，步长 h={h}，总步数 N={N}...&quot;)
    start_time = time.time()
    
    # 主循环
    for i in range(N):
        state = rk4_step_vector(lorenz, t_current, state, h)
        t_current += h
        trajectory.append(state.copy())  # 注意要 copy，防止后续修改影响历史数据
        
        # 可选：每 500 步打印一次进度
        if (i + 1) % 500 == 0:
            print(f&quot;  已完成 {i+1}/{N} 步，当前时间 t = {t_current:.2f}&quot;)
    
    end_time = time.time()
    print(f&quot;计算完成！耗时 {end_time - start_time:.4f} 秒。&quot;)
    
    # 将轨迹列表转换为 numpy 数组，方便切片绘图
    traj = np.array(trajectory)
    print(f&quot;轨迹数组形状: {traj.shape}&quot;)  # 应为 (N+1, 3)

    # =============================================
    # 4. 可视化：绘制三维相图和二维投影
    # =============================================
    fig = plt.figure(figsize=(15, 5))
    
    # 子图 1: 三维相空间 (经典蝴蝶效应)
    ax1 = fig.add_subplot(131, projection=&#x27;3d&#x27;)
    ax1.plot(traj[:, 0], traj[:, 1], traj[:, 2], linewidth=0.8, color=&#x27;blue&#x27;)
    ax1.set_xlabel(&#x27;X&#x27;)
    ax1.set_ylabel(&#x27;Y&#x27;)
    ax1.set_zlabel(&#x27;Z&#x27;)
    ax1.set_title(&#x27;洛伦兹吸引子 (3D)&#x27;)
    
    # 子图 2: X-Z 投影 (最常见的蝴蝶图)
    ax2 = fig.add_subplot(132)
    ax2.plot(traj[:, 0], traj[:, 2], linewidth=0.6, color=&#x27;red&#x27;)
    ax2.set_xlabel(&#x27;X&#x27;)
    ax2.set_ylabel(&#x27;Z&#x27;)
    ax2.set_title(&#x27;X-Z 投影&#x27;)
    ax2.grid(True, linestyle=&#x27;--&#x27;, alpha=0.5)
    
    # 子图 3: X-Y 投影
    ax3 = fig.add_subplot(133)
    ax3.plot(traj[:, 0], traj[:, 1], linewidth=0.6, color=&#x27;green&#x27;)
    ax3.set_xlabel(&#x27;X&#x27;)
    ax3.set_ylabel(&#x27;Y&#x27;)
    ax3.set_title(&#x27;X-Y 投影&#x27;)
    ax3.grid(True, linestyle=&#x27;--&#x27;, alpha=0.5)
    
    plt.tight_layout()
    plt.show()
    
    # =============================================
    # 5. 额外：打印最终状态和简单的统计学检查
    # =============================================
    final_state = traj[-1]
    print(f&quot;\n最终状态 (t={t_current:.2f}): X={final_state[0]:.6f}, Y={final_state[1]:.6f}, Z={final_state[2]:.6f}&quot;)
    
    # 检查是否有数值溢出 (洛伦兹系统在参数 28 时是混沌有界的，一般不会溢出)
    if np.any(np.isnan(traj)):
        print(&quot;⚠️ 警告：检测到 NaN，请尝试减小步长 h 或检查初始条件！&quot;)
    else:
        print(&quot;✅ 数值稳定，未出现溢出。&quot;)
</code></pre>
<p>💡 <strong>混沌标志</strong>：初始条件的微小差异（如 $x_0 = 1.000$ vs $1.001$）在 $t \approx 15$ 后演化出完全不同的轨迹——蝴蝶效应！</p><hr/><h2 id="6-">6. 高阶微分方程的降阶处理</h2><h3 id="61---">6.1 核心技巧：高阶 → 一阶方程组</h3><p>二阶 ODE： $y&#x27;&#x27; + p(t)y&#x27; + q(t)y = r(t)$</p><p><strong>定义新变量降阶</strong>：</p><p>$$\begin{aligned}
u<em>1 &amp;= y \
u</em>2 &amp;= y&#x27;
\end{aligned} \quad\Rightarrow\quad \begin{cases}
u<em>1&#x27; = u</em>2 \
u<em>2&#x27; = r(t) - p(t)u</em>2 - q(t)u_1
\end{cases}$$</p><p>这就是 $m$ 个一阶方程 → 用 Extended RK4 直接求解。</p><h3 id="62--">6.2 📐 完整例子：阻尼谐振子</h3><p>方程：
 $y&#x27;&#x27; + 2\gamma y&#x27; + \omega<em>0^2 y = 0$，设 $\gamma=0.3,\ \omega</em>0=2$，$y(0)=1,\ y&#x27;(0)=0$</p><p>降阶为：</p><p>$$\begin{cases} u<em>1&#x27; = u</em>2 \ u<em>2&#x27; = -0.6u</em>2 - 4u_1 \end{cases}$$</p><pre class="language-python lang-python"><code class="language-python lang-python">def damped_oscillator(t, u):
    u1, u2 = u
    gamma, omega0 = 0.3, 2.0
    du1 = u2
    du2 = -2*gamma*u2 - omega0**2 * u1
    return np.array([du1, du2])

u0 = np.array([1.0, 0.0])  # [y(0), y&#x27;(0)]
h = 0.05
t_vals = np.arange(0, 10.0, h)
u_traj = [u0]
for i in range(len(t_vals)-1):
    u_traj.append(rk4_step_vector(damped_oscillator, t_vals[i], u_traj[-1], h))

# 结果：振幅随时间指数衰减，频率略小于 ω₀
</code></pre>
<p>💡 <strong>通用策略</strong>：任意 $n$ 阶 ODE 都可以转化为 $n$ 个一阶方程。这个技巧在计算物理中无处不在。</p><hr/><h2 id="7-stiff-ode">7. 刚性微分方程（Stiff ODE）</h2><h3 id="71-">7.1 什么是刚性？</h3><p>系统中同时存在&quot;快变量&quot;和&quot;慢变量&quot;时，显式方法必须用极小的步长来追踪最快分量，否则发散。</p><p>快变量：变化速度极快 在瞬间 衰减到0</p><p>慢变量： 真正关心的 主导了系统长期演变的变量</p><p><strong>刚性的本质</strong>：微分方程组的 Jacobi 矩阵特征值 $\lambda<em>i$ 中，$\max|\lambda</em>i| / \min|\lambda_i|$ 很大。</p><h3 id="72-">7.2 稳定性对比</h3><h4 id="rk4">致命的痛点：为什么显式方法（如欧拉、RK4）会在这里死掉？</h4><p>如果你想计算这个系统在 $t = 5$ 秒时的状态。此时弹簧 A 早就静止了，照理说我们应该可以跨大步子（比如步长 $h = 0.1$ 秒）来快速计算弹簧 B 的悠闲运动。</p><p>然而，如果你使用<strong>显式欧拉法</strong>（或者 RK4）： 只要你的步长 $h$ 稍稍大于 <strong>0.0001 秒</strong>（比如你用了 $h = 0.01$），那个早就已经静止的“快变量”就会在数值计算中像疯了一样<strong>成倍放大、瞬间发散到无穷大</strong>！</p><p>显式方法被逼着必须使用 $h = 0.00001$ 秒的超级小步长，去算那毫无意义、早就静止了的快变量，从而在极小的步长上把自己硬生生<strong>“耗死”</strong>。</p><h4 id="">绝对稳定性与特征值：数值世界里的“紧箍咒”</h4><p>为了看清为什么显式方法会发散，而隐式方法不会，我们必须做一次严密的代数推导。</p><h5 id="1-">1. 显式欧拉的自我毁灭推导</h5><p>假设我们面对最简单的一个一阶线性微分方程（代表我们系统里的“快变量”衰减过程）： $\frac{dy}{dt} = \lambda y, \quad (\text{其中 } \lambda &lt; 0 \text{，是一个极大的负数，比如 } \lambda = -1000)$ 它的精确解析解是 $y(t) = C e^{\lambda t} = C e^{-1000 t}$。随着时间推移，它会以极快的速度衰减到 $0$。</p><p>现在，我们用<strong>显式欧拉法</strong>来计算它： $y<em>{i+1} = y</em>i + h f(t<em>i, y</em>i) = y<em>i + h (\lambda y</em>i)$ 提取公因子 $y<em>i$： $y</em>{i+1} = (1 + h\lambda) y_i \quad \text{--- (式 1)}$</p><h5 id="">致命的死亡条件：</h5><p>要想让计算出来的 $y$ 像真实物理世界一样不断衰减（不发散），我们必须保证每前进一步，新值都比旧值小。也就是： $|1 + h\lambda| &lt; 1$ 由于 $\lambda = -1000$，我们解这个绝对值不等式： $-1 &lt; 1 - 1000h &lt; 1 \implies 0 &lt; 1000h &lt; 2 \implies h &lt; 0.002$</p><p>瞧见了吗？<strong>不管你有多想跨大步子，你的步长 $h$ 都被死死地限制在了 $0.002$ 秒以内！</strong> 一旦你的 $h$ 哪怕大了一丁点（比如 $h = 0.003$），系数就会变成 $|1 + h\lambda| = |1 - 3| = 2$。 下一步的值就会变成上一步的 <strong>2 倍</strong>，再下一步是 <strong>4 倍</strong>、<strong>8 倍</strong>……瞬间发散崩溃！</p><p>这就是表里的： $\text{Explicit: } |1 + h\lambda| &lt; 1$。</p><h4 id="">隐式梯形法的“降维打击”</h4><p>现在，我们把相同的方程，用<strong>隐式梯形法</strong>来算。 隐式梯形法的公式为： $y<em>{i+1} = y</em>i + \frac{h}{2} [f(t<em>i, y</em>i) + f(t<em>{i+1}, y</em>{i+1})]$</p><p>代入 $f(t,y) = \lambda y$： $y<em>{i+1} = y</em>i + \frac{h}{2} [\lambda y<em>i + \lambda y</em>{i+1}]$</p><p>我们将含有未来项 $y<em>{i+1}$ 的项移到等式的左边： $y</em>{i+1} - \frac{h\lambda}{2} y<em>{i+1} = y</em>i + \frac{h\lambda}{2} y<em>i$ 提取并整理： $\left(1 - \frac{h\lambda}{2}\right) y</em>{i+1} = \left(1 + \frac{h\lambda}{2}\right) y_i$</p><p>$y<em>{i+1} = \left( \frac{1 + \frac{h\lambda}{2}}{1 - \frac{h\lambda}{2}} \right) y</em>i \quad \text{--- (式 2)}$</p><h5 id="-">🎉 奇迹发生了：</h5><p>我们要让数值解不发散，同样需要放大系数的绝对值小于 1： $\left| \frac{1 + \frac{h\lambda}{2}}{1 - \frac{h\lambda}{2}} \right| &lt; 1$</p><p>由于物理衰减中 $\lambda &lt; 0$（即负实部），所以：</p><ul><li>分母 $1 - \frac{h\lambda}{2}$ 一定是一个大于 1 的正数。</li><li>分子 $1 + \frac{h\lambda}{2}$ 的绝对值，在 $\lambda &lt; 0$ 时，<strong>永远小于分母</strong>！</li></ul><p>这意味着：<strong>无论你的步长 $h$ 取得有多大（哪怕 $h = 10000$ 甚至无穷大），这个放大系数的绝对值都永远小于 1！</strong> 隐式梯形法是<strong>无条件稳定</strong>的。你可以放心大胆地用巨无霸步长跨过去，那个快变量只会温顺地、迅速地衰减到 0，绝对不会发散。</p>
<table><thead><tr><th> 方法           </th><th> 类型     </th><th> 稳定性                           </th><th> 对 Stiff 方程        </th></tr></thead><tbody><tr><td> Euler (显式)   </td><td> Explicit </td><td> $</td><td>1+h\lambda</td><td> &lt; 1$               </td><td> ❌ 步长受最快分量限制 </td></tr><tr><td> <strong>隐式梯形法</strong> </td><td> Implicit </td><td> <strong>无条件稳定</strong>（对负实部特征值） </td><td> ✅                    </td></tr><tr><td> <strong>Gear 方法</strong>  </td><td> Implicit </td><td> 刚性好                           </td><td> ✅ 推荐               </td></tr></tbody></table><h3 id="73--implicit-trapezoidal">7.3 隐式梯形法 (Implicit Trapezoidal)</h3><p>$$y<em>{i+1} = y</em>i + \frac{h}{2}\left[f(t<em>i, y</em>i) + f(t<em>{i+1}, y</em>{i+1})\right]$$</p><p>隐式方法虽然好，但是它有一个致命难点：</p><p><strong>未来项 $y<em>{i+1}$ 藏在复杂的非线性函数 $f(t</em>{i+1}, y_{i+1})$ 里面，我们该怎么把它解出来？</strong></p><p>以隐式梯形法为例，我们定义一个残差函数 $F(y<em>{i+1})$，我们的目标是找到一个 $y</em>{i+1}$ 使得这个函数等于 0： $F(y<em>{i+1}) = y</em>{i+1} - y<em>i - \frac{h}{2} \left[ f(t</em>i, y<em>i) + f(t</em>{i+1}, y_{i+1}) \right] = 0$</p><p>因为  $f$ 是非线性的，我们必须在每一步里，都用<strong>牛顿迭代法（Newton-Raphson）</strong>去把它活生生“猜”出来。</p><h4 id="">牛顿迭代手算推导：</h4><p>牛顿迭代法是求解非线性方程 $F(x) = 0$ 最犀利的武器。它的几何直觉极其美妙：</p><ol start="1"><li><strong>第一步（盲猜）</strong>：我们先闭着眼睛对 $y<em>{i+1}$ 猜一个初始值，记为 $y^{(0)}$。
<ul><li>*注：怎么猜？最常用的办法是用最简单的显式欧拉法跨一步： $y^{(0)} = y</li></ul></em>i + h f(t<em>i, y</em>i)$，这个粗糙的值作为我们的起点。*</li><li><strong>第二步（作切线）</strong>：我们画出函数 $F(x)$ 的曲线，找到曲线在 $x = y^{(0)}$ 处的点 $(y^{(0)}, F(y^{(0)}))$。我们在这个点上作一条<strong>切线</strong>。</li><li><strong>第三步（切线求交点）</strong>：这条切线的斜率就是导数 $F&#x27;(y^{(0)})$。切线与 $x$ 轴（即 $F(x) = 0$ 处）相交的点，就会比我们盲猜的 $y^{(0)}$ <strong>更接近</strong>真正的根。我们将这个交点记为下一次的猜测值 $y^{(1)}$。</li></ol><p>我们用一次函数（切线方程）来写出这个过程： 在点 $x = y^{(k)}$ 处的切线方程为： $y - F(y^{(k)}) = F&#x27;(y^{(k)}) (x - y^{(k)})$ 我们要找它与 $x$ 轴的交点，即令 $y = 0$，求解此时的 $x$（即下一次逼近值 $y^{(k+1)}$：</p><p> $（0 - F(y^{(k)}) = F&#x27;(y^{(k)}) (y^{(k+1)} - y^{(k)})$</p><p>移项整理： $y^{(k+1)} - y^{(k)} = -\frac{F(y^{(k)})}{F&#x27;(y^{(k)})}$</p><p>$y^{(k+1)} = y^{(k)} - \frac{F(y^{(k)})}{F&#x27;(y^{(k)})} \quad \text{--- (牛顿迭代核心公式)}$</p><p>我们要对 $F(y<em>{i+1})$ 关于 $y</em>{i+1}$ 求导： $F&#x27;(y<em>{i+1}) = \frac{\partial}{\partial y</em>{i+1}} \left( y<em>{i+1} - y</em>i - \frac{h}{2} [f(t<em>i, y</em>i) + f(t<em>{i+1}, y</em>{i+1})] \right) = 1 - \frac{h}{2} \frac{\partial f}{\partial y}$ 这里的 $\frac{\partial f}{\partial y}$ 就是一维时的导数，在多元微分方程组里，它就是赫赫有名的<strong>雅可比矩阵（Jacobian Matrix）</strong> $J$。</p><p>因此，牛顿迭代的每一次修正公式为： $y^{(k+1)} = y^{(k)} - \frac{y^{(k)} - y<em>i - \frac{h}{2} [f(t</em>i, y<em>i) + f(t</em>{i+1}, y^{(k)})]}{1 - \frac{h}{2} J}$</p><p>$y_{i+1}$ 出现在方程右侧，需用 Newton 迭代求解：</p><pre class="language-python lang-python"><code class="language-python lang-python"># 伪代码：隐式梯形法一步
def trapezoidal_step(f, t, y, h):
    # 先用 Euler 预测一个初猜
    y_guess = y + h * f(t, y)
    
    # Newton 迭代求解
    for _ in range(max_iter):
        F = y_guess - y - h/2 * (f(t, y) + f(t+h, y_guess))
        if abs(F) &lt; tol: break
        # J = 1 - h/2 * df/dy (对单变量)
        J = 1 - h/2 * jacobian(f, t+h, y_guess)
        y_guess = y_guess - F/J
    
    return y_guess
</code></pre>
<h3 id="74-gear--2--3">7.4 Gear 方法 (2阶 / 3阶)</h3><h3 id="backward-differentiation-formula">Backward Differentiation Formula</h3><p><strong>普通多步法（Adams 族）</strong>：通过对<strong>斜率 $f$</strong> 进行插值，去近似积分。</p><p><strong>Gear 方法（BDF 族）</strong>：通过对<strong>状态 $y$</strong>（即当前点和历史点）进行高阶多项式插值，强行对这个多项式求导，以此来逼近未来的斜率。</p><p><strong>2 阶 Gear</strong>：</p><p>$$y<em>{i+1} = \frac{4}{3}y</em>i - \frac{1}{3}y<em>{i-1} + \frac{2h}{3}f(t</em>{i+1}, y_{i+1})$$</p><p>它的代数原理极其简单： 假设我们在 $t<em>{i+1}, t</em>i, t<em>{i-1}$ 这三个点上，穿过状态值 $y</em>{i+1}, y<em>i, y</em>{i-1}$ 作一条二次抛物线 $P(t)$。 通过拉格朗日插值法，我们可以写出这条代表位移的抛物线 $P(t)$ 的表达式。 然后，我们强制要求<strong>抛物线在未来时刻 $t<em>{i+1}$ 处的导数 $P&#x27;(t</em>{i+1})$，必须完美等于物理方程给出的斜率 $f(t<em>{i+1}, y</em>{i+1})$</strong>！ 即： $P&#x27;(t<em>{i+1}) = f(t</em>{i+1}, y<em>{i+1})$ 对插值多项式求导并整理后，这一步就会硬生生、分毫不差地凑出： $y</em>{i+1} = \frac{4}{3}y<em>i - \frac{1}{3}y</em>{i-1} + \frac{2h}{3} f(t<em>{i+1}, y</em>{i+1})$</p><p>同理，若用 4 个点作三次抛物线，求导后就能推导出 <strong>3 阶 Gear</strong>：</p><p>$y<em>{i+1} = \frac{18}{11}y</em>i - \frac{9}{11}y<em>{i-1} + \frac{2}{11}y</em>{i-2} + \frac{6h}{11}f(t<em>{i+1}, y</em>{i+1})$</p><p><strong>3 阶 Gear</strong>：</p><p>$$y<em>{i+1} = \frac{18}{11}y</em>i - \frac{9}{11}y<em>{i-1} + \frac{2}{11}y</em>{i-2} + \frac{6h}{11}f(t<em>{i+1}, y</em>{i+1})$$</p><p>都是隐式方法，每步需 Newton 迭代求解 $y_{i+1}$。</p><p>💡 <strong>稳定性准则</strong>（微分方程组）：</p><p>$$\text{Explicit: } |1 + h\lambda<em>i| &lt; 1 \quad \text{vs} \quad \text{Implicit: 无条件稳定（$Re(\lambda</em>i)&lt;0$ 时）}$$</p><h4 id="-gear-bdf-stiff-">为什么 Gear 方法（BDF）最适合 Stiff 方程？（深入绝对稳定性）</h4><p>为了彻底看清为什么这套方法能成为刚性（Stiff）微分方程的“降维打击”王牌，我们需要从<strong>绝对稳定域</strong>的数学本源去剖析它。</p><h5 id="1-">1. 测试方程与线性化</h5><p>为了分析任何一个数值方法的稳定性，数学家都会使用标准线性测试方程：</p><p>$$
\frac{dy}{dt} = \lambda y \quad (\text{其中 } \lambda \in \mathbb{C}, \text{ 复数，且其实部 } \text{Re}(\lambda) &lt; 0)
$$
这个方程代表了物理系统中的衰减分量（快变量）。我们定义无量纲参数 $z = h\lambda$。 在真实物理世界里，因为实部为负，所以随着 $t \to \infty$，解析解 $y(t) \to 0$。 我们要求：<strong>数值方法计算出来的序列 $y_n$ 在步数 $n \to \infty$ 时，也必须衰减到 $0$。</strong></p>
<h5 id="2-bdf2-">2. BDF2 的特征方程与绝对稳定条件</h5><p>我们将测试方程 $f(t, y) = \lambda y$ 代入刚刚推导出的 BDF2 公式中：</p><p>$$
y<em>{i+1} = \frac{4}{3} y</em>i - \frac{1}{3} y<em>{i-1} + \frac{2}{3} z y</em>{i+1} \quad (\text{其中 } z = h\lambda)
$$
我们将所有项移到左侧并整理：</p><p>$$
\left( 1 - \frac{2}{3} z \right) y<em>{i+1} - \frac{4}{3} y</em>i + \frac{1}{3} y_{i-1} = 0
$$
为了去分母，两边乘以 $3$：</p><p>$$
(3 - 2z) y<em>{i+1} - 4 y</em>i + y_{i-1} = 0</p><p>$$
这是一个关于序列 $y$ 的<strong>二阶常系数线性差分方程</strong>。其通解的形式为 $y<em>n = C r^n$，其中 $r$ 是其特征方程的根。 我们将 $y</em>n = r^n$ 代入上式，得出其<strong>特征方程</strong>：</p><p>$$
(3 - 2z) r^2 - 4 r + 1 = 0
$$
根据线性差分方程的稳定性理论，要让数值解 $y<em>n \to 0$ 稳定不发散，**特征方程的两个根 $r</em>1, r_2$ 的模长都必须严格小于 1**（即它们必须落在复平面的单位圆内）：</p><p>$$</p><p>|r_1| &lt; 1 \quad \text{且} \quad |r_2| &lt; 1</p><p>$$
我们来解出特征根 $r$ 看看它与 $z = h\lambda$ 的关系：</p><p>$$
r = \frac{4 \pm \sqrt{16 - 4(3 - 2z)}}{2(3 - 2z)} = \frac{4 \pm \sqrt{4 + 8z}}{2(3 - 2z)} = \frac{2 \pm \sqrt{1 + 2z}}{3 - 2z}
$$</p><h5 id="-">🌟 为什么它极其稳定？</h5><p>假设我们的方程存在极度刚性的快分量，这意味着 $\lambda$ 是一个极大的负实数（例如 $\lambda = -10000$）。如果我们用大步长 $h = 1$ 去跨，那么 $z = h\lambda = -10000$ 就会变成一个极其恐怖的负数。 我们来看一下当 $z \to -\infty$ 时，特征根 $r$ 会发生什么：</p><p>$$
\lim<em>{z \to -\infty} r = \lim</em>{z \to -\infty} \frac{2 \pm \sqrt{1 + 2z}}{3 - 2z}
$$
由于分母上有 $z$ 的一次项，而分子上只有根号下 $z$（即半次方项）。根据极限法则，分母的增长速度远快于分子：</p><p>$$
\lim_{z \to -\infty} r = 0
$$
这意味着什么？</p><p>当面对极强刚性（ $z \to -\infty$）时，BDF2 的特征根 $r$ 直接<strong>趋近于 0</strong>！ 特征根趋近于 0，意味着每走一步，误差不仅不会放大，反而会被<strong>以近乎 100% 的效率瞬间抹除、强行掐灭</strong>！ 这就是为什么说它是“黑洞一样的结构，能够吞噬快分量误差”的数学解释。</p><hr/><h5 id="3--vs-">3. 绝对稳定域的对比（显式 vs 隐式）</h5><p>为了让你更具象地感受，我们画出复平面上的“绝对稳定域”（也就是能让特征根模长小于 1 的所有 $z$ 的集合）：</p><ul><li><strong>显式欧拉法</strong>：稳定域是复平面上以 $(-1, 0)$ 为圆心、半径为  $1$ 的<strong>小圆圈</strong>。 $z = h\lambda$ 必须在这个小圆圈内。当  $\lambda = -1000$ 时， $h$ 必须小于  $0.002$ 才能把 $z$ 关进这个圆圈。</li><li><strong>隐式梯形法</strong>：稳定域是整个复平面的<strong>左半平面</strong>（A-Stable）。只要 $\text{Re}(\lambda) &lt; 0$，无论 $h$ 有多大， $z$ 都永远在稳定域里。但是当 $z \to -\infty$ 时，其放大系数趋于 $-1$（边界上），误差虽然不发散，但会产生持久的数值振荡。</li><li><strong>Gear 方法（BDF2）</strong>：不仅是 A-stable 的（整个左半平面几乎全包），而且它拥有极强的 L-稳定性（L-Stable）。也就是说，当 $z \to -\infty$ 时，它的放大系数直接收敛到 0。这相当于对快分量的数值误差实施了“降维打击”——只要你刚性发作得越厉害，它掐死误差的速度就越快。</li></ul><p><strong>核心结论</strong>：Implicit 的稳定性远优于 Explicit。对 Stiff 问题，宁可用隐式方法多算几步 Newton 迭代，也别用显式方法在极小步长上耗死自己。</p><h4 id="-gear--stiff-">为什么 Gear 方法最适合 Stiff 方程？</h4><p>因为它的左边是纯粹的状态项 $y$，右边只有<strong>一项</strong>未来的斜率项 $f(t<em>{i+1}, y</em>{i+1})$。 在代数合并和牛顿迭代时，这种结构在复平面上的绝对稳定区域极其庞大，能够像黑洞一样，把所有具有极大负实部特征值（也就是死得最快的那些快分量）的误差<strong>全部吞噬、彻底压制</strong>。</p><hr/><h2 id="8-bvpshooting">8. 边值问题BVP与打靶法（Shooting）</h2><h3 id="81-">8.1 问题描述</h3><p>边值问题：已知 $y(a) = \alpha,\ y(b) = \beta$，求解 $y(x)$。</p><p>与初值问题的根本不同——两端都有条件。</p><p>核心打靶法就是：</p><p>把未知的初始斜率</p><p>$$
t = y&#x27;(a)
$$
当成一个可调参数，不断试，直到积分到 $b$ 时满足</p><p>$$
y(b)=\beta
$$
<strong>打靶法核心思路</strong>：把边值问题转化为初值问题！</p><h3 id="82-">8.2 线性打靶法</h3><p>优势之处：线性方程满足叠加原理</p><p>对线性方程：</p><p>$$
y&#x27;&#x27; + p(x)y&#x27; + q(x)y = r(x), \quad y(a)=\alpha,\ y(b)=\beta
$$</p><p><strong>步骤</strong>：</p><ol start="1"><li>解两个辅助初值问题：</li></ol><p>$$\begin{aligned}
\text{问题1: } &amp; y<em>1&#x27;&#x27; + py</em>1&#x27; + qy<em>1 = r, \quad y</em>1(a)=\alpha,\ y<em>1&#x27;(a)=0 \
\text{问题2: } &amp; y</em>2&#x27;&#x27; + py<em>2&#x27; + qy</em>2 = 0, \quad y<em>2(a)=0,\ y</em>2&#x27;(a)=1
\end{aligned}$$</p><ol start="2"><li><p>用 RK4 分别求  $y<em>1(b),\ y</em>2(b)$</p></li><li><p>混合两个解： $y(x) = y<em>1(x) + t \cdot y</em>2(x)$</p></li></ol><p>其中系数 $t$ 由边界条件确定：</p><p>$$t = \frac{\beta - y<em>1(b)}{y</em>2(b)}$$</p><p>两个解都满足方程（因为是线性叠加），调整混合比例 $t$ 来同时满足两端边界条件。</p><h4 id="">线性打靶法本质</h4><p>你可以理解为：</p><p>$$
y_1
$$
是“先打一枪，斜率取 0”的轨迹。</p><p>$$
y_2
$$
是“单位斜率造成的响应”。</p><p>然后真正需要的斜率修正量就是：</p><p>$$
t=\frac{\text{终点缺口}}{\text{单位斜率带来的终点变化}}
$$
即：</p><p>$$
t
=
\frac{\beta-y<em>1(b)}{y</em>2(b)}
$$</p><h4 id="">注意：什么时候会失败？</h4><p>如果</p><p>$$
y_2(b)=0
$$
那么公式分母为零。</p><p>这说明初始斜率的变化对终点 $y(b)$ 没有影响，或者对应的齐次边值问题存在非零解。</p><p>这通常意味着：</p><ul><li>问题无解；</li><li>或者解不唯一；</li><li>或者参数正好落在某个本征值上。</li></ul><p>例如 Sturm-Liouville 本征值问题中，齐次解可以同时满足两端边界，这时 Green 函数分母 Wronskian 也会出问题。</p>
<h3 id="83----t">8.3 非线性打靶法 + 割线法求 $t$</h3><p>对于非线性问题：</p><p>$$
y&#x27;&#x27;=f(x,y,y&#x27;)
$$
边界条件：</p><p>$$
y(a)=\alpha,\qquad y(b)=\beta
$$
我们仍然设：</p><p>$$
t=y&#x27;(a)
$$
每给一个 $t$，从 $a$ 积分到 $b$，得到：</p><p>$$
y(b;t)
$$
定义残差函数：</p><p>$$
F(t)=y(b;t)-\beta
$$
目标：</p><p>$$
F(t)=0
$$</p><hr/><h4 id="">割线法推导</h4><p>假设已经有两个试探斜率：</p><p>$$
t<em>{k-1},\qquad t</em>k
$$
对应残差：</p>
<p>$$
F(t<em>{k-1}),\qquad F(t</em>k)
$$
我们用一条直线近似 $F(t)$。</p><p>割线斜率是：</p><p>$$
\frac{F(t<em>k)-F(t</em>{k-1})}{t<em>k-t</em>{k-1}}
$$
直线方程为：</p><p>$$
F(t)\approx F(t<em>k)
+
\frac{F(t</em>k)-F(t<em>{k-1})}{t</em>k-t<em>{k-1}}(t-t</em>k)
$$
我们希望下一次 $t_{k+1}$ 使得这个线性近似为 0：</p><p>$$
0=
F(t<em>k)
+
\frac{F(t</em>k)-F(t<em>{k-1})}{t</em>k-t<em>{k-1}}(t</em>{k+1}-t_k)
$$
移项：</p><p>$$
\frac{F(t<em>k)-F(t</em>{k-1})}{t<em>k-t</em>{k-1}}(t<em>{k+1}-t</em>k)
=
-F(t_k)
$$
所以</p><p>$$
t<em>{k+1}-t</em>k
=
-F(t<em>k)
\frac{t</em>k-t<em>{k-1}}{F(t</em>k)-F(t_{k-1})}
$$
得到：</p><p>$$
t<em>{k+1}
=
t</em>k
-
F(t<em>k)
\frac{t</em>k-t<em>{k-1}}{F(t</em>k)-F(t_{k-1})}
$$
由于</p><p>$$
F(t)=y(b;t)-\beta
$$
所以</p><p>$$
t<em>{k+1}
=
t</em>k
-
\bigl(y(b;t<em>k)-\beta\bigr)
\frac{t</em>k-t<em>{k-1}}
{y(b;t</em>k)-y(b;t_{k-1})}
$$
这就是你写的公式。</p><hr/><h4 id="">非线性打靶法算法</h4><ol start="1"><li>选两个初始猜测：</li></ol><p>$$
t<em>0,\qquad t</em>1
$$</p><ol start="1"><li>用 RK4 积分：</li></ol><p>$$
y(b;t<em>0),\qquad y(b;t</em>1)
$$</p><ol start="1"><li>计算残差：</li></ol><p>$$
F(t<em>0)=y(b;t</em>0)-\beta
$$</p><ol start="1"><li>用割线法更新：</li></ol><p>$$
t<em>2=
t</em>1
-
F(t<em>1)
\frac{t</em>1-t<em>0}{F(t</em>1)-F(t_0)}
$$</p><ol start="1"><li>重复直到：</li></ol><p>$$</p><p>|F(t_k)|=|y(b;t_k)-\beta|&lt;\varepsilon</p><p>$$</p>
<p>💡 <strong>为什么叫&quot;打靶&quot;</strong>：你站在 a 点，调整出射角 $t = y&#x27;(a)$，&quot;射击&quot;目标是 b 点的边界值。射偏了就调整角度再来一枪，直到命中靶心。</p>
<h3 id="84-">8.4 割线法与牛顿法的选择</h3><p>如果能算出：</p><p>$$
F&#x27;(t)=\frac{\partial y(b;t)}{\partial t}
$$
那么可以用牛顿法：</p><p>$$
t<em>{k+1}
=
t</em>k-\frac{F(t<em>k)}{F&#x27;(t</em>k)}
$$</p><table><thead><tr><th> 方法            </th><th> 每步计算        </th><th> 收敛速度           </th><th> 适用       </th></tr></thead><tbody><tr><td> 割线法 (Secant) </td><td> 1 次积分        </td><td> 超线性 (~1.618 阶) </td><td> 微分难求时 </td></tr><tr><td> 牛顿法          </td><td> 1 次积分 + 微分 </td><td> 二次收敛           </td><td> 微分好求时 </td></tr></tbody></table><p>对打靶法，$dy(b,t)/dt$ 往往不好求，割线法更实用。</p><hr/><h2 id="9-numerov-">9. Numerov 方法</h2><h3 id="91--ode-">9.1 <strong>专门</strong>为二阶 ODE 设计</h3><p>Numerov 方法针对以下形式的方程（无 $y&#x27;$ 项）：
$$y&#x27;&#x27; + k(x)y = F(x)$$</p><p>普通二阶方程：
$$
y&#x27;&#x27;+p(x)y&#x27;+q(x)y=r(x)
$$
包含 $y&#x27;$，Numerov 不能直接套。</p><p>但有时可以通过变量替换消去一阶导。</p><p>令：</p><p>$$
y(x)=u(x)e^{-\frac12\int p(x),dx}
$$
设</p><p>$$
S(x)=\frac12\int p(x),dx
$$
所以：</p><p>$$
y=e^{-S}u
$$
求导：</p><p>$$
y&#x27;=e^{-S}(u&#x27;-S&#x27;u)
$$
再求导：</p><p>$$
y&#x27;&#x27;
=
e^{-S}
\left[
u&#x27;&#x27;-2S&#x27;u&#x27;+(S&#x27;^2-S&#x27;&#x27;)u
\right]
$$
代入原方程：</p><p>$$
y&#x27;&#x27;+p y&#x27;+q y=r
$$
得到：</p><p>$$
e^{-S}
\left[
u&#x27;&#x27;-2S&#x27;u&#x27;+(S&#x27;^2-S&#x27;&#x27;)u
\right]
+
p e^{-S}(u&#x27;-S&#x27;u)
+
q e^{-S}u=r
$$
两边乘以 $e^S$：</p><p>$$
u&#x27;&#x27;-2S&#x27;u&#x27;+(S&#x27;^2-S&#x27;&#x27;)u
+
p u&#x27;-pS&#x27;u+q u
=
e^S r
$$
因为</p><p>$$
S&#x27;=\frac p2
$$
所以一阶导项系数：</p><p>$$
-2S&#x27;+p=-p+p=0
$$
一阶导消失。</p><p>剩下 $u$ 的系数：</p><p>$$
S&#x27;^2-S&#x27;&#x27;-pS&#x27;+q
$$
代入：</p><p>$$
S&#x27;^2=\frac{p^2}{4}
$$
所以：</p><p>$$
S&#x27;^2-S&#x27;&#x27;-pS&#x27;+q
=
\frac{p^2}{4}-\frac{p&#x27;}{2}-\frac{p^2}{2}+q
$$
因此变成：</p><p>$$
u&#x27;&#x27;
+
\left(
q-\frac{p&#x27;}{2}-\frac{p^2}{4}
\right)u
=
e^S r
$$
这就变成了 Numerov 形式：</p><p>$$
u&#x27;&#x27;+K(x)u=\tilde F(x)
$$
其中：</p><p>$$
K(x)=q-\frac{p&#x27;}{2}-\frac{p^2}{4}
$$</p><h3 id="92-">9.2 递推公式</h3><p>我们从 Taylor 展开开始。</p><p>在网格：</p><p>$$
x<em>i=x</em>0+ih
$$
记：</p><p>$$
y<em>i=y(x</em>i),\qquad k<em>i=k(x</em>i),\qquad F<em>i=F(x</em>i)
$$
方程：</p><p>$$
y&#x27;&#x27;+ky=F
$$
也就是：</p><p>$$
y&#x27;&#x27;=F-ky
$$</p><hr/><h4 id="">第一步：中心差分展开</h4><p>Taylor 展开：</p><p>$$
y<em>{i+1}
=
y</em>i+h y<em>i&#x27;
+\frac{h^2}{2}y</em>i&#x27;&#x27;
+\frac{h^3}{6}y<em>i&#x27;&#x27;&#x27;
+\frac{h^4}{24}y</em>i^{(4)}
+\frac{h^5}{120}y<em>i^{(5)}
+\frac{h^6}{720}y</em>i^{(6)}
+\cdots
$$
相加：</p><p>$$
y<em>{i+1}+y</em>{i-1}
=
2y<em>i
+h^2 y</em>i&#x27;&#x27;
+\frac{h^4}{12}y<em>i^{(4)}
+\frac{h^6}{360}y</em>i^{(6)}
+\cdots
$$
所以：</p><p>$$
y<em>{i+1}-2y</em>i+y<em>{i-1}
=
h^2y</em>i&#x27;&#x27;
+\frac{h^4}{12}y_i^{(4)}
+O(h^6)
$$</p><hr/><h4 id="-y4">第二步：用差分近似 $y^{(4)}$</h4><p>因为：</p><p>$$
y^{(4)}=(y&#x27;&#x27;)&#x27;&#x27;
$$
所以可以用二阶中心差分近似：</p><p>$$
y<em>i^{(4)}
\approx
\frac{y</em>{i+1}&#x27;&#x27;-2y<em>i&#x27;&#x27;+y</em>{i-1}&#x27;&#x27;}{h^2}
$$
代入：</p><p>$$
y<em>{i+1}-2y</em>i+y<em>{i-1}
=
h^2 y</em>i&#x27;&#x27;
+
\frac{h^4}{12}
\frac{y<em>{i+1}&#x27;&#x27;-2y</em>i&#x27;&#x27;+y_{i-1}&#x27;&#x27;}{h^2}
+O(h^6)
$$
整理：</p><p>$$
y<em>{i+1}-2y</em>i+y<em>{i-1}
=
h^2
\left[
y</em>i&#x27;&#x27;
+
\frac{1}{12}
\left(
y<em>{i+1}&#x27;&#x27;-2y</em>i&#x27;&#x27;+y_{i-1}&#x27;&#x27;
\right)
\right]
+O(h^6)
$$
把括号内合并：</p><p>$$
y_i&#x27;&#x27;
+
\frac{1}{12}</p><p>(y<em>{i+1}&#x27;&#x27;-2y</em>i&#x27;&#x27;+y_{i-1}&#x27;&#x27;)
$$
所以：</p><p>$$
y<em>{i+1}-2y</em>i+y<em>{i-1}
=
\frac{h^2}{12}
\left(
y</em>{i+1}&#x27;&#x27;+10y<em>i&#x27;&#x27;+y</em>{i-1}&#x27;&#x27;
\right)
+O(h^6)
$$</p><hr/><h4 id="">第三步：代入微分方程</h4><p>由：</p><p>$$
y&#x27;&#x27;=F-ky
$$
所以：</p><p>$$
y<em>{i+1}&#x27;&#x27;=F</em>{i+1}-k<em>{i+1}y</em>{i+1}
$$
代入：</p><p>$$
y<em>{i+1}-2y</em>i+y<em>{i-1}
=
\frac{h^2}{12}
\left[
F</em>{i+1}+10F<em>i+F</em>{i-1}
-
\left(
k<em>{i+1}y</em>{i+1}
+10k<em>i y</em>i
+k<em>{i-1}y</em>{i-1}
\right)
\right]
$$
把所有含 $y_{i+1}$ 的项放左边：</p><p>$$
y<em>{i+1}
+
\frac{h^2}{12}k</em>{i+1}y<em>{i+1}
=
2y</em>i-y<em>{i-1}
+
\frac{h^2}{12}
(F</em>{i+1}+10F<em>i+F</em>{i-1})
-
\frac{h^2}{12}
(10k<em>i y</em>i+k<em>{i-1}y</em>{i-1})
$$
左边：</p><p>$$
\left(
1+\frac{h^2}{12}k_{i+1}</p><p>\right)y<em>{i+1}
$$
右边整理 $y</em>i$ 项：</p>
<p>$$
2y<em>i-\frac{10h^2}{12}k</em>i y<em>i
=
2\left(1-\frac{5h^2}{12}k</em>i\right)y<em>i
$$
整理 $y</em>{i-1}$ 项：</p><p>$$
-y<em>{i-1}-\frac{h^2}{12}k</em>{i-1}y<em>{i-1}
=
-\left(
1+\frac{h^2}{12}k</em>{i-1}
\right)y_{i-1}
$$
因此：</p><p>$$
\left(
1+\frac{h^2}{12}k<em>{i+1}
\right)y</em>{i+1}
=
2\left(1-\frac{5h^2}{12}k<em>i\right)y</em>i
-
\left(1+\frac{h^2}{12}k<em>{i-1}\right)y</em>{i-1}
+
\frac{h^2}{12}
(F<em>{i+1}+10F</em>i+F_{i-1})
$$
最终得到 Numerov 递推公式：</p><p>$$
y<em>{i+1}
=
\frac{
2\left(1-\frac{5h^2}{12}k</em>i\right)y<em>i
-
\left(1+\frac{h^2}{12}k</em>{i-1}\right)y<em>{i-1}
+
\frac{h^2}{12}
(F</em>{i+1}+10F<em>i+F</em>{i-1})
}
{
1+\frac{h^2}{12}k_{i+1}
}
$$
齐次情形 $F=0$ 时：</p><p>$$
y<em>{i+1}
=
\frac{
2\left(1-\frac{5h^2}{12}k</em>i\right)y<em>i
-
\left(1+\frac{h^2}{12}k</em>{i-1}\right)y<em>{i-1}
}
{
1+\frac{h^2}{12}k</em>{i+1}
}
$$
对二阶方程的 Taylor 展开到 6 阶，巧妙构造消去误差项：</p><p>$$y<em>{i+1} = \frac{2\left(1 - \frac{5h^2}{12}k</em>i\right)y<em>i - \left(1 + \frac{h^2}{12}k</em>{i-1}\right)y<em>{i-1} + \frac{h^2}{12}(F</em>{i+1} + 10F<em>i + F</em>{i-1})}{1 + \frac{h^2}{12}k_{i+1}}$$</p><p>💡 局部误差正比于 $h^6$，<strong>比 RK4 还高一阶</strong>！</p><h3 id="93-f0-">9.3 特例：F=0 的齐次形式</h3><p>当 $F(x) = 0$（齐次方程 $y&#x27;&#x27; + k(x)y = 0$）：</p><p>$$y<em>{i+1} = \frac{2\left(1 - \frac{5h^2}{12}k</em>i\right)y<em>i - \left(1 + \frac{h^2}{12}k</em>{i-1}\right)y<em>{i-1}}{1 + \frac{h^2}{12}k</em>{i+1}}$$</p><h3 id="94--">9.4 ⚠️ 注意事项</h3><ul><li><strong>需要两个起点值</strong> $y(0)$ 和 $y(h)$ 才能启动——不像 RK4 只要一个值 是<mark class="rounded-md"><span class="px-1">三点递推</span></mark></li><li>通常先知道 $y(0)$ 和 $y&#x27;(0)$，需用其他方法（如 Taylor 展开/RK4走一步）先求出 $y(h)$</li><li>比 RK4 精度高且计算量小（每步只需一次 $k(x)$ 估值）</li></ul><hr/><h2 id="10-schrdinger-">10. Schrödinger 方程数值求解</h2><h3 id="101-">10.1 球对称势的径向方程</h3><p>$$-\frac{\hbar^2}{2m}\frac{d^2u(r)}{dr^2} + \left[V(r) + \frac{\hbar^2 l(l+1)}{2mr^2}\right]u(r) = E u(r)$$</p><p>定义有效势：</p><p>$$
V_{\text{eff}}(r)
=
V(r)+</p><p>\frac{\hbar^2l(l+1)}{2mr^2}
$$
径向方程就是：</p><p>$$
-\frac{\hbar^2}{2m}u&#x27;&#x27;
+
V_{\text{eff}}u
=
Eu
$$
整理成 Numerov 形式：</p><p>$$
u&#x27;&#x27;+
k(r;E)u=0
$$
其中：</p><p>$$
k(r;E)
=
\frac{2m}{\hbar^2}</p><p>\left[
E-V_{\text{eff}}(r)
\right]
$$
也就是：</p><p>$$
k(r;E)
=
\frac{2m}{\hbar^2}
\left[
E-V(r)
\right]
-
\frac{l(l+1)}{r^2}
$$
所以 Schrödinger 径向方程天然适合 Numerov。</p><p>其中 $u(r) = rR(r)$，边界条件：$u(0) = 0,\ u(\infty) \to 0$</p><p>正好利用 上边学到的Numerov方法！！！</p><h3 id="102-">10.2 打靶法求解束缚态</h3><p>束缚态能量要求离散！！！</p><p>单纯从 $r=0$ 往外积分有问题：</p><ul><li>如果 $E$ 不准，远处通常指数发散；</li><li>即使 $E$ 很准，数值误差也可能激发发散解。</li></ul><p>所以常用双向积分。</p><hr/><h4 id="-outward">向外积分 Outward</h4><p>从小 $r=\epsilon$ 开始，使用原点行为：</p><p>$$
u_{\text{out}}(r)\sim r^{l+1}
$$
可以取：</p><p>$$
u(\epsilon)=\epsilon^{l+1}
$$
然后用 Taylor 或 RK4/Numerov 得到第二个点，开始向外积分。</p><hr/><h4 id="-inward">向内积分 Inward</h4><p>在足够大的 $R_{\max}$ 处，束缚态远处衰减。</p><p>如果远处势能趋于 0，且束缚态 $E&lt;0$，则：</p><p>$$
u&#x27;&#x27;+\frac{2mE}{\hbar^2}u\approx 0
$$
因为 $E&lt;0$，令：</p><p>$$
\kappa=\sqrt{\frac{-2mE}{\hbar^2}}
$$
则：</p><p>$$
u&#x27;&#x27;-\kappa^2 u=0
$$
解为：</p><p>$$
u(r)=Ae^{-\kappa r}+Be^{\kappa r}
$$
束缚态要求不发散，所以：</p><p>$$
u(r)\sim e^{-\kappa r}
$$
因此在 $R_{\max}$ 取：</p><p>$$
u<em>{\text{in}}(R</em>{\max})=e^{-\kappa R<em>{\max}}
$$
然后从 $R</em>{\max}$ 向内积分到匹配点 $r_m$。</p><hr/><h4 id="">匹配条件</h4><p>因为线性方程的解可以整体乘任意常数，所以不能直接要求：</p><p>$$
u<em>{\text{out}}(r</em>m)=u<em>{\text{in}}(r</em>m)
$$
因为振幅可以缩放。</p><p>真正关键是形状要一致，也就是对数导数一致：</p><p>$$
\frac{u<em>{\text{out}}&#x27;(r</em>m)}{u<em>{\text{out}}(r</em>m)}
=
\frac{u<em>{\text{in}}&#x27;(r</em>m)}{u<em>{\text{in}}(r</em>m)}
$$
定义匹配函数：</p><p>$$
F(E)=
\frac{u<em>{\text{out}}&#x27;(r</em>m)}{u<em>{\text{out}}(r</em>m)}
-
\frac{u<em>{\text{in}}&#x27;(r</em>m)}{u<em>{\text{in}}(r</em>m)}
$$
本征能量满足：</p><p>$$
F(E)=0
$$
等价地，可以写成 Wronskian：</p><p>$$
W(E)
=
u<em>{\text{in}}u</em>{\text{out}}&#x27;
-
u<em>{\text{out}}u</em>{\text{in}}&#x27;
$$
如果两者对数导数相等，则：</p><p>$$
u<em>{\text{in}}u</em>{\text{out}}&#x27;
=
u<em>{\text{out}}u</em>{\text{in}}&#x27;
$$
所以：</p><p>$$
W(E)=0
$$
因此求本征能量就是求：</p><p>$$
W(E)=0
$$
或者：</p><p>$$
F(E)=0
$$
可以用：</p><ul><li>二分法；</li><li>割线法；</li><li>牛顿法；</li><li>节点数扫描。</li></ul><pre class=""><code class="">寻找束缚态本征解流程：
1. 从 r=0 向外积分 (outward integration)
2. 从 r=R∞ 向内积分 (inward integration)  
3. 在大距离 ρₘ 处匹配 (matching point)
4. 要求两个解的 Wronskian 满足：u_in·u_out&#x27; - u_out·u_in&#x27; 连续
5. 调节能量 E，重复上述步骤
→ 找到使匹配条件成立的 E = 本征能量
</code></pre>
<p style="padding:6px 12px;border-left:2px solid #33A6B8;background:#33A6B850;font-style:italic;font-weight:500">Not support render this content in RSS render</p>
<p>💡 <strong>物理直觉</strong>：束缚态能量是离散的——就像吉他弦只有特定频率才能共振。向外积分和向内积分只有在正确的能量 $E_n$ 下才能光滑连接。</p><p>在一维或径向 Sturm-Liouville 问题中，束缚态有节点定理：</p><ul><li>基态没有节点；</li><li>第一激发态有一个节点；</li><li>第二激发态有两个节点；</li><li>依此类推。</li></ul><p>所以扫描能量时，可以通过节点数判断你找到的是哪一个本征态。</p><h3 id="103-">10.3 散射态与共振态</h3><ul><li><strong>散射边界条件</strong>：$u(r) \sim \sin(kr + \delta)$，提取相移 $\delta$</li><li><strong>共振态</strong>：能量为复数 $E - i\Gamma/2$，相移突然增加 $\pi/2$</li><li>求解方法：复标度法 (Complex-scaling)、稳定化法 (Stabilization)、S-矩阵极点法</li></ul><hr/><h2 id="11-green--wronskian">11. Green 函数与 Wronskian</h2><h3 id="111-">11.1 核心问题</h3><p>Green 函数是线性微分方程的“响应函数”。</p><p>考虑：</p><p>$$
L[y]=f(x)</p><p>$$
如果能找到 $G(x,\xi)$ 满足：</p><p>$$
L_x[G(x,\xi)]=\delta(x-\xi)
$$
并满足同样的边界条件，那么解就是：</p><p>$$
y(x)=\int_a^b G(x,\xi)f(\xi),d\xi
$$
设：</p><p>$$
L[y]=y&#x27;&#x27;+k(x)y
$$
边界条件：</p><p>$$
y(a)=0,\qquad y(b)=0
$$
我们要构造：</p><p>$$
G&#x27;&#x27;(x,\xi)+k(x)G(x,\xi)=\delta(x-\xi)
$$
当 $x\neq \xi$ 时：</p><p>$$
\delta(x-\xi)=0
$$
所以 Green 函数在左右两边都满足齐次方程：</p><p>$$
G&#x27;&#x27;+kG=0
$$</p><hr/><h3 id="112-">11.2 构造左右基本解</h3><p>令 $u_&lt;(x)$ 是满足左边界条件的齐次解：</p><p>$$
u<em>&lt;(a)=0
$$
令 $u</em>&gt;(x)$ 是满足右边界条件的齐次解：</p><p>$$
u_&gt;(b)=0
$$
于是 Green 函数可以写成：</p><p>$$
G(x,\xi)
=
\begin{cases}
A(\xi)u<em>&lt;(x), &amp; x&lt;\xi\
B(\xi)u</em>&gt;(x), &amp; x&gt;\xi
\end{cases}
$$
因为：</p><ul><li>$x&lt;\xi$ 时要满足左端边界；</li><li>$x&gt;\xi$ 时要满足右端边界。</li></ul><hr/><h3 id="113-">11.3 连续条件</h3><p>Green 函数本身必须连续。</p><p>如果 $G$ 在 $x=\xi$ 处跳跃，那么 $G&#x27;$ 会有 delta，$G&#x27;&#x27;$ 会有 delta 的导数 $\delta&#x27;$，而方程右边只有 $\delta$，没有 $\delta&#x27;$。</p><p>所以：</p><p>$$
G(\xi^-,\xi)=G(\xi^+,\xi)
$$
即：</p><p>$$
A u<em>&lt;(\xi)=B u</em>&gt;(\xi)</p><p>$$</p><hr/><h3 id="114-">11.4 导数跳跃条件</h3><p>对方程在 $\xi-\epsilon$ 到 $\xi+\epsilon$ 积分：</p><p>$$
\int<em>{\xi-\epsilon}^{\xi+\epsilon}
\left[
G&#x27;&#x27;+kG
\right]dx
=
\int</em>{\xi-\epsilon}^{\xi+\epsilon}
\delta(x-\xi),dx
$$
右边：</p><p>$$
1
$$
左边第一项：</p><p>$$
\int G&#x27;&#x27;dx
=
G&#x27;(\xi^+)-G&#x27;(\xi^-)
$$
第二项：</p><p>$$
\int kG,dx
\to 0
$$
因为区间长度趋于 0，且 $G$ 有限。</p><p>所以：</p><p>$$
G&#x27;(\xi^+)-G&#x27;(\xi^-)=1
$$
代入左右表达式：</p><p>$$
G&#x27;(\xi^-)=A u_&lt;&#x27;(\xi)
$$
因此：</p><p>$$
B u<em>&gt;&#x27;(\xi)-A u</em>&lt;&#x27;(\xi)=1
$$</p><hr/><h3 id="115--ab">11.5 解出 $A,B$</h3><p>我们有：</p><p>$$
A u<em>&lt;(\xi)=B u</em>&gt;(\xi)
$$
所以：</p><p>$$
A=\frac{B u<em>&gt;(\xi)}{u</em>&lt;(\xi)}
$$
代入跳跃条件：</p><p>$$
B u<em>&gt;&#x27;(\xi)
-
\frac{B u</em>&gt;(\xi)}{u<em>&lt;(\xi)}u</em>&lt;&#x27;(\xi)
=
1
$$
提取 $B$：</p><p>$$
B
\left[
u<em>&gt;&#x27;(\xi)
-
\frac{u</em>&gt;(\xi)u<em>&lt;&#x27;(\xi)}{u</em>&lt;(\xi)}
\right]
=
1
$$
通分：</p><p>$$
B
\frac{
u<em>&lt;(\xi)u_&gt;&#x27;(\xi)
-
u</em>&gt;(\xi)u<em>&lt;&#x27;(\xi)
}
{u</em>&lt;(\xi)}
=
1
$$
定义 Wronskian：</p><p>$$
W(\xi)
=
u<em>&lt;(\xi)u_&gt;&#x27;(\xi)
-
u</em>&gt;(\xi)u_&lt;&#x27;(\xi)
$$
于是：</p><p>$$
B\frac{W(\xi)}{u_&lt;(\xi)}=1
$$
所以：</p><p>$$
B=\frac{u_&lt;(\xi)}{W(\xi)}
$$
再由连续条件：</p><p>$$
A=\frac{u_&gt;(\xi)}{W(\xi)}
$$
因此：</p><p>$$
G(x,\xi)
=
\begin{cases}
\dfrac{u<em>&lt;(x)u_&gt;(\xi)}{W(\xi)}, &amp; x&lt;\xi\[8pt]
\dfrac{u</em>&lt;(\xi)u_&gt;(x)}{W(\xi)}, &amp; x&gt;\xi
\end{cases}
$$
如果方程没有一阶导数项，Wronskian 是常数，所以也可以写成：</p><p>$$
W
$$
而不写 $W(\xi)$。</p><hr/><hr/><h3 id="117-green-">11.7 Green 函数和本征值的关系</h3><p>如果：</p><p>$$
W=0 
$$
说明  u<em>{&lt;}  和  u</em>{&gt;} 线性相关。</p><p>也就是说存在非零解同时满足左右边界条件。</p><p>这正是本征值问题的条件。</p><p>所以：</p><blockquote><p>Green 函数的分母 $W$ 在本征值处为零。</p></blockquote>
<p>这也解释了物理中常说：</p><blockquote><p>Green 函数在能量本征值处有极点。</p></blockquote>
<p><strong>构造流程</strong>（配合 Numerov）：</p><pre class=""><code class="">1. 从 a→b 向外积分齐次方程，得到 u&lt;(x)|满足 a 端边界条件
2. 从 b→a 向内积分齐次方程，得到 u&gt;(x)|满足 b 端边界条件
3. 计算 Wronskian W = u&lt;·u&gt;&#x27; - u&gt;·u&lt;&#x27;
4. 构造 G(x,ξ)，积分求最终解
</code></pre>
<p>💡 <strong>物理直觉</strong>：Green 函数 = 线性响应函数。$G(x,\xi)$ 是&quot;$\xi$ 处的单位脉冲在 $x$ 处引起多大的响应&quot;，与外场 $f$ 无关。这是整个线性响应理论的数学基础。</p><hr/><h2 id="12-finite-difference">12. 有限差分法（Finite Difference）</h2><h3 id="121-">12.1 基本思想</h3><p>将导数用差分代替，把微分方程变成代数方程组。</p><p>一阶和二阶导数的中心差分近似（精度 $O(h^2)$）：</p><p>$u&#x27;(x) = \frac{u(x+h)-u(x-h)}{2h} +O(h^2)$</p><p>$u<em>i&#x27;&#x27; \approx \frac{u</em>{i+1}-2u<em>i+u</em>{i-1}}{h^2}$</p><p>12.2 📐 数值例子：一维泊松方程</p><p>$$-u&#x27;&#x27;(x) = f(x), \quad u(0)=a,\ u(L)=b$$</p><p>离散化【$N$ 个内点（未知），$h = L/(N+1)$ 】：</p><p>通常写成：</p><p>$$
\frac{-u<em>{i-1}+2u</em>i-u<em>{i+1}}{h^2}=f</em>i
$$
其中：</p><p>$$
f<em>i=f(x</em>i)
$$</p><hr/><h4 id="">内部点方程</h4><p>对于 $i=1$：</p><p>$$
\frac{-u<em>0+2u</em>1-u<em>2}{h^2}=f</em>1
$$
因为：</p><p>$$
u_0=a
$$
所以：</p><p>$$
\frac{2u<em>1-u</em>2}{h^2}
=
f_1+\frac{a}{h^2}
$$
对于中间点 $i=2,\dots,N-1$：</p><p>$$
\frac{-u<em>{i-1}+2u</em>i-u<em>{i+1}}{h^2}=f</em>i
$$
对于 $i=N$：</p><p>$$
\frac{-u<em>{N-1}+2u</em>N-u<em>{N+1}}{h^2}=f</em>N
$$
因为：</p><p>$$
u_{N+1}=b
$$
所以：</p><p>$$
\frac{-u<em>{N-1}+2u</em>N}{h^2}
=
f_N+\frac{b}{h^2}
$$</p><h2 id="-"> </h2><p>对于内部点<strong>转化为线性方程组 $A\mathbf{u} = \mathbf{b}$</strong>：</p><p>$$
\frac{1}{h^2}
\begin{pmatrix}
2 &amp; -1 &amp; 0 &amp; \cdots &amp; 0 \
-1 &amp; 2 &amp; -1 &amp; \cdots &amp; 0 \
0 &amp; -1 &amp; 2 &amp; \cdots &amp; 0 \
\vdots &amp; \vdots &amp; \vdots &amp; \ddots &amp; -1 \
0 &amp; 0 &amp; 0 &amp; -1 &amp; 2
\end{pmatrix}
\begin{pmatrix} u<em>1 \ u</em>2 \ u<em>3 \ \vdots \ u</em>N \end{pmatrix}
=
\begin{pmatrix} f<em>1 + a/h^2 \ f</em>2 \ f<em>3 \ \vdots \ f</em>N + b/h^2 \end{pmatrix}
$$</p><p><strong>说人话</strong>：一个二阶 ODE 的边值问题变成了一个三对角线性方程组！用 Thomas 算法 $O(N)$ 秒解，干净利落。</p><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def solve_poisson_1d(a, b, f, L, N):
    &quot;&quot;&quot;解 -u&#x27;&#x27; = f, u(0)=a, u(L)=b&quot;&quot;&quot;
    h = L / (N + 1)
    x = np.linspace(0, L, N+2)
    
    # 构造三对角矩阵 + RHS
    diag = 2 * np.ones(N) / h**2
    off_diag = -np.ones(N-1) / h**2
    rhs = f(x[1:-1])
    rhs[0] += a / h**2
    rhs[-1] += b / h**2
    
    # Thomas 算法 (三对角追赶法)
    # 向前消元
    c_prime = np.zeros(N-1)
    d_prime = np.zeros(N)
    c_prime[0] = off_diag[0] / diag[0]
    d_prime[0] = rhs[0] / diag[0]
    for i in range(1, N):
        if i &lt; N-1:
            denom = diag[i] - off_diag[i-1] * c_prime[i-1]
            c_prime[i] = off_diag[i] / denom
        else:
            denom = diag[i] - off_diag[i-1] * c_prime[i-1]
        d_prime[i] = (rhs[i] - off_diag[i-1] * d_prime[i-1]) / denom
    
    # 回代
    u_interior = np.zeros(N)
    u_interior[-1] = d_prime[-1]
    for i in range(N-2, -1, -1):
        u_interior[i] = d_prime[i] - c_prime[i] * u_interior[i+1]
    
    u = np.zeros(N+2)
    u[0], u[-1] = a, b
    u[1:-1] = u_interior
    return x, u

# 示例：f(x)=sin(x), a=0, b=0, L=π
# u_exact(x) = sin(x) → 验证数值解
</code></pre>
<h3 id="123--vs-">12.3 有限差分法 vs 打靶法</h3><table><thead><tr><th> 特性       </th><th> 打靶法 (Shooting)    </th><th> 有限差分法            </th></tr></thead><tbody><tr><td> 问题类型   </td><td> 转化为 IVP + 迭代    </td><td> 直接离散为线性系统    </td></tr><tr><td> 精度       </td><td> 继承 RK/Numerov 精度 </td><td> $O(h^2)$ 或更高阶差分 </td></tr><tr><td> 非线性方程 </td><td> 需牛顿/割线迭代      </td><td> 需解非线性代数方程    </td></tr><tr><td> 收敛依赖   </td><td> 对初始猜测敏感       </td><td> 依赖网格足够细        </td></tr><tr><td> 适合       </td><td> 一维问题             </td><td> 多维问题扩展性好      </td></tr></tbody></table><p>💡 <strong>口诀</strong>：</p><p><em>一维光滑问题，打靶法很灵活；</em>
 <em>线性边值问题，有限差分很稳；</em>
 <em>多维边值/PDE，有限差分、有限元更主流。</em></p><hr/><h2 id="13-tov-">13. 应用实例：TOV 方程与中子星</h2><h3 id="131-tov--tolman-oppenheimer-volkoff">13.1 TOV 方程 (Tolman-Oppenheimer-Volkoff)</h3><p>广义相对论中描述中子星结构的耦合 ODE 组：</p><p>$$\begin{aligned}
\frac{dP}{dr} &amp;= -\frac{G}{r^2}\frac{<span>[\rho(r) + P(r)/c^2][m(r) + 4\pi r^3 P(r)/c^2]</span>}{1 - 2Gm(r)/(rc^2)} \
\frac{dm}{dr} &amp;= 4\pi r^2 \rho(r)
\end{aligned}$$</p><h3 id="132--eos">13.2 状态方程 (EOS)</h3><p>核物理提供密度-压强关系。简化多方形式：
$$P = K \rho^\gamma$$</p><p>典型参数：$\gamma = 2.75$，$K = 1.982 \times 10^{-6}$ [cgs]</p><h3 id="133-">13.3 求解策略</h3><pre class=""><code class="">初始条件 (r=0):
  ρ(0) 给定（中心密度）
  P(0) = P(ρ(0))  从 EOS 得到
  m(0) = 0

用 RK4 从 r=0 向外积分
→ 每次步进：r → r + dr
  更新 P(r), m(r)（耦合方程组）
→ 直到 P(R) = 0（压力降到零）
→ 此时 R = 中子星半径，M = m(R) = 中子星质量

改变中心密度 ρ(0)，重复 → 得到质量-半径关系
→ 最大质量 ≈ 2-3 倍太阳质量（取决于 EOS）
</code></pre>
<p>💡 <strong>物理直觉</strong>：用 RK4 从恒星中心往外积，密度（因此压力）一路下降。到表面压力为 0 → 这就是星体边界。不同的中心密度 → 不同的总质量 → 找到最大质量（超过此值星体会坍缩为黑洞）。</p><h3 id="134-">13.4 前沿研究</h3><ul><li>Chong-Ji Jiang et al., Chin. Phys. Lett. 2021, 38(5): 052101</li><li>中子星物质状态方程仍是核物理前沿</li><li>引力波观测 (GW170817) 给 EOS 带来新的约束</li></ul><hr/><h2 id="14-">14. 总结对比表</h2><h3 id="141-">14.1 初值问题方法总览</h3><table><thead><tr><th> 方法        </th><th> 类型        </th><th> 局部误差  </th><th> 步数 </th><th> 每步求值   </th><th> 稳定性   </th><th> 典型用途           </th></tr></thead><tbody><tr><td> Euler       </td><td> 显式        </td><td> $O(h^2)$  </td><td> 1    </td><td> 1          </td><td> 差       </td><td> 教学演示           </td></tr><tr><td> Taylor 2阶  </td><td> 显式        </td><td> $O(h^3)$  </td><td> 1    </td><td> 需手动求导 </td><td> 中等     </td><td> 高精度小系统       </td></tr><tr><td> Heun (RK2)  </td><td> 显式        </td><td> $O(h^3)$  </td><td> 1    </td><td> 2          </td><td> 中等     </td><td> 入门级实际计算     </td></tr><tr><td> <strong>RK4</strong>     </td><td> 显式        </td><td> $O(h^5)$  </td><td> 1    </td><td> 4          </td><td> 好       </td><td> ⭐ 工业标准         </td></tr><tr><td> RKF45       </td><td> 显式-自适应 </td><td> $O(h^6)$  </td><td> 1    </td><td> 6          </td><td> 好       </td><td> 自适应步长         </td></tr><tr><td> AB4 (多步)  </td><td> 显式        </td><td> $O(h^5)$  </td><td> 4    </td><td> 1          </td><td> 中等     </td><td> 长时间演化         </td></tr><tr><td> AM3 (多步)  </td><td> 隐式        </td><td> $O(h^5)$  </td><td> 4    </td><td> 1+迭代     </td><td> 好       </td><td> 配合 AB 做 PECE    </td></tr><tr><td> 隐式梯形    </td><td> 隐式        </td><td> $O(h^3)$  </td><td> 1    </td><td> 迭代       </td><td> <strong>极好</strong> </td><td> Stiff 方程         </td></tr><tr><td> Gear        </td><td> 隐式-多步   </td><td> $O(h^3)$~ </td><td> 多步 </td><td> 迭代       </td><td> <strong>极好</strong> </td><td> Stiff 方程标准解   </td></tr><tr><td> <strong>Numerov</strong> </td><td> 专用显式    </td><td> $O(h^6)$  </td><td> 2    </td><td> 1          </td><td> 好       </td><td> 无 $y&#x27;$ 的二阶 ODE </td></tr></tbody></table><h3 id="142-">14.2 边值问题方法总览</h3><table><thead><tr><th> 方法            </th><th> 核心思路        </th><th> 精度            </th><th> 计算量            </th><th> 适用           </th></tr></thead><tbody><tr><td> 线性打靶法      </td><td> 两解叠加        </td><td> 继承积分器精度  </td><td> 两次积分          </td><td> 线性 BVP       </td></tr><tr><td> 非线性打靶+割线 </td><td> 参数搜索        </td><td> 继承积分器精度  </td><td> 多次积分          </td><td> 非线性 BVP     </td></tr><tr><td> Green 函数法    </td><td> 脉冲响应分解    </td><td> 取决于积分方法  </td><td> 构造+积分         </td><td> 线性非齐次 BVP </td></tr><tr><td> 有限差分法      </td><td> 离散→线性方程组 </td><td> $O(h^2)$ 或更高 </td><td> 解三对角/稀疏矩阵 </td><td> 任意 BVP       </td></tr></tbody></table><h3 id="143-">14.3 关键联系与口诀</h3><p style="padding:6px 12px;border-left:2px solid #33A6B8;background:#33A6B850;font-style:italic;font-weight:500">Not support render this content in RSS render</p>
<h3 id="-">📚 核心记忆卡片</h3><table><thead><tr><th> 🔑 概念     </th><th> 💭 一句话总结                         </th></tr></thead><tbody><tr><td> Euler 法   </td><td> 切线代替曲线，最粗糙但最直观         </td></tr><tr><td> RK4        </td><td> 四点取样加权平均，性价比之王         </td></tr><tr><td> 多步法     </td><td> 利用历史信息减少函数求值次数         </td></tr><tr><td> Stiff 方程 </td><td> 快慢分量混杂，显式方法必须小步长     </td></tr><tr><td> 隐式方法   </td><td> 牺牲每步计算量换取大步长稳定性       </td></tr><tr><td> 打靶法     </td><td> 把边值问题转化成带参数搜索的初值问题 </td></tr><tr><td> Numerov    </td><td> 专攻无 y&#x27; 的二阶方程，精度超 RK4     </td></tr><tr><td> Green 函数 </td><td> 系统的&quot;脉冲响应&quot;，线性理论基石       </td></tr><tr><td> 有限差分   </td><td> 导数变差分，ODE 变矩阵方程           </td></tr><tr><td> TOV 方程   </td><td> RK4 积分 + EOS = 中子星质量-半径关系 </td></tr></tbody></table><hr/><p><em>Akuiro 整理补充 · 2026-07-01</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Differential-equation#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Differential-equation</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Differential-equation</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Wed, 01 Jul 2026 13:45:17 GMT</pubDate></item><item><title><![CDATA[数值微分与积分方法]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Numerical-Differentiation-and-Integration-Methods">https://akuiro24.xyz/posts/default/Numerical-Differentiation-and-Integration-Methods</a></blockquote><div><blockquote><p>用离散点的函数值近似连续的微分/积分，通过多项式插值作为桥梁——先从离散点构造插值多项式，再对多项式求导/积分获得数值微分/积分公式。</p></blockquote>
<hr/><h2 id="-">📑 目录</h2><ul><li><a href="#1-插值方法概览">1. 插值方法概览</a></li><li><a href="#2-拉格朗日插值">2. 拉格朗日插值</a></li><li><a href="#3-厄密插值">3. 厄密插值</a></li><li><a href="#4-龙格现象与分段插值">4. 龙格现象与分段插值</a></li><li><a href="#5-三次样条插值">5. 三次样条插值</a></li><li><a href="#6-akima-插值">6. Akima 插值</a></li><li><a href="#7-多维插值">7. 多维插值</a></li><li><a href="#8-分数多项式插值与-padé-近似">8. 分数多项式插值与 Padé 近似</a></li><li><a href="#9-数值微分">9. 数值微分</a></li><li><a href="#10-牛顿-柯特斯积分">10. 牛顿-柯特斯积分</a></li><li><a href="#11-复合积分与变步长积分">11. 复合积分与变步长积分</a></li><li><a href="#12-理查森外推与龙贝格算法">12. 理查森外推与龙贝格算法</a></li><li><a href="#13-高斯积分">13. 高斯积分</a></li><li><a href="#14-wkb-近似">14. WKB 近似</a></li><li><a href="#15-总结对比表">15. 总结对比表</a></li></ul><hr/><h2 id="1-">1. 插值方法概览</h2><pre class=""><code class="">                        ┌─────────────────────────┐
                        │      插值方法体系        │
                        └───────────┬─────────────┘
                                    │
          ┌─────────────┬───────────┼───────────┬─────────────┐
          │             │           │           │             │
    全局多项式插值   分段插值    有理插值    多维插值    函数逼近
    ┌───┴───┐    ┌───┴───┐    ┌──┴──┐    ┌──┴──┐    ┌──┴──┐
    │拉格朗日│    │三次样条│    │分数 │    │双线性│    │Taylor│
    │ Hermite│    │ Akima │    │Padé │    │Kriging│   │Cheby │
    └───────┘    └───────┘    └─────┘    └──────┘    └──────┘
</code></pre>
<p><strong>插值的本质</strong>：已知 N+1 个离散点 (x₀, y₀), (x₁, y₁), ..., (x<em>N, y</em>N)，构造一个&quot;穿过&quot;所有点的光滑函数 P(x)，用 P(x) 来估计任意位置的函数值。</p><table><thead><tr><th> 方法           </th><th> 特点                    </th><th> 适用场景           </th></tr></thead><tbody><tr><td> 拉格朗日插值   </td><td> N+1 个点给出 N 次多项式 </td><td> 点数少、要求高精度 </td></tr><tr><td> Hermite 插值   </td><td> 同时用函数值和导数值    </td><td> 已知导数信息时     </td></tr><tr><td> 三次样条插值   </td><td> 分段三次，二阶连续光滑  </td><td> 点数多、避免振荡   </td></tr><tr><td> Akima 插值     </td><td> 分段三次，无需解方程组  </td><td> 效率要求高         </td></tr><tr><td> 分数多项式插值 </td><td> 有理函数，能处理极点    </td><td> 函数有奇点时       </td></tr><tr><td> 多维插值       </td><td> 推广到二维/三维         </td><td> 网格数据           </td></tr></tbody></table><hr/><h2 id="2-">2. 拉格朗日插值</h2><h3 id="21-">2.1 核心思想</h3><blockquote><p><strong>人话</strong>：给 N+1 个点 $(x₀,y₀)...(x<em>N,y</em>N)$，找一个 N 次多项式 P(x) <strong>恰好穿过</strong>这些点。做法是构造一组&quot;开关函数&quot; ℓ<em>k(x)，每个 ℓ</em>k 在自己那个点等于 1，在其他点等于 0。</p></blockquote>
<h3 id="22-">2.2 插值基函数</h3><p><strong>第 k 个基函数 $ℓ_k(x)$ 的构造</strong>（N+1 个点，k = 0, 1, ..., N）：</p><p>$$
ℓ<em>k(x) = \frac{(x - x₀)}{(x</em>k - x₀)} · \frac{(x - x<em>1)}{(x</em>k - x<em>1)} · ... · \frac{(x - x</em>{k-1})}{(x<em>k - x</em>{k-1})} · (\frac{(x - x<em>{k+1})}{(x</em>k - x<em>{k+1})} · ... ·\frac{(x - x</em>{N})}{(x<em>k - x</em>{N})}
$$</p><blockquote>
<p><strong>中文解释</strong>：分子是 (x - 除了x<em>k以外的所有x</em>i) 连乘，分母是 (x<em>k - 除了x</em>k以外的所有x<em>i) 连乘。当 x=x</em>k 时分子分母完全相同，结果为1；当 x=x<em>i（i≠k）时，分子中有一个因子 (x</em>i - x_i)=0，结果为0。这就是&quot;开关&quot;效果。</p></blockquote>
<h3 id="23-">2.3 插值多项式</h3><p>拉格朗日插值多项式 = 各点函数值 × 对应基函数的加权和：</p><p>$$
P(x) = y₀·ℓ₀(x) + y₁·ℓ₁(x) + ... + y<em>N·ℓ</em>N(x)
$$</p>
<h3 id="24-">2.4 具体数值例子</h3><p><strong>两点插值（直线）</strong>：已知 (x₀=1, y₀=2), (x₁=3, y₁=6)</p><pre class=""><code class="">ℓ₀(x) = (x - 3)/(1 - 3) = -(x-3)/2
ℓ₁(x) = (x - 1)/(3 - 1) =  (x-1)/2

P(x) = 2·ℓ₀(x) + 6·ℓ₁(x)
     = 2·(3-x)/2 + 6·(x-1)/2
     = (3-x) + 3(x-1)
     = 3 - x + 3x - 3
     = 2x                          ← 还原为直线 y=2x ✓
</code></pre>
<p><strong>三点插值（抛物线）</strong>：已知 (x₀=-1, y₀=0), (x₁=0, y₁=1), (x₂=1, y₂=0)</p><pre class=""><code class="">ℓ₀(x) = (x-0)(x-1)/((-1-0)(-1-1)) = x(x-1)/2
ℓ₁(x) = (x+1)(x-1)/((0+1)(0-1))   = -(x+1)(x-1) = 1-x²
ℓ₂(x) = (x+1)(x-0)/((1+1)(1-0))   = x(x+1)/2

P(x) = 0·ℓ₀(x) + 1·ℓ₁(x) + 0·ℓ₂(x)
     = 1 - x²                      ← 还原为抛物线 y=1-x² ✓
</code></pre><blockquote>
<p>💡 <strong>物理直觉</strong>：拉格朗日插值就像用 N+1 个&quot;开关&quot;拼出一个波形。每个基函数是一个&quot;尖峰&quot;——在自己的点等于1、在别人的点等于0。叠加起来后恰好能穿过所有数据点。</p></blockquote>
<h3 id="25-">2.5 插值余项（误差）</h3><blockquote><p><strong>人话</strong>：用 P(x) 代替真实函数 f(x) 的误差有多大？</p></blockquote>
<p><strong>余项公式</strong>（ξ 在 x₀ 和 x_N 之间）：</p><p>$$
R(x) = f(x) - P(x) = \frac{f^{N+1}(ξ)}{(N+1)!}  · (x-x₀)(x-x₁)...(x-x_N)
$$</p>
<p><strong>数值理解</strong>：</p><pre class=""><code class="">误差 = 第(N+1)阶导数的值 / (N+1)的阶乘 × 所有距离的乘积
       ↑ 表示函数的弯曲程度      ↑ 表示点之间的距离效应
</code></pre>
<ul><li>函数越&quot;弯&quot;（高阶导数大）→ 误差越大</li><li>点越多、阶乘越大 → 分母越大 → 误差可能减小</li><li>但！龙格现象会破坏这个直觉（见第4节）</li></ul><hr/><h2 id="3-">3. 厄密插值</h2><h3 id="31-">3.1 核心思想</h3><blockquote><p><strong>人话</strong>：拉格朗日只用了函数值 yₖ。如果还知道每一点的导数 y&#x27;ₖ，就能做得更精确——用 2N+1 次多项式的精度。</p></blockquote>
<h3 id="32-">3.2 插值条件</h3><p>已知 N+1 个点，每个点有 <strong>两个信息</strong>：</p><ul><li>函数值： $f(x<em>{k}) = y</em>{l}$</li><li>一阶导数： $f&#x27;(x<em>{k}) = y^{&#x27;}</em>{k}$</li></ul><p>总共 2N+2 个条件 → 可以确定 2N+1 次多项式！</p><h3 id="33-hermite-">3.3 Hermite 基函数</h3><p>构造两类基函数：</p><ul><li>$hₖ(x)$：在第 k 个点 hₖ(xₖ)=1，且 hₖ&#x27;(xₖ)=0；在其他所有点 hₖ(xⱼ)=0, hₖ&#x27;(xⱼ)=0</li><li>$ĥₖ(x)$：在第 k 个点 ĥₖ(xₖ)=0，且 ĥₖ&#x27;(xₖ)=1；在其他所有点 ĥₖ(xⱼ)=0, ĥₖ&#x27;(xⱼ)=0</li></ul><p>Hermite 插值多项式：</p><p>$$
H(x) = \sum y<em>{k} h</em>{k}(x)  + \sum  y<em>{k}^{&#x27;} \hat{h</em>{k}}
$$</p><p>​                                       ↑ 函数值贡献      ↑ 导数值贡献</p>
<p>设拉格朗日插值基函数为 Li(x)（它在 xi处为1，在其他节点处为0）。我们定义两组新的基函数：</p><ol start="1"><li><strong>A_i(x)</strong>：负责控制<strong>函数值</strong>。它保证在 xi处值为1，导数为0；在其他节点处值为0，导数为0。</li><li><strong>B_i(x)：负责控制</strong>导数值。它保证在 xi处值为0，导数为1；在其他节点处值为0，导数为0。</li></ol><p>公式如下（这是你需要记住的黄金公式）：</p><p>$$
H(x) = \sum<em>{i = 0}^{n} [y</em>i \cdot A<em>{i}(x) + y</em>{i}^{&#x27;} \cdot B_{i}(x)]
$$</p>
<p>其中：</p><p>$$
A<em>i (x) = [1 - 2(x-x</em>i)L<em>{i}^{&#x27;}(x</em>i)] \cdot [L_{i}(x)]^{2}
$$</p><p>$$
B<em>{i}(x) = (x- x</em>i) \cdot [L_i(x)]^{2}
$$</p><blockquote>
<p><strong>直观理解：</strong> 平方项 [Li(x)]^{2} 保证了在其他节点处函数值和导数值都为0（因为平方让一阶导在节点处也为0）。而前面的线性项 1−2... 则是为了“修正”在 xi 处的导数不为0的缺陷，强行将导数调整为0。</p></blockquote>
<h3 id="34--hermite">3.4 数值例子：两点 Hermite</h3><p>已知两个端点 x₀, x₁ 的函数值和导数值：</p><ul><li>f(x₀)=y₀, f&#x27;(x₀)=m₀</li><li>f(x₁)=y₁, f&#x27;(x₁)=m₁</li></ul><pre class=""><code class="">间距: h = x₁ - x₀

H(x) = y₀·φ₀(t) + y₁·φ₁(t) + m₀·h·ψ₀(t) + m₁·h·ψ₁(t)

其中 t = (x - x₀)/h ∈ [0,1]

φ₀(t) = 2t³ - 3t² + 1    (t=0时为1, t=1时为0, 导数均为0)
φ₁(t) = -2t³ + 3t²        (t=1时为1, t=0时为0, 导数均为0)
ψ₀(t) = t³ - 2t² + t      (t=0时导数为1, t=1时导数为0, 值均为0)
ψ₁(t) = t³ - t²            (t=1时导数为1, t=0时导数为0, 值均为0)
</code></pre><blockquote>
<p>💡 <strong>为什么 Hermite 更精确？</strong> 它利用了&quot;速度&quot;信息，就像已知位置和速度来推轨迹比只知位置更准确。在已知导数的场合（如实验数据附带变化率），<strong>Hermite 插值用更少的点达到更高的精度</strong>。</p></blockquote>
<p>即三次插值</p><p>具体的推导</p><p>两个节点 $x<em>{0} , x</em>{1}$</p><p>引入 $t = \frac{x-x<em>{0}}{x</em>1 - x<em>0} , h = x</em>1 - x_0$</p><p>借助上述归一化后 Lagrange插值中 两个最基本的 一次基函数 为：</p><p>$$
L<em>0(x) = \frac{x-x</em>1}{x<em>0-x</em>1} = \frac{h(t-1)}{-h} = 1-t
\
L<em>1(x) = \frac{x-x</em>0}{x<em>1-x</em>0} = t
$$
对于x求导，而非对t求导！！！（回归关于x的等式然后求导即可）</p><p>$$
L<em>0^{&#x27;}(x) = - \frac{1}{h}
\
L</em>1^{&#x27;}(x_1) = \frac{1}{h}
$$
带入公式</p><p>$$
A<em>i (x) = [1 - 2(x-x</em>i)L<em>{i}^{&#x27;}(x</em>i)] \cdot [L_{i}(x)]^{2}
$$</p><p>$$
B<em>{i}(x) = (x- x</em>i) \cdot [L_i(x)]^{2}
$$</p>
<p>可得到</p><p>$$
A<em>1(x) = [1-2(x-x</em>1)L<em>1^{&#x27;}(x</em>1)]\cdot [L<em>1(x)]^{2} = -2t^{3}+3t^2
\
\space
\
A</em>0(x) = [1-2(x-x<em>0)L</em>0^{&#x27;}(x<em>0)]\cdot [L</em>0(x)]^{2} = (1-t)^2 (1+2t) = 2t^3-3t^2+1
\
\space
\
B<em>0(x) = (x-x</em>0)\cdot [L<em>0(x)]^2 = h \cdot (t^3 - t^2 + t)
\
\space
\
b</em>1(t) = h \cdot (t^3 - t^2)
$$
就得到了</p><p>$$
H(t) = y<em>0 (2t^3 - 3t^2 +1) + y</em>1 (-2t^3 + 3t^2) + y<em>0^{&#x27;}\cdot h(t^3 - 2t^2 +t) + y</em>1^{&#x27;}\cdot h(t^3-t^2)
$$</p>
<h2 id="4-">4. 龙格现象与分段插值</h2><h3 id="41-">4.1 龙格现象</h3><blockquote><p><strong>人话</strong>：虽然插值点越多多项式次数越高，但<strong>边缘误差反而爆炸式增长</strong>！</p></blockquote>
<p><strong>龙格函数例子</strong>：f(x) = 1/(1 + x²) 在 [-5, 5] 上等距取点：</p><pre class=""><code class="">取5个点 (N=4)：边缘误差 ≈ 0.4
取9个点 (N=8)：边缘误差 ≈ 0.6
取13个点 (N=12)：边缘误差 ≈ 2.5   ← 越加越糟！
取17个点 (N=16)：边缘误差 ≈ 20    ← 爆炸！
</code></pre>
<pre class=""><code class="">误差趋势（概念图）：

 N=4:     误差 ···  0.4  ···
 N=8:     误差 ······ 0.6 ······
 N=12:    误差 ············· 2.5 ·············
 N=16:    误差 ····························· 20 ···
                                    ↑ 边缘剧烈振荡
</code></pre><blockquote>
<p>💡 <strong>物理直觉</strong>：高次多项式很&quot;硬&quot;——要同时穿过很多点就会在两端剧烈摇摆。真实物理量通常很&quot;光滑&quot;，不需要这么硬的拟合。解决方案：<strong>分段</strong>——每段用低次多项式！</p></blockquote>
<h3 id="42-">4.2 分段插值思路</h3><pre class=""><code class="">不用：一个14次多项式穿过15个点  →  ❌ 边缘振荡严重

改用：把区间切成14段
      每段两个点 → 14条直线  →  ⚠️ 角点不光滑
      每段三个点 → 7条抛物线 →  ⚠️ 连接处导数不连续
      每段四个点+光滑条件 → 三次样条 ✓
</code></pre>
<hr/><h2 id="5-">5. 三次样条插值</h2><h3 id="51-">5.1 核心思想</h3><blockquote><p><strong>人话</strong>：把整个区间切成 N 段，每段用一个三次多项式。除了要求穿过数据点，还要求<strong>相邻段在连接处函数值、一阶导数、二阶导数都相等</strong>——这样整条曲线就像一条柔韧的细木条（旧时绘图用的&quot;样条&quot;）自然弯曲。</p></blockquote>
<h3 id="52-">5.2 构造框架</h3><p>假设 N+1 个数据点 (x₀,y₀), ..., (x<em>N,y</em>N)，共 N 个小区间。</p><p><strong>第 j 段</strong>（区间 [xⱼ, xⱼ₊₁]，j=0,...,N-1）：</p><p>Sⱼ(x) = aⱼ + bⱼ(x-xⱼ) + cⱼ(x-xⱼ)² + dⱼ(x-xⱼ)³</p><p>每段 4 个未知系数，N 段共 <strong>4N 个未知数</strong>。</p><h3 id="53-">5.3 条件清单</h3><table><thead><tr><th> 条件类型                              </th><th> 数量   </th><th> 数学表达式           </th></tr></thead><tbody><tr><td> 插值条件：Sⱼ(xⱼ)=yⱼ, Sⱼ(xⱼ₊₁)=yⱼ₊₁    </td><td> 2N     </td><td> 每段必须穿过两个端点 </td></tr><tr><td> 一阶导数连续：S&#x27;ⱼ(xⱼ₊₁)=S&#x27;ⱼ₊₁(xⱼ₊₁)   </td><td> N-1    </td><td> 内部连接处斜率连续   </td></tr><tr><td> 二阶导数连续：S&#x27;&#x27;ⱼ(xⱼ₊₁)=S&#x27;&#x27;ⱼ₊₁(xⱼ₊₁) </td><td> N-1    </td><td> 内部连接处曲率连续   </td></tr><tr><td> 边界条件                              </td><td> 2      </td><td> 两端各一个           </td></tr><tr><td> <strong>合计</strong>                              </td><td> <strong>4N</strong> </td><td> 恰好确定             </td></tr></tbody></table><h3 id="54-">5.4 具体推导过程</h3><p><strong>对于一个均匀间距 h 的例子</strong>（3个点：x₀=1, x₁=2, x₂=3；y₀=0, y₁=1, y₂=0）：</p><pre class=""><code class="">步骤1：利用连续性条件消去 dⱼ

   S&#x27;&#x27;ⱼ(xⱼ) = 2cⱼ
   S&#x27;&#x27;ⱼ(xⱼ₊₁) = 2cⱼ + 6dⱼ·h = 2cⱼ₊₁ （二阶导数连续）

→ dⱼ = (cⱼ₊₁ - cⱼ) / (3h)    (j=0,...,N-2)

步骤2：利用一阶导数连续性消去 bⱼ

   S&#x27;ⱼ(xⱼ₊₁) = bⱼ + 2cⱼ·h + 3dⱼ·h² = bⱼ₊₁ （一阶导数连续）

→ bⱼ = (yⱼ₊₁ - yⱼ)/h - h·(2cⱼ + cⱼ₊₁)/3

步骤3：得到关于 cⱼ 的三对角方程组

   h·cⱼ₋₁ + 4h·cⱼ + h·cⱼ₊₁ = 3[(yⱼ₊₁ - yⱼ)/h - (yⱼ - yⱼ₋₁)/h]
   
   即 cⱼ₋₁ + 4cⱼ + cⱼ₊₁ = (3/h)·[(yⱼ₊₁-yⱼ)/h - (yⱼ-yⱼ₋₁)/h]
</code></pre>
<h3 id="55-">5.5 三对角矩阵形式</h3><p>对于 N+1 个点（N 个区间），关于 c₁, c₂, ..., c_{N-1} 的方程组：</p><pre class=""><code class="">┌         ┐ ┌    ┐   ┌                                  ┐
│ 4 1 0 0 │ │ c₁ │   │ 3[(y₂-y₁)/h - (y₁-y₀)/h]/h      │
│ 1 4 1 0 │ │ c₂ │   │ 3[(y₃-y₂)/h - (y₂-y₁)/h]/h      │
│ 0 1 4 1 │ │ c₃ │ = │      ...                         │
│ 0 0 1 4 │ │ c₄ │   │ 3[(y₅-y₄)/h - (y₄-y₃)/h]/h      │
└         ┘ └    ┘   └                                  ┘

即：  三对角矩阵 × c向量 = 右端向量（由函数值差分决定）
</code></pre><blockquote>
<p><strong>中文解释</strong>：这是一个<strong>三对角线性方程组</strong>（每行最多3个非零元素），系数矩阵对角线全是 4，上下对角线全是 1，可以用追赶法（Thomas算法）在 O(N) 时间内高效求解。</p></blockquote>
<h3 id="56-">5.6 边界条件</h3><p><strong>自然边界条件</strong>（最常用）：</p><pre class=""><code class="">S&#x27;&#x27;(x₀) = 2c₀ = 0  →  c₀ = 0
S&#x27;&#x27;(x_N) = 2c_N = 0  →  c_N = 0
</code></pre>
<p>这样第一行和最后一行的方程变为：</p><pre class=""><code class="">第一行：4c₁ + c₂ = 右端
最后行：c_{N-2} + 4c_{N-1} = 右端
</code></pre>
<p><strong>一次微分边界条件</strong>：给定两端的一阶导数值 S&#x27;(x₀)=y&#x27;₀, S&#x27;(x<em>N)=y&#x27;</em>N：</p><pre class=""><code class="">2c₀ + c₁ = (3/h)·[(y₁-y₀)/h - y&#x27;₀]
c_{N-1} + 2c_N = (3/h)·[y&#x27;_N - (y_N-y_{N-1})/h]
</code></pre><blockquote>
<p>💡 <strong>物理直觉</strong>：自然边界条件相当于说&quot;样条两端可以自由弯曲、不受力矩约束&quot;——就像一根细木条，两端不加拧紧的力。这是物理上最自然的状态，也是默认选择。</p></blockquote>
<h3 id="57-">5.7 算法流程</h3><pre class=""><code class="">输入: N+1 个点 (x₀,y₀)...(x_N,y_N)
输出: 每段的系数 aⱼ,bⱼ,cⱼ,dⱼ

步骤1: 计算间距 hⱼ = xⱼ₊₁ - xⱼ
步骤2: 构造三对角方程组 → 求 c₀,...,c_N
步骤3: 回代求 bⱼ 和 dⱼ
步骤4: aⱼ = yⱼ（直接已知）

伪代码:
for j = 0 to N-1:
    h[j] = x[j+1] - x[j]
    
for j = 1 to N-1:   // 构造右端项
    rhs[j] = 3/h * ( (y[j+1]-y[j])/h - (y[j]-y[j-1])/h )

solve_tridiagonal()  → c[0],...,c[N]

for j = 0 to N-1:
    d[j] = (c[j+1] - c[j]) / (3*h)
    b[j] = (y[j+1]-y[j])/h - h*(2*c[j]+c[j+1])/3
    a[j] = y[j]
</code></pre>
<hr/><h2 id="6-akima-">6. Akima 插值</h2><h3 id="61-">6.1 核心思想</h3><blockquote><p><strong>人话</strong>：也是分段三次插值，但不解方程组！直接用<strong>局部数据估算导数</strong>，然后用 Hermite 两点插值公式拼出曲线。</p></blockquote>
<p><strong>Akima 插值的优势</strong>：</p><ul><li>✅ 计算极快（不需要求解方程组）</li><li>✅ 天然局部性——修改一个点只影响相邻几段</li><li>✅ 有效避免振荡</li></ul><h3 id="62-">6.2 一阶导数的估计</h3><p>对于点 i，用相邻 4 个点的差分斜率做<strong>加权平均</strong>得到导数估计：</p><pre class=""><code class="">sᵢ = (yᵢ₊₁ - yᵢ) / (xᵢ₊₁ - xᵢ)     ← 右侧斜率
sᵢ₋₁ = (yᵢ - yᵢ₋₁) / (xᵢ - xᵢ₋₁)   ← 左侧斜率

y&#x27;ᵢ = (|sᵢ₊₁ - sᵢ|·sᵢ₋₁ + |sᵢ₋₁ - sᵢ₋₂|·sᵢ) / (|sᵢ₊₁ - sᵢ| + |sᵢ₋₁ - sᵢ₋₂|)
</code></pre>
<p><strong>权重逻辑</strong>：</p><pre class=""><code class="">导数 = 左侧斜率 × 右侧变化剧烈度 + 右侧斜率 × 左侧变化剧烈度
       ────────────────────────────────────────────────────────
                    左右变化剧烈度之和

- 右侧变化剧烈 → 更多信赖左侧信息
- 左侧变化剧烈 → 更多信赖右侧信息
- 左右都平滑 → 平均
</code></pre>
<h3 id="63-">6.3 防止除零</h3><p>当分母 |sᵢ₊₁ - sᵢ| + |sᵢ₋₁ - sᵢ₋₂| = 0 时（连续三个斜率相同）：</p><pre class=""><code class="">y&#x27;ᵢ = (sᵢ₋₁ + sᵢ) / 2     ← 直接取平均
</code></pre>
<h3 id="64-">6.4 构造插值</h3><p>得到每个数据点的一阶导数后，每段 [xᵢ, xᵢ₊₁] 用<strong>两点 Hermite 插值</strong>公式：</p><pre class=""><code class="">已知: f(xᵢ)=yᵢ, f(xᵢ₊₁)=yᵢ₊₁, f&#x27;(xᵢ)=y&#x27;ᵢ, f&#x27;(xᵢ₊₁)=y&#x27;ᵢ₊₁

Sᵢ(x) = yᵢ·φ₀(t) + yᵢ₊₁·φ₁(t) + y&#x27;ᵢ·h·ψ₀(t) + y&#x27;ᵢ₊₁·h·ψ₁(t)
其中 t = (x-xᵢ)/h, h = xᵢ₊₁-xᵢ
      φ₀,φ₁,ψ₀,ψ₁ 为 Hermite 基函数（与 §3.4 相同）
</code></pre><blockquote>
<p>💡 <strong>算法思路</strong>：Akima = <strong>局部导数加权估计</strong> + <strong>Hermite 分段拼接</strong>。省掉了样条插值中解三对角方程组那步，因此计算量从 O(N) 进一步降低——但这个 O(N) 本身就很快了，Akima 真正的优势是<strong>局部性</strong>：修改一个数据点后不需要重算整条曲线。</p></blockquote>
<h3 id="65-">6.5 边界处理</h3><p>在端点处需要额外的数据来估算导数：</p><ul><li>左端点：用最左 3 个点的二次外推估计导数</li><li>右端点：用最右 3 个点的二次外推估计导数</li></ul><hr/><h2 id="7-">7. 多维插值</h2><h3 id="71-">7.1 双线性插值</h3><blockquote><p><strong>人话</strong>：二维表格数据，先沿 x 方向插值，再沿 y 方向插值（或反过来），结果等价。</p></blockquote>
<p><strong>场景</strong>：已知网格四点 f(x₀,y₀), f(x₁,y₀), f(x₀,y₁), f(x₁,y₁)，求中间点 f(x,y)。</p><pre class=""><code class="">策略1（逐方向插值）：

Step 1: 在 y=y₀ 这行沿 x 插值
        f(x,y₀) = f(x₀,y₀)·(x₁-x)/Δx + f(x₁,y₀)·(x-x₀)/Δx

        在 y=y₁ 这行沿 x 插值
        f(x,y₁) = f(x₀,y₁)·(x₁-x)/Δx + f(x₁,y₁)·(x-x₀)/Δx

Step 2: 用上面两个结果沿 y 插值
        f(x,y) = f(x,y₀)·(y₁-y)/Δy + f(x,y₁)·(y-y₀)/Δy

        Δx = x₁-x₀,  Δy = y₁-y₀
</code></pre>
<p><strong>面积权重理解</strong>（另一种等价的看法）：</p><pre class=""><code class="">把点 (x,y) 到四个角连成四个小矩形：
f(x,y) = f₁₁·A₁₁ + f₁₀·A₁₀ + f₀₁·A₀₁ + f₀₀·A₀₀

其中 A 是 (x,y) 到对角的矩形面积占整个网格面积的比例
权重之和 = 1（距离归一化到单位1）
</code></pre>
<h3 id="72-">7.2 推广到三维</h3><p>三维插值 = 先做二维插值得到若干平面上的值，再沿第三方向插值。方法可递推。</p><h3 id="73-">7.3 散点数据方法</h3><table><thead><tr><th> 方法                  </th><th> 思路           </th><th> 特点             </th></tr></thead><tbody><tr><td> 回归分析              </td><td> 最小二乘拟合   </td><td> 全局光滑         </td></tr><tr><td> Kriging（克里金法）   </td><td> 空间统计插值   </td><td> 地质统计标准方法 </td></tr><tr><td> Radial Basis Function </td><td> 径向基函数加权 </td><td> 灵活处理散点     </td></tr></tbody></table><blockquote><p>💡 <strong>延伸思考</strong>：均匀网格的双线性插值在图像缩放中无处不在（cv2.resize 的 INTER_LINEAR 就是它），因为计算极快且效果可接受。</p></blockquote>
<hr/><h2 id="8--pade-">8. 分数多项式插值与 Padé 近似</h2><h3 id="81-">8.1 有理函数插值</h3><blockquote><p><strong>人话</strong>：普通多项式遇到函数有极点（分母为零）时会很糟糕。用<strong>分子/分母</strong>形式的有理函数 R(x) 可以自然描述极点行为——分母的零点就是极点。</p></blockquote>
<p><strong>形式</strong>：</p><p>R(x) = P(x)/Q(x)，其中 P 是 u 次多项式，Q 是 v 次多项式</p><p>通过 m+1 = u+v+1 个数据点来确定系数。</p><h3 id="82-pade-">8.2 Padé 近似</h3><blockquote><p><strong>人话</strong>：给定函数的 Taylor 展开，找一个分子 u 次 + 分母 v 次的有理函数，使得<strong>有理函数展开后的前 u+v 项与 Taylor 展开完全相同</strong>。</p></blockquote>
<p><strong>构造</strong>（令 b₀=1）：</p><pre class=""><code class="">函数 f(x) 的 Taylor 级数：
f(x) = a₀ + a₁·x + a₂·x² + a₃·x³ + ...

Padé 近似 R(x) = (p₀ + p₁x + ... + p_u x^u) / (1 + b₁x + ... + b_v x^v)

要求：R(x) 展开后前 u+v+1 项系数与 Taylor 展开一致
</code></pre>
<p><strong>系数求解 — 线性方程组</strong>：</p><pre class=""><code class="">对于 k ≥ u+1:
a_k + a_{k-1}·b₁ + a_{k-2}·b₂ + ... + a_{k-v}·b_v = 0

这是关于 b₁,b₂,...,b_v 的方程组（v 个方程解 v 个未知数）

解出 b_i 后回代得到 p₀,...,p_u:
p₀ = a₀
p₁ = a₁ + a₀·b₁
p₂ = a₂ + a₁·b₁ + a₀·b₂
...
</code></pre>
<p><strong>数值例子</strong>：f(x) = eˣ 的 Padé [1,1] 近似</p><pre class=""><code class="">Taylor: eˣ = 1 + x + x²/2 + x³/6 + ...

设 R(x) = (p₀ + p₁x) / (1 + b₁x)

方程（k=2）: a₂ + a₁·b₁ = 0
→ 1/2 + 1·b₁ = 0
→ b₁ = -1/2

回代：p₀ = a₀ = 1
      p₁ = a₁ + a₀·b₁ = 1 + 1·(-1/2) = 1/2

因此 R(x) = (1 + x/2) / (1 - x/2)
         = (2+x)/(2-x)

验证：展开 R(x) = 1 + x + x²/2 + x³/4 + ...
      其中前3项与 eˣ 完全相同！
</code></pre><blockquote>
<p>💡 <strong>为什么 Padé 好？</strong> Padé 在极点附近表现远优于 Taylor 截断。例如 1/(1-x) 在 x≈1 附近，Taylor 需要很多项才收敛，而 Padé [0,1] = 1/(1-x) 直接就对了。</p></blockquote>
<hr/><h2 id="9-">9. 数值微分</h2><h3 id="91-">9.1 核心思想</h3><blockquote><p><strong>人话</strong>：从拉格朗日插值多项式 P(x) 出发，直接对 P(x) 求导得到数值微分公式。P(x) 是对 f(x) 的近似，所以 P&#x27;(x) 就是对 f&#x27;(x) 的近似。</p></blockquote>
<h3 id="92-">9.2 两点公式（前向差分）</h3><p><strong>从两点插值推导</strong>：已知 f(x) 和 f(x+h) 在 $x_0$ 的取值</p><pre class=""><code class="">插值: P(x) = f(x₀)·(x₁-x)/h + f(x₁)·(x-x₀)/h
求导: P&#x27;(x) = [-f(x₀) + f(x₁)] / h

f&#x27;(x₀) ≈ [f(x₀+h) - f(x₀)] / h     ← 前向差分 (Forward Difference)
</code></pre>
<p><strong>误差</strong>：O(h) —— 一阶精度</p><h3 id="93-">9.3 三点公式</h3><p><strong>三点中点公式</strong>（误差 O(h²)，最常用）：</p><p>已知：f(x-h), f(x), f(x+h)</p><pre class=""><code class="">f&#x27;(x) ≈ [f(x+h) - f(x-h)] / (2h)       ← 中心差分，O(h²)
</code></pre>
<p><strong>三点端点公式</strong>（用于边界）：</p><pre class=""><code class="">f&#x27;(x₀) ≈ [-3f(x₀) + 4f(x₁) - f(x₂)] / (2h)      ← 左端点，O(h²)
f&#x27;(x₂) ≈ [f(x₀) - 4f(x₁) + 3f(x₂)] / (2h)       ← 右端点，O(h²)
</code></pre>
<p><strong>数值验证</strong>：f(x) = x³，在 x=1 处，h=0.1</p><pre class=""><code class="">真实值: f&#x27;(1) = 3

中点公式: [f(1.1) - f(0.9)] / 0.2 = (1.331 - 0.729) / 0.2 = 3.01
                                    误差 ≈ 0.01 = O(h²) ✓

前向差分: [f(1.1) - f(1)] / 0.1 = (1.331 - 1) / 0.1 = 3.31
                                    误差 ≈ 0.31 = O(h) ✓
</code></pre><blockquote>
<p>📊 对比：</p><ul><li>前向/后向差分 O(h)：用 2 点，精度一般，适合简单估算</li><li>中心差分 O(h²)：用 3 点，精度高一阶，最常用</li><li>五点公式 O(h⁴)：用 5 点，精度更高，但需更多数据</li></ul></blockquote>
<h3 id="94-">9.4 五点公式</h3><p><strong>五点中点公式</strong>：</p><pre class=""><code class="">f&#x27;(x₀) ≈ [f(x₀-2h) - 8f(x₀-h) + 8f(x₀+h) - f(x₀+2h)] / (12h)
</code></pre>
<p><strong>权重系数</strong>：[-1, +8, 0, -8, +1] / (12h)，关于中心点<strong>反对称</strong>。</p><p><strong>五点端点公式</strong>：</p><pre class=""><code class="">f&#x27;(x₀) ≈ [-25f(x₀) + 48f(x₁) - 36f(x₂) + 16f(x₃) - 3f(x₄)] / (12h)
</code></pre>
<p><strong>系数表</strong>（对于等距点 x₀, x₀+h, x₀+2h, x₀+3h, x₀+4h）：</p><table><thead><tr><th> 位置     </th><th> 系数 × 12h </th><th> 说明 </th></tr></thead><tbody><tr><td> x₀       </td><td> -25        </td><td> 最左 </td></tr><tr><td> x₁       </td><td> +48        </td><td>      </td></tr><tr><td> x₂       </td><td> -36        </td><td>      </td></tr><tr><td> x₃       </td><td> +16        </td><td>      </td></tr><tr><td> x₄       </td><td> -3         </td><td> 最右 </td></tr><tr><td> <strong>精度</strong> </td><td> <strong>O(h⁴)</strong>  </td><td>      </td></tr></tbody></table><h3 id="95-">9.5 二阶微分</h3><p><strong>三点公式</strong>（从二阶泰勒展开推导）：</p><pre class=""><code class="">f&#x27;&#x27;(x) ≈ [f(x+h) - 2f(x) + f(x-h)] / h²       ← 中心差分，O(h²)
</code></pre>
<p><strong>五点二阶微分公式</strong>：</p><pre class=""><code class="">f&#x27;&#x27;(x) ≈ [-f(x+2h) + 16f(x+h) - 30f(x) + 16f(x-h) - f(x-2h)] / (12h²)
</code></pre>
<p><strong>系数</strong>：[-1, +16, -30, +16, -1] / (12h²)，关于中心点<strong>对称</strong>。</p>
<h4 id="--"><mark class="rounded-md"><span class="px-1">除了从插值多项式求导，还可以先做样条插值 → 对样条函数直接解析求导，这样得到的导数在整个区间连续且光滑。</span></mark></h4><h5 id="">样条插值微分的优雅解决方案：</h5><ol start="1"><li><strong>全局拟合</strong>：我们先用上一节学到的<strong>三次样条插值（Cubic Spline）</strong>，将所有数据点拟合成一条全局光滑的曲线。 在每一个区间上，我们都得到了一个极其平滑的解析函数： $S<em>j(x) = a</em>j + b<em>j(x-x</em>j) + c<em>j(x-x</em>j)^2 + d<em>j(x-x</em>j)^3$</li><li><strong>解析求导</strong>：因为我们已经求出了所有的系数 $a<em>j, b</em>j, c<em>j, d</em>j$，所以我们可以<strong>直接在数学上对这个三次多项式求导</strong>，得到一阶和二阶导数： $S&#x27;<em>j(x) = b</em>j + 2c<em>j(x-x</em>j) + 3d<em>j(x-x</em>j)^2$ $S&#x27;&#x27;<em>j(x) = 2c</em>j + 6d<em>j(x-x</em>j)$</li></ol><h5 id="">这样做的巨大优势：</h5><ul><li><strong>全局一阶连续性</strong>：在所有数据点的拼接处，样条插值本身就强制要求了一阶和二阶导数的连续性。因此，你求出来的导数曲线 $S&#x27;(x)$ 将是<strong>一条完全无缝、平滑的连续曲线</strong>，而不会像普通差分法那样在点与点之间出现不连续的跳跃。</li><li><strong>天然的去噪抗噪性</strong>：样条插值在求解三对角方程组时，相当于把每一个点的变动通过全局约束“平摊”到了整根铁丝上，它具有物理上最小弯曲能量的限制，因此它对局部的噪声点具有极强的过滤作用。求导出来的结果远比直接做差分要稳定得多！</li></ul><hr/><h2 id="10--">10. 牛顿-柯特斯积分</h2><h3 id="101-">10.1 核心思想</h3><blockquote><p><strong>人话</strong>：从拉格朗日插值多项式出发，直接对整个插值多项式求定积分。</p><p>∫f(x)dx ≈ ∫P(x)dx。因为多项式积分有解析公式，所以得到的就是<strong>加权和</strong>形式的数值积分公式。</p></blockquote>
<p>数值积分！！！ 工程计算中 很核心的广泛应用的领域</p><p>News-Cotes Formulas</p><h3 id="102-">10.2 通用形式</h3><p>对于一个复杂的连续函数 f(x) 无法直接求出原函数 就利用一个好积分的函数去近似 f(x) 然后对于近似的函数求取积分 —— 好的函数 就是 多项式（插值前面的方法）</p><p>设我们在等距分点  $x<em>k = a + k \cdot h$  (其中 步长为  $h = \frac{b-a}{n}$  ) 构造一个 n次的的拉格朗日多项式  $P</em>{n}(x)$</p>
<p>$$
f(x) \sim P<em>{n}(x) = \sum</em>{k = 0}^{n} f(x<em>k) L</em>k(x)
$$
L(x) 就是Lagrange 基函数：</p>
<p>$$
L<em>{k}(x) = \prod</em>{i=0, i \ne k}^{n} \frac{x- x<em>i}{x</em>k - x_i}
$$
现在 我们对这个多项式 在 范围 a 到 b上 进行求和积分：</p>
<p>$$
\int<em>{a}^{b} f(x) dx \approx \int</em>{a}^{b} P<em>n(x) dx = \int</em>{a}^{b} \sum<em>{k=0}^{n} f(x</em>k) L_k(x) dx
$$</p>
<p>由于积分是线性算子，我们可以将积分号与求和号对调，把<strong>已知的节点值 $f(x_k)$ 提出来</strong>：</p>
<p>$$
\int<em>{a}^{b} f(x) dx \approx \sum</em>{k=0}^{n} f(x<em>k) \underbrace{\int</em>{a}^{b} L<em>k(x) dx}</em>{A_k}
$$</p>
<p>此为 N-C通用形式的由来！</p><p>积分值完全等价于 各个节点值  $f(x_{k})$  的<strong>加权和</strong></p><p>权重  $A<em>k = \int</em>{a}^{b} L_k(x) dx$。</p><p>我们对其进行自变量代换，令  $x = a + t \cdot h$（其中 $t \in [0, n]$），则  $dx = h \cdot dt$</p>
<p>$$
A<em>k = h \cdot \int</em>{0}^{n} \prod<em>{i=0, i \neq k}^{n} \frac{t - i}{k - i} dt = (b-a) \cdot \underbrace{\frac{1}{n} \int</em>{0}^{n} \prod<em>{i=0, i \neq k}^{n} \frac{t - i}{k - i} dt}</em>{C_k^{(n)}}
$$</p>
<p>这里，<strong>$C_k^{(n)}$ 就是著名的柯特斯系数（Cotes Coefficients）</strong>。它满足：</p><ul><li><strong>与 $f(x)$ 毫无关系</strong>，只与插值阶数 $n$ 以及节点索引 $k$ 有关。</li><li><strong>对称性</strong>：$C<em>k^{(n)} = C</em>{n-k}^{(n)}$（这是由基函数关于中心点对称的代数结构决定的）。</li><li><strong>归一性</strong>：$\sum<em>{k=0}^{n} C</em>k^{(n)} = 1$（因为如果 $f(x) = 1$，多项式插值是完全精确的，此时积分值为 $(b-a)$，代入上式必然要求系数和为 1）。</li></ul><h3 id="103-">10.3 常用低阶公式</h3><h4 id="1-n12">(1) 梯形公式（n=1，2点）</h4><p>步长 $h = b-a$，节点为 $x<em>0 = a, x</em>1 = b$。</p><p>拉格朗日基函数为：  $L<em>0(x) = \frac{x - x</em>1}{x<em>0 - x</em>1} = \frac{b - x}{b - a}$  $L<em>1(x) = \frac{x - x</em>0}{x<em>1 - x</em>0} = \frac{x - a}{b - a}$</p><p>求它们的积分： $A<em>0 = \int</em>{a}^{b} \frac{b - x}{b - a} dx = \frac{1}{b-a} \left[ bx - \frac{1}{2}x^2 \right]<em>{a}^{b} = \frac{(b-a)^2}{2(b-a)} = \frac{b-a}{2}$ 同理，由于对称性， $A</em>1 = \frac{b-a}{2}$。</p><p>所以，我们极其自然地得到了梯形公式： $\int_{a}^{b} f(x) dx \approx \frac{b-a}{2} [f(a) + f(b)]$</p><p>柯特斯系数为  $[C<em>0^{(1)}, C</em>1^{(1)}] = [\frac{1}{2}, \frac{1}{2}]$</p><pre class=""><code class="">区间 [x₀, x₁]，h = x₁-x₀
积分 ≈ h × [f(x₀) + f(x₁)] / 2
系数: C₀^(1) = C₁^(1) = 1/2
</code></pre>
<p>几何意义：用梯形面积代替曲线下面积。</p><p><strong>误差</strong>：$O(h³·f&#x27;&#x27;(ξ))$，有 1 次代数精度（对一次多项式精确）。</p><p><strong>具体数值</strong>：∫₀¹ x² dx，h=1</p><pre class=""><code class="">梯形: 1 × [0² + 1²]/2 = 0.5
真实值: 1/3 ≈ 0.333
误差 ≈ 0.167
</code></pre>
<h4 id="2-simpson-n23">(2) Simpson 公式（n=2，3点，抛物线法则）</h4><p>步长 $h = \frac{b-a}{2}$，三个节点分别为：$x<em>0 = a$，$x</em>1 = \frac{a+b}{2}$，$x_2 = b$。</p><p>为了简化积分计算，我们做无损平移，让中点 $x<em>1$ 落在原点 $0$ 上。 此时，三个节点变为：$-h, 0, h$。 我们来写出 $L</em>1(x)$ 的表达式：</p><p> $L<em>1(x) = \frac{(x - x</em>0)(x - x<em>2)}{(x</em>1 - x<em>0)(x</em>1 - x_2)} = \frac{(x + h)(x - h)}{(0 + h)(0 - h)} = \frac{h^2 - x^2}{h^2}$</p><p>对 $L_1(x)$ 进行在 $[-h, h]$ 上的积分：</p><p> $A<em>1 = \int</em>{-h}^{h} \frac{h^2 - x^2}{h^2} dx = \frac{1}{h^2} \left[ h^2 x - \frac{1}{3}x^3 \right]_{-h}^{h} = \frac{1}{h^2} \left( 2h^3 - \frac{2}{3}h^3 \right) = \frac{4}{3}h$</p><p>由于总区间长度为 $b-a = 2h$，所以： $A<em>1 = \frac{2}{3}(b-a) \implies C</em>1^{(2)} = \frac{2}{3} = \frac{4}{6}$</p><p>由对称性，另外两个系数 $A<em>0 = A</em>2$。 又因为所有系数和必须为 $b-a = 2h$，所以： $A<em>0 + A</em>2 = 2h - \frac{4}{3}h = \frac{2}{3}h \implies A<em>0 = A</em>2 = \frac{1}{3}h = \frac{b-a}{6}$ 即 $C<em>0^{(2)} = C</em>2^{(2)} = \frac{1}{6}$。</p><p><mark class="rounded-md"><span class="px-1"><strong>Simpson 公式诞生：</strong></span></mark></p>
<p>$$
\int_{a}^{b} f(x) dx \approx \frac{b-a}{6} [f(a) + 4f\left(\frac{a+b}{2}\right) + f(b)]
$$</p>
<pre class=""><code class="">区间 [x₀, x₁, x₂]，h = (b-a)/2
积分 ≈ (b-a)/6 × [f(x₀) + 4f(x₁) + f(x₂)]
系数: C₀^(2) = 1/6, C₁^(2) = 2/3, C₂^(2) = 1/6
等价于: h/3 × [1, 4, 1] · [f₀, f₁, f₂]ᵀ
</code></pre>
<p><strong>具体数值</strong>：</p><p> $\int_{0}^{2} x^{2} dx ，h=1$</p><pre class=""><code class="">三个点: x₀=0, x₁=1, x₂=2
f₀=0, f₁=1, f₂=4

Simpson: 2/6 × [0 + 4×1 + 4] = (2/6)×8 = 8/3 ≈ 2.667
真实值: 8/3 ≈ 2.667  ← 精确！(x²是2次多项式，Simpson有3次精度)
</code></pre>
<p><strong>误差</strong> ：  $O(h⁵·f⁽⁴⁾(ξ))$，有 3 次代数精度。</p><p><strong>代数精度（Degree of Precision）</strong>：</p><blockquote><p><strong>定义</strong>：如果一个数值积分公式对于任意次数不超过 $m$ 的多项式都能<strong>完全精确地</strong>成立，而对于 $m+1$ 次多项式不精确，则称该公式具有 <strong>$m$ 次代数精度</strong>。</p></blockquote>
<p>按照常理，我们用 $n$ 次拉格朗日多项式去近似函数并做积分，得到的公式应该刚好能对 $n$ 次多项式精确，即具有 $n$ 次代数精度。</p><ul><li>比如梯形公式（$n=1$）对 $f(x)=x$ 精确，代数精度为 $1$。</li></ul><p><strong>但是，Simpson公式（$n=2$）创造了一个数学奇迹！</strong> 它使用的是二次插值（抛物线），理论上只能对二次多项式精确。但是，<strong>它对任意三次多项式 $f(x) = x^3$ 居然也是完美精确的！</strong> 它的代数精度是 3</p><p>为什么会平空多出一阶精度？</p><p>我们用泰勒展开在对称中心 $x_1$ 处对误差项进行分析。</p><p>由于 Simpson 公式的节点在几何上是<strong>完全对称</strong>的，当我们把积分误差展开成泰勒级数时，<strong>所有奇数阶的误差项会因为正负抵消而彻底消失</strong>！</p><p>具体来说，对于 $f(x) = x^3$，其三阶导数 $f&#x27;&#x27;&#x27;(x)$ 是个常数，其四阶导数 $f^{(4)}(x) = 0$。 而 Simpson 公式的截断误差公式为： $R[f] = -\frac{(b-a)^5}{2880} f^{(4)}(\xi)$ 因为 $f^{(4)}(\xi) = 0$，所以对于任何三次多项式，其误差<strong>严格为零</strong>。</p><blockquote><p>💡 <strong>黄金规律</strong>：对于<strong>等距节点且对称</strong>的 Newton-Cotes 公式，当阶数 $n$ 为<strong>偶数</strong>时，其代数精度总是为 <strong>$n+1$</strong>。它会无条件向高处赠送一阶精度！</p><p>这就是为什么大家极度钟爱偶数点公式（如 Simpson 公式、五点柯特斯公式）的根本原因。</p></blockquote><blockquote>
<p>📝 <strong>推导练习提示</strong>：把拉格朗日 L₂(x) 带入积分 ∫L₂(x)dx，化简即得 Simpson 公式。</p></blockquote>
<h4 id="3-n45">(3) 柯特斯公式（n=4，5点）</h4><pre class=""><code class="">区间 [x₀, ..., x₄]，h = (b-a)/4
积分 ≈ (b-a)/90 × [7f(x₀) + 32f(x₁) + 12f(x₂) + 32f(x₃) + 7f(x₄)]
系数: ×(b-a): [7/90, 32/90, 12/90, 32/90, 7/90]
       ≈ [0.078, 0.356, 0.133, 0.356, 0.078]
</code></pre>
<p><strong>误差</strong>：O(h⁷·f⁽⁶⁾(ξ))，有 5 次代数精度。</p><h3 id="104--">10.4 牛顿-柯特斯系数表</h3><table><thead><tr><th> n    </th><th> 系数 (× 分母)                   </th><th> 分母 </th><th> 精度阶 </th></tr></thead><tbody><tr><td> 1    </td><td> [1, 1]                          </td><td> 2    </td><td> 1      </td></tr><tr><td> 2    </td><td> [1, 4, 1]                       </td><td> 6    </td><td> 3      </td></tr><tr><td> 3    </td><td> [1, 3, 3, 1]                    </td><td> 8    </td><td> 3      </td></tr><tr><td> 4    </td><td> [7, 32, 12, 32, 7]              </td><td> 90   </td><td> 5      </td></tr><tr><td> 5    </td><td> [19, 75, 50, 50, 75, 19]        </td><td> 288  </td><td> 5      </td></tr><tr><td> 6    </td><td> [41, 216, 27, 272, 27, 216, 41] </td><td> 840  </td><td> 7      </td></tr></tbody></table><blockquote><p>💡 <strong>注意</strong>：n 越大不一定越好！n≥8 时柯特斯系数出现负数，导致舍入误差放大（与龙格现象类似的原因）。实用中都用<strong>复合低阶公式</strong>。</p></blockquote>
<p>在插值法那一章，我们学过<strong>龙格现象（Runge&#x27;s Phenomenon）</strong>：在等距节点下，高阶多项式会在边界处产生剧烈的、病态的往复震荡 [9.4, 10.5]。</p><p>由于 Newton-Cotes 的权重 $A<em>k$ 本质上就是对拉格朗日基函数 $L</em>k(x)$ 的积分： 当 $n \ge 8$ 时，由于高阶插值在边界处的急剧震荡，基函数在某些区域的值会变得极大且为负数。这直接导致积分出来的柯特斯系数 <strong>$C_k$ 出现了负数</strong> [10.3, 10.5]。</p><p>为什么系数出现负数是致命的？</p><p>设我们在计算机中进行数值积分，每个点上的函数值都有微小的舍入误差 $\epsilon<em>k$（由计算机双精度浮点数限制产生）。 我们实际计算出的加权和为： $I</em>{\text{calc}} = \sum<em>{k=0}^{n} A</em>k (f(x<em>k) + \epsilon</em>k) = \sum<em>{k=0}^{n} A</em>k f(x<em>k) + \sum</em>{k=0}^{n} A<em>k \epsilon</em>k$</p><p>根据误差传播理论，最终积分结果的误差方差正比于： $\sum<em>{k=0}^{n} A</em>k^2$</p><ul><li><strong>当所有 $A_k$ 均为正数时</strong>（由于 $\sum A<em>k = b-a$）： 所有的 $A</em>k$ 都比较小，平方和 $\sum A_k^2$ 也会非常小。误差被平摊并受到了抑制。</li><li><strong>当某些 $A_k$ 变为负数时</strong>： 由于所有系数的和必须依然等于 $(b-a)$，这会导致其余正的系数必须<strong>变得非常大</strong>（例如，有些系数变成 $+10$，有些变成 $-9$，它们加起来还是 $1$）。 但在计算平方和时，负号消失了： $(+10)^2 + (-9)^2 = 100 + 81 = 181 \gg 1$ ——&gt; 这意味着，<strong>输入数据中哪怕只有 $10^{-16}$ 的极其微小的舍入误差，乘以这些巨大的正负权重后，也会在求和过程中被急剧放大，导致最终的积分结果完全失真！</strong></li></ul><p>解决方案：复合低阶公式（Composite Rules）</p><p>为了避免高阶公式的灾难，我们在实际中<strong>绝不使用单段的高阶 Newton-Cotes 公式</strong>。 
相反，我们会把大区间 $[a, b]$ 劈成 $M$ 个极小的子区间。在每一个子区间上，我们只使用极其稳定、绝对不会产生负系数的<strong>低阶公式（如复合梯形公式或复合 Simpson 公式）</strong>，最后把所有子区间的积分值累加起来。 这样既保证了计算的极度稳定，又可以通过增加分点来无限逼近真实积分值。</p>
<h2 id="11-">11. 复合积分与变步长积分</h2><h3 id="111-">11.1 复合积分思想</h3><blockquote><p><em>一大段区间用高阶公式不如切成很多小段、每段用低阶公式，然后把结果加起来。这就是&quot;复合&quot;求积公式。</em></p></blockquote>
<h3 id="112--simpson-">11.2 复合 Simpson 公式</h3><h4 id="">代数拼装推导</h4><p>假设我们将大区间 $[a, b]$ 等分为 $n$ 个小段（注意：因为 Simpson 公式本身需要 $3$ 个点才能构成一个子抛物线，所以小区间数 $n$ <strong>必须是偶数</strong>）。 步长 $h = \frac{b-a}{n}$。我们把这 $n$ 个区间<strong>两两成对地结合</strong>起来，一共拼成 $M = n/2$ 个双步长区间：</p><ul><li><strong>第 1 对</strong>：$[x<em>0, x</em>2]$，它的三个点是 $x<em>0, x</em>1, x_2$。</li><li><strong>第 2 对</strong>：$[x<em>2, x</em>4]$，它的三个点是 $x<em>2, x</em>3, x_4$。</li><li><strong>第 3 对</strong>：$[x<em>4, x</em>6]$，它的三个点是 $x<em>4, x</em>5, x_6$。</li><li>$\dots$</li><li><strong>最后 1 对</strong>：$[x<em>{n-2}, x</em>n]$，它的三个点是 $x<em>{n-2}, x</em>{n-1}, x_n$。</li></ul><p>在每一对上，我们单独套用一次单步长为 $h$ 的标准 Simpson 公式：</p><p>$\int<em>{x</em>0}^{x<em>2} f(x)dx \approx \frac{h}{3} [1 \cdot f(x</em>0) + 4 \cdot f(x<em>1) + 1 \cdot f(x</em>2)]$</p><p>$\int<em>{x</em>2}^{x<em>4} f(x)dx \approx \frac{h}{3} [1 \cdot f(x</em>2) + 4 \cdot f(x<em>3) + 1 \cdot f(x</em>4)]$</p><p>$\int<em>{x</em>4}^{x<em>6} f(x)dx \approx \frac{h}{3} [1 \cdot f(x</em>4) + 4 \cdot f(x<em>5) + 1 \cdot f(x</em>6)]$</p><p>$\dots$</p><p>$\int<em>{x</em>{n-2}}^{x<em>n} f(x)dx \approx \frac{h}{3} [1 \cdot f(x</em>{n-2}) + 4 \cdot f(x<em>{n-1}) + 1 \cdot f(x</em>n)]$</p><p>最后，我们把这所有的子区间积分<strong>全部加起来</strong>。 <strong>注意看那些相接的边界点（偶数下标点，如 $x<em>2, x</em>4, x_6 \dots$）！</strong></p><ul><li>节点 $x_1$ 只有第 1 对区间用到，权重为 $4$。</li><li>节点 $x_2$ <strong>既是第 1 对区间的右端点，又是第 2 对区间的左端点</strong>。因此，它的权重被加了两次：$1 + 1 = 2$！</li><li>同理，所有<strong>奇数下标</strong>的节点（ $x<em>1, x</em>3, x_5 \dots$）都正好落在各自抛物线段的内部，权重永远保持为 $4$；</li><li>所有<strong>偶数下标</strong>的节点（ $x<em>2, x</em>4, x<em>6 \dots$），除了最首端的 $x</em>0$ 和最末端的 $x_n$ 之外，全部是<strong>两个抛物线的交界点</strong>，所以权重全部变成 $1+1=2$。</li></ul><p>因此，复合 Simpson 的系数形式被无缝地拼接出来：</p>
<p>$$
\int<em>a^b f(x)dx \approx \frac{h}{3} \left[ f</em>0 + f<em>n + 4\sum</em>{\text{奇数 } i} f<em>i + 2\sum</em>{\text{偶数 } i \neq 0,n} f_i \right]
$$</p>
<p>将 [a,b] 等分成 n 个<strong>子区间</strong>（n 为偶数），每个子区间 [x<em>{2k-2}, x</em>{2k}] 用 Simpson 公式：</p><pre class=""><code class="">步长 h = (b-a)/n

∫_a^b f(x)dx ≈ 
h/3 × [ f₀ + f_n + 4(f₁+f₃+...+f_{n-1}) + 2(f₂+f₄+...+f_{n-2}) ]
      首      尾      奇数下标(×4)            偶数下标(×2，除首尾)
</code></pre>
<p><strong>系数模式</strong>：1 → 4 → 2 → 4 → 2 → ... → 4 → 2 → 4 → 1</p>
<p><strong>具体数值例子</strong>： $\int_{0}^{4} x² dx$，分成 4 段 (n=4)，h=1</p><pre class=""><code class="">分点: x₀=0, x₁=1, x₂=2, x₃=3, x₄=4
f值:     0,    1,    4,    9,   16

复合Simpson:
= 1/3 × [0 + 16 + 4×(1+9) + 2×(4)]
= 1/3 × [16 + 40 + 8]
= 1/3 × 64 = 64/3 ≈ 21.333

真实值: 4³/3 = 64/3 ≈ 21.333  ← 精确！
</code></pre>
<h3 id="113-">11.3 误差估计</h3><p>在数值积分中，误差阶通常被写成 $O(h^p)$</p><table><thead><tr><th> 公式         </th><th> 误差阶 </th><th> n加倍后误差缩小 </th></tr></thead><tbody><tr><td> 复合梯形     </td><td> O(h²)  </td><td> 1/4             </td></tr><tr><td> 复合 Simpson </td><td> O(h⁴)  </td><td> 1/16            </td></tr><tr><td> 复合柯特斯   </td><td> O(h⁶)  </td><td> 1/64            </td></tr></tbody></table><p>假设我们正在用复合 Simpson 求解一个积分。</p><p>当我们把划分的段数 $n$ <strong>加倍</strong>（意味着网格步长 $h$ 缩小到了原来的一半 $h<em>{\text{new}} = \frac{1}{2}h</em>{\text{old}}$）：</p><p> 因为复合 Simpson 拥有 $O(h^4)$ 的高精度收敛性，其截断误差中包含一个 $h^4$ 的因子。</p>
<p>$$
\text{Error}<em>{\text{new}} \approx C \cdot \left(\frac{h}{2}\right)^4 = C \cdot \frac{h^4}{16} = \frac{1}{16} \text{Error}</em>{\text{old}}
$$
这意味你只需要付出双倍的计算量，误差就会<strong>瞬间暴跌至原来的 $\frac{1}{16}$（大约降低了一个数量级还要多）</strong>！ 这就是高阶复合积分公式在实际工程中展现出的恐怖威力。</p><h3 id="114-">11.4 变步长积分</h3><blockquote><p>不知道用多大的步长合适，从大步长开始，不断二分，直到相邻两次计算结果足够接近。</p><p>不断二分网络 通过“新结果”与“旧结果” 的差值，实时自我估算 当前的绝对误差！</p></blockquote>
<p>设原本有 $n$ 段，步长为 $h$。它的复合梯形公式结果为：</p><p>$T<em>n = h \left[ \frac{1}{2}f(a) + f(x</em>1) + f(x<em>2) + \dots + f(x</em>{n-1}) + \frac{1}{2}f(b) \right]$</p><p>现在，我们把每一段一分为二，步长变为 $h_{\text{new}} = \frac{h}{2}$，段数变成 $2n$。</p><p> 新增加的那些中点我们记为 $x<em>{1/2}, x</em>{3/2}, \dots, x_{n-1/2}$（共 $n$ 个新增中点）。</p><p>现在我们写出全新的 $T<em>{2n}$（它一共有 $2n+1$ 个点，我们依然把<strong>老点</strong>和<strong>新点</strong>在括号里剥离开）： $T</em>{2n} = h<em>{\text{new}} \cdot \left{ \underbrace{\left[ \frac{1}{2}f(a) + f(x</em>1) + \dots + \frac{1}{2}f(b) \right]}<em>{\text{所有老点组成的项}} + \underbrace{\sum f(\text{所有新中点})}</em>{\text{所有新点组成的项}} \right}$</p><p>因为 $h<em>{\text{new}} = \frac{1}{2} h$，我们把括号前面的 $h</em>{\text{new}}$ 分配进去：</p><ul><li>第一项变成了： $\frac{1}{2} h \cdot \left[ \frac{1}{2}f(a) + f(x<em>1) + \dots + \frac{1}{2}f(b) \right]$     **这正是  $\frac{1}{2}T</em>n$！ **</li><li>第二项保持原样： $h_{\text{new}} \cdot \sum f(\text{所有新中点})$。</li></ul><p>于是，我们极其自然地得到了这个递推公式 [11.4]：</p>
<p>$$
T<em>{2n} = \frac{1}{2} T</em>n + h_{\text{new}} \sum f\left( 新增中点 \right)
$$</p>
<p><strong>变步长梯形算法流程</strong>：</p><pre class=""><code class="">步骤1: 初始 n=1
    T₁ = (b-a)·[f(a)+f(b)]/2   ← 一个梯形

步骤2: n 翻倍，利用旧结果
    T₂ₙ = Tₙ/2 + h_new × (新增中点的函数值之和)
    新增中点在: a+h/2, a+3h/2, a+5h/2, ...

步骤3: 检查收敛
    如果 |T₂ₙ - Tₙ| &lt; ε  → 停止
    否则 → 回到步骤2
</code></pre>
<p><strong>收敛判定</strong>：二分后误差 ≈ 原误差 / 4（对梯形法）</p><p>$如果 |T₂ₙ - Tₙ| &lt; ε，则近似积分误差 ≈ |T₂ₙ - Tₙ|/3 &lt; ε/3。$</p><p><strong>为什么这里平空冒出了一个除以 3？</strong></p><p>这个结论叫做<mark class="rounded-md"><span class="px-1"><strong>理查森外推（Richardson Extrapolation）估算</strong></span></mark>，它的推导极其经典：</p><p>我们知道复合梯形公式的真实值 $I$ 与其近似值 $T<em>n$ 之间的关系可以写成（其中 $C$ 是与步长无关的常数）： $(1) \quad I - T</em>n = C \cdot h^2 + O(h^4)$</p><p>当我们将区间数加倍到 $2n$ 时，新步长变为了 $\frac{h}{2}$。新近似值 $T<em>{2n}$ 与真实值的关系为： $(2) \quad I - T</em>{2n} = C \cdot \left(\frac{h}{2}\right)^2 + O(h^4) = \frac{1}{4} C \cdot h^2 + O(h^4)$</p><p>我们现在用方程 $(1)$ 减去方程 $(2)$，以此消去未知积分真实值 $I$： $T<em>{2n} - T</em>n = \left( C \cdot h^2 \right) - \left( \frac{1}{4} C \cdot h^2 \right) = \frac{3}{4} C \cdot h^2$</p><p>由此，我们解出了未知的常量 $C \cdot h^2$： $C \cdot h^2 = \frac{4}{3} (T<em>{2n} - T</em>n)$</p><p>我们把这个解出来的 $C \cdot h^2$ 重新代回到方程 $(2)$ 中，去看看<strong>当前最新计算出来的 $T_{2n}$ 距离真实值 $I$ 到底还差多少</strong>：</p><p>$\text{当前实际误差} = |I - T<em>{2n}| \approx \frac{1}{4} C \cdot h^2 = \frac{1}{4} \cdot \left[ \frac{4}{3} (T</em>{2n} - T<em>n) \right] = \frac{1}{3} |T</em>{2n} - T_n|$</p><p><strong>证毕！</strong> 这个推导简直妙不可言：<strong>我们无法得知积分的真实值 $I$，但我们通过两次近似结果的差值 $|T<em>{2n} - T</em>n|$，就能极其精准地估算出当前的实际截断误差恰好就是差值的 $\frac{1}{3}$！</strong> [11.4]</p><p>因此，只要我们在程序里监测到 $|T<em>{2n} - T</em>n| &lt; \epsilon$（比如 $3 \times 10^{-6}$），我们就能百分之百自信地确信：当前最新的估算值 $T_{2n}$ 的实际误差绝对不会超过 $\frac{\epsilon}{3}$（即 $10^{-6}$）！我们可以立刻安全地终止程序，输出结果。这就是变步长数值积分的精髓所在。</p><hr/><h2 id="12-">12. 理查森外推与龙贝格算法</h2><h3 id="121-">12.1 理查森外推思想</h3><blockquote><p><strong>人话</strong>：一个近似量的误差可以写成 h² 的级数，那么用两个不同步长计算出的结果，可以&quot;消除&quot;最低阶误差项，得到更高精度的近似。</p></blockquote>
<h3 id="122-">12.2 外推原理</h3><p>数值微分/积分公式的误差可以写成 h 的偶次幂级数：</p><pre class=""><code class="">D(h) = D_exact + A·h² + B·h⁴ + C·h⁶ + ...
                     ↑ 用两个不同h消掉这项
</code></pre>
<p><strong>消去 h² 项</strong>：用步长 h 和 h/2 各算一次</p><pre class=""><code class="">D_exact ≈ D(h/2) + [D(h/2) - D(h)] / 3          ← 精度提升两阶！

或者记作: D^(1) = (4·D(h/2) - D(h)) / 3
</code></pre>
<p><strong>这就是理查森一阶外推公式！</strong></p><p>$$
 D^{(1)} = \frac{4 \cdot D\left(\frac{h}{2}\right) - D(h)}{3} = D\left(\frac{h}{2}\right) + \frac{D\left(\frac{h}{2}\right) - D(h)}{3}
$$</p>
<ul><li><strong>精度跃升</strong>：原来的 $D(h)$ 和 $D(\frac{h}{2})$ 都只有二阶精度 $O(h^2)$。</li><li>但通过这个极其简单的线性组合，我们<strong>不费吹灰之力，将最低阶误差项 $h^2$ 彻底消灭</strong>，得到的 $D^{(1)}$ 精度瞬间暴涨到了 <strong>四阶精度 $O(h^4)$</strong> ！</li></ul><h3 id="123-">12.3 数值例子（微分外推）</h3><p><strong>用中心差分计算 f&#x27;(1)，f(x)=sin x</strong>：</p><pre class=""><code class="">步长 h=0.4:
  D(0.4) = [sin(1.4)-sin(0.6)]/0.8
         = (0.9854-0.5646)/0.8 = 0.5260

步长 h=0.2:
  D(0.2) = [sin(1.2)-sin(0.8)]/0.4
         = (0.9320-0.7174)/0.4 = 0.5365

外推一次: D_exact ≈ D(0.2) + [D(0.2)-D(0.4)]/3
                 = 0.5365 + 0.0105/3 = 0.5400

真实值: cos(1) = 0.5403    ← 外推后精度大幅提升！
原始误差 0.0142 → 0.0003
</code></pre>
<h3 id="124-romberg-">12.4 Romberg 积分</h3><p>理查德外推 可以将精度提升两阶的好用的东西 那么 Romberg积分 就是把这一手段无限嵌套、循环使用的终极策略！！！</p><blockquote><p>理查森外推 + 复合梯形公式 = Romberg 积分。</p><p>梯形法逐次二分 → 用不同步长的结果外推 → 精度跃升。</p></blockquote>
<h4 id="romberg">Romberg算法的直观理解：</h4><p>复合梯形公式 $T_0(h)$ 的精度是 $O(h^2)$</p><p>如果我们把 $T<em>0(h)$ 和 $T</em>0(\frac{h}{2})$ 进行一次理查森外推，消去 $h^2$ 项，得到的新结果其精度为 $O(h^4)$。在数学上，这个结果<strong>恰好等价于复合 Simpson 公式 $T_1(h)$ 的值</strong> ！</p><p>同理，既然我们有了好几个不同步长的 Simpson 值 $T<em>1(h)$ 和 $T</em>1(\frac{h}{2})$（精度均为 $O(h^4)$），那我们能不能<strong>对它们再做一次外推</strong>，消去 $h^4$ 项？ 可以！外推后，精度再次暴涨两阶，达到 $O(h^6)$，这<strong>恰好等价于复合 Cotes 公式 $T_2(h)$</strong>。</p><p>以此类推，我们对 Cotes 的值再做外推，就能得到拥有 <strong>$O(h^8)$ 恐怖精度</strong>的 Romberg 值 $T_3(h)$ ！</p><p><strong>Romberg 表格（T-表）</strong>：</p><pre class=""><code class="">第0列(T₀): 复合梯形     O(h²)
第1列(T₁): Simpson       O(h⁴)   = (4×T₀(h/2) - T₀(h)) / 3
第2列(T₂): Cotes         O(h⁶)   = (16×T₁(h/2) - T₁(h)) / 15
第3列(T₃): Romberg       O(h⁸)   = (64×T₂(h/2) - T₂(h)) / 63
</code></pre>
<h4 id="">核心递推公式</h4><p>$$
T<em>{j}^{k} = \frac{4^{j} · T</em>{j-1}^{k+1} - T_{j-1}^{k} }{(4^{j} - 1)} 
$$
j ：代表列 精度阶数 也就是 外推了多少次</p><p>k：代表行 区间划分次数 即二分了多少次</p><pre class=""><code class="">         j = 0            j = 1            j = 2            j = 3
         梯形列           Simpson列         Cotes列         Romberg列
       (原始计算)        (一阶外推)        (二阶外推)        (三阶外推)
   ─────────────────────────────────────────────────────────────</code></pre><p>k = 0 (1段)       T_0^(0) ──┐</p><pre class=""><code class="">                        │</code></pre><p>k = 1 (2段)       T<em>0^(1) ──┴───→   T</em>1^(0) ──┐</p><pre class=""><code class="">                        │                                        │</code></pre><p>k = 2 (4段)       T<em>0^(2) ──┴───→   T</em>1^(1) ──┴───→   T_2^(0) ──┐</p><pre class=""><code class="">                        │                                       │                                         │</code></pre><p>k = 3 (8段)       T<em>0^(3) ──┴───→   T</em>1^(2) ──┴───→   T<em>2^(1) ──┴───→   T</em>3^(0)</p><p>现在你再去看这个外推公式： $T<em>{\color{blue}j}^{({\color{red}k})} = \frac{4^j \cdot T</em>{{\color{blue}j-1}}^{({\color{red}k+1})} - T_{{\color{blue}j-1}}^{({\color{red}k})}}{4^j - 1}$</p><p>就会发现，要计算一个新位置 $T<em>j^{(k)}$，它<strong>只依赖于它左边那一列（$j-1$）的两个相邻数</strong>[3](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHrO</em>dU0IjeJA36Ow<em>X-VRqo5zcVhObNFI9sYsP7dO8zlvYwpXn8TIbzrgEnQZbpw4vcrMk</em>3iJxD98WXCWHNL5JnK5w6XkyIHpiBX6tP6jOZy9CgNJYY8WiSWrON-kGn7QGoWG32KmdA<em>-8Q9N314fM</em>4=)：</p><ul><li>一个是它<strong>左下方</strong>的数： $T_{j-1}^{(k+1)}$</li><li>一个是它<strong>正左方</strong>的数： $T_{j-1}^{(k)}$</li></ul><p><strong>我们要算 Simpson 列的第一项 $T_1^{(0)}$ ( $j=1, k=0$)</strong>：</p><p>我们需要它左下方的 $T<em>0^{(1)}$ 和正左方的 $T</em>0^{(0)}$： $T<em>1^{(0)} = \frac{4 \cdot T</em>0^{(1)} - T_0^{(0)}}{3}$</p><p><strong>我们要算 Cotes 列的第一项 $T_2^{(0)}$ ( $j=2, k=0$)</strong> [12.5]：</p><p>我们需要它左下方的 $T<em>1^{(1)}$ 和正左方的 $T</em>1^{(0)}$： $T<em>2^{(0)} = \frac{16 \cdot T</em>1^{(1)} - T_1^{(0)}}{15}$</p>
<p>可以来拆解下不同列 就是 不同 j 时候的具体的代数形式：</p><p>1、j = 1  （k = 0 做一次二分）从梯形外推到 Simpson：</p><p>带入数值 可以得到</p><p>$T<em>{1}^{(k)} = \frac{4\cdot T</em>0(h/2)- T_0(h)}{3}$</p><p>用来消去 $h^2$ 项的标准理查森外推公式</p><p>当 $j=2$ 时（从 Simpson 外推到 Cotes）：</p><p>因为此时我们要消去的是 $h^4$ 项，它的误差变化比例是 $\left(\frac{1}{2}\right)^4 = \frac{1}{16}$。</p><p>所以我们要用系数 $16$ 来消元 [12.4]：</p><p> $T<em>2^{(k)} = \frac{4^2 \cdot T</em>1^{(k+1)} - T<em>1^{(k)}}{4^2 - 1} = \frac{16 \cdot T</em>1(h/2) - T_1(h)}{15}$</p><p> 当 $j=3$ 时（从 Cotes 外推到 Romberg）：</p><p>消去 $h^6$ 项，误差变化比例是 $\left(\frac{1}{2}\right)^6 = \frac{1}{64}$</p><p>$T<em>3^{(k)} = \frac{4^3 \cdot T</em>2^{(k+1)} - T<em>2^{(k)}}{4^3 - 1} = \frac{64 \cdot T</em>2(h/2) - T_2(h)}{63}$</p><p><strong>数学的和谐之美在此处展现得淋漓尽致</strong>。所有的外推步骤都被优雅地统一在了一个极其简单的公式 $T_j^{(k)}$ 中。在写代码时，只需要两层循环，就能把整张 Romberg 表源源不断地算出来。</p><h3 id="125-romberg-">12.5 Romberg 完整数值例子</h3><p><strong>计算 ∫₀¹ 1/(1+x) dx = ln 2 ≈ 0.693147</strong></p><pre class=""><code class="">步骤1 — 逐次二分梯形:

n=1, h=1:
  T₀^(0) = 1·[1 + 1/2]/2 = 0.750000

n=2, h=0.5:
  T₀^(1) = 0.5/2·[1 + 2×(1/1.5) + 1/2]
         = 0.25·[1 + 1.3333 + 0.5] = 0.708333

n=4, h=0.25:
  T₀^(2) = 0.25/2·[1 + 2×(1/1.25+1/1.5+1/1.75) + 1/2]
         = 0.125·[1 + 4.0762 + 0.5] = 0.697024

n=8, h=0.125:
  T₀^(3) = ... = 0.694122

步骤2 — Romberg 外推:

Simpson列:
  T₁^(0) = (4×0.708333 - 0.75)/3 = 0.694444
  T₁^(1) = (4×0.697024 - 0.708333)/3 = 0.693254
  T₁^(2) = (4×0.694122 - 0.697024)/3 = 0.693155

Cotes列:
  T₂^(0) = (16×0.693254 - 0.694444)/15 = 0.693175
  T₂^(1) = (16×0.693155 - 0.693254)/15 = 0.693148

Romberg列:
  T₃^(0) = (64×0.693148 - 0.693175)/63 = 0.693147 ← 精度极高！
</code></pre>
<p><strong>Romberg T-表可视化</strong>：</p><pre class=""><code class="">k    梯形 O(h²)    Simpson O(h⁴)   Cotes O(h⁶)    Romberg O(h⁸)
0    0.750000
1    0.708333      0.694444
2    0.697024      0.693254        0.693175
3    0.694122      0.693155        0.693148        0.693147
</code></pre><blockquote>
<p>💡 <strong>物理直觉</strong>：Romberg 就像&quot;梯度下降&quot;逼近真实值——每一步二分梯形只提供 O(h²) 精度，但两次二分结果组合一下就能跃升到 O(h⁴)，再组合到 O(h⁶)...到最后只用梯形公式算 8 段就能达到 O(h⁸) 精度！</p></blockquote>
<hr/><h2 id="13-">13. 高斯积分</h2><h3 id="131-">13.1 核心思想</h3><blockquote><p>牛顿-柯特斯用 n+1 个<strong>等距</strong>点达到最多 n+1 次代数精度。但如果允许节点位置<strong>自由选择</strong>，用同样的 n+1 个点可以达到 2n+1 次代数精度！——这就是高斯积分的精髓。</p></blockquote>
<p><strong>直观对比</strong>：</p><pre class=""><code class="">牛顿-柯特斯 (等距点):  n+1 个点 → n+(n的奇偶修正) 次精度
高斯积分 (最优选点):  n+1 个点 → 2n+1 次精度   ← 翻倍！
</code></pre>
<p>核心思想：打破等距的限制！</p><p>在前面的 N-C公式中 都有一个默认的限制：节点 x_i 必须是等距离分布的</p><p>如果我们固定使用  n+1 个等距节点， 我们最多只能获得 n+1 次代数精度（如果n为偶数，可以利用对称性提升到 n+2 阶精度）</p><p>如果我们把这 $n+1$ 个节点 $x<em>0, x</em>1, \dots, x_n$ 的位置也当作<strong>可以自由调整的未知数</strong>，那么：</p><ul><li>我们有 $n+1$ 个可自由移动的<strong>节点位置</strong> $x_i$；</li><li>我们有 $n+1$ 个对应的<strong>求积权重</strong> $A_i$。</li></ul><p>一共有 2n+2 自由度  理论上可以写出 2n+2 个代数方程 从而使得 求积公式 对所有次数 不超过 2n+1 的多项式 都达到 <strong>绝对精确</strong></p>
<h3 id="132-">13.2 高斯点条件</h3><p><strong>定理</strong>： $x₀,...,x<em>n$ 是高斯点的<strong>充要条件</strong>——多项式  $ω(x) = (x-x₀)(x-x₁)...(x-x</em>n)$ 与所有不超过 n 次的多项式 P_n(x) 在 [a,b] 上正交。</p><p><strong>为什么正交能带来高精度？</strong></p><p>这里有一个极其优美的代数证明： 对于任意一个最高次数为 $2n+1$ 的多项式 $f(x)$，我们都可以用 $\omega(x)$（它是 $n+1$ 次多项式）去除它。根据多项式带余除法，一定可以写成： $f(x) = q(x)\omega(x) + r(x)$ 其中：</p><ul><li>商式 $q(x)$ 的次数最高为 $n$ 次。</li><li>余式 $r(x)$ 的次数最高也为 $n$ 次。</li></ul><p>现在，我们对 $f(x)$ 求精确积分： $\int<em>a^b f(x)dx = \int</em>a^b q(x)\omega(x)dx + \int<em>a^b r(x)dx$ 如果 $\omega(x)$ <strong>正交于</strong>所有不超过 $n$ 次的多项式（而 $q(x)$ 正好不大于 $n$ 次），那么根据正交性的定义，第一项积分<strong>直接归零</strong> [13.2, 13.3]： $\int</em>a^b q(x)\omega(x)dx = 0$ 因此，真实积分值完全退化为： $\int<em>a^b f(x)dx = \int</em>a^b r(x)dx$</p><p>接下来，我们用高斯公式来计算 $f(x)$ 的近似积分。</p><p>由于高斯节点 $x<em>0, \dots, x</em>n$ 正好是 $\omega(x)$ 的零点（即 $\omega(x<em>i) = 0$），所以： $f(x</em>i) = q(x<em>i)\omega(x</em>i) + r(x<em>i) = r(x</em>i)$</p><p>因此高斯积分公式给出： $\sum<em>{i=0}^n A</em>i f(x<em>i) = \sum</em>{i=0}^n A<em>i r(x</em>i)$</p><p>因为 $r(x)$ 只是一个最高 $n$ 次的多项式，而任何包含 $n+1$ 个节点的插值型求积公式对 $n$ 次多项式都是<strong>绝对精确</strong>的： $\sum<em>{i=0}^n A</em>i r(x<em>i) = \int</em>a^b r(x)dx$</p><p>把这几步串起来：</p>
<p>$$
高斯近似值 = \sum<em>{i=0}^n A</em>i f(x<em>i) = \sum</em>{i=0}^n A<em>i r(x</em>i) = \int<em>a^b r(x)dx = \int</em>a^b f(x)dx = 真实值
$$
其中 <strong>权重 $A_i$</strong>：是这些代表所拥有的“投票权大小”（即话语权比重）</p><p> 我们要算一段区间的积分（也就是求围成的图形面积），高斯积分就是只挑选 $n+1$ 个特定位置的函数值 $f(x<em>i)$ 进行加权求和： $\int</em>a^b f(x) dx \approx A<em>0 f(x</em>0) + A<em>1 f(x</em>1) + \dots + A<em>n f(x</em>n)$</p><p><strong>证毕！</strong> 这个证明堪称数学史上最优雅的篇章之一。它表明：<strong>只要把节点选在正交多项式的零点上，高阶多项式中高于 $n$ 次的部分就会因为正交性被“自动过滤”掉，使公式精度奇迹般地翻倍！</strong></p>
<h3 id="133--">13.3 高斯-勒让德积分</h3><p>在 [-1,1] 上，取<strong>勒让德多项式  $P_{n+1}(x)$ 的零点</strong>作为高斯点。</p><p><strong>为什么是勒让德？</strong> 勒让德多项式天然在 [-1,1] 上正交！</p><h4 id="">勒让德多项式</h4><pre class=""><code class="">P₀(x) = 1
P₁(x) = x
P₂(x) = (3x² - 1)/2
P₃(x) = (5x³ - 3x)/2
P₄(x) = (35x⁴ - 30x² + 3)/8

递推: (n+1)·P_{n+1}(x) = (2n+1)·x·P_n(x) - n·P_{n-1}(x)
正交性: ∫^{1}_{-1} P_m(x)·P_n(x) dx = 0   (m ≠ n)
归一化: ∫^{1}_{-1} [P_n(x)]² dx = 2/(2n+1)
</code></pre>
<h4 id="-n23">求节点：以 n=2（3点）为例</h4><p>3 个高斯点 = P₃(x) 的 3 个零点：</p><pre class=""><code class="">P₃(x) = (5x³ - 3x)/2 = 0
→ x·(5x² - 3) = 0
→ x₀ = -√(3/5) ≈ -0.774597
  x₁ = 0
  x₂ = √(3/5) ≈ +0.774597
</code></pre>
<h4 id="">求权重：解矩方程</h4><p>高斯积分公式： $\int_{-1}^{1} f(x)dx ≈ A₀·f(x₀) + A₁·f(x₁) + A₂·f(x₂)$</p><p>要求对  $f(x)=1, x, x², x³, x⁴, x⁵$ 都精确（3 点可达 2×3-1=5 次精度）：</p><pre class=""><code class="">对 f(x)=1:  ∫1 dx = 2 = A₀+A₁+A₂
对 f(x)=x:  ∫x dx = 0 = A₀·(-√0.6) + A₁·0 + A₂·(√0.6)
→ A₀ = A₂

对 f(x)=x²: ∫x²dx = 2/3 = A₀·(0.6) + A₁·0 + A₂·(0.6)
→ 2A₀·0.6 = 2/3,  A₀ = 5/9

→ A₀ = A₂ = 5/9,  A₁ = 2 - 10/9 = 8/9
</code></pre>
<p><strong>矩阵形式理解</strong>（矩方程）：</p><pre class=""><code class="">┌                     ┐ ┌    ┐   ┌               ┐
│  1      1      1    │ │ A₀ │   │  ∫1·x⁰dx = 2  │
│ x₀      x₁     x₂   │ │ A₁ │   │  ∫1·x¹dx = 0  │
│ x₀²     x₁²   x₂²   │ │ A₂ │ = │  ∫1·x²dx =2/3 │
└                     ┘ └    ┘   └               ┘

代入 x₀=-√0.6, x₁=0, x₂=√0.6，解线性方程组得权重
</code></pre>
<h3 id="134--">13.4 高斯-勒让德节点与权重表</h3><table><thead><tr><th> n    </th><th> 节点 xₖ                 </th><th> 权重 Aₖ                      </th></tr></thead><tbody><tr><td> 1    </td><td> 0                       </td><td> 2                            </td></tr><tr><td> 2    </td><td> ±1/√3 ≈ ±0.577350       </td><td> 1, 1                         </td></tr><tr><td> 3    </td><td> 0, ±√(3/5) ≈ ±0.774597  </td><td> 8/9, 5/9, 5/9                </td></tr><tr><td> 4    </td><td> ±0.339981, ±0.861136    </td><td> 0.652145, 0.347855           </td></tr><tr><td> 5    </td><td> 0, ±0.538469, ±0.906180 </td><td> 0.568889, 0.478629, 0.236927 </td></tr></tbody></table><h3 id="135-">13.5 积分区间变换</h3><p>由于勒让德多项式天然正交于区间 $[-1, 1]$ [13.3]，所有标准的高斯点和权重表都是针对 $[-1, 1]$ 设计的 [13.4]。 如果实际积分区间是 $[a, b]$，我们必须进行一次<strong>线性自变量替换</strong>。</p><p>令 $x = \alpha t + \beta$。我们希望当 $t = -1$ 时 $x = a$，当 $t = 1$ 时 $x = b$。</p><p> 代入解方程组： $\begin{cases} -\alpha + \beta = a \ \alpha + \beta = b \end{cases} \implies \alpha = \frac{b-a}{2}, \quad \beta = \frac{a+b}{2}$</p><p>由此得到经典的区间映射变换式： $x = \frac{b-a}{2}t + \frac{a+b}{2}$</p><p>同时，微分项也需要按比例缩放： $dx = \frac{b-a}{2} dt$  权重也需要同步缩放 ！</p><p>高斯-勒让德节点在 [-1,1] 上，实际积分区间 [a,b] 需要变换：</p><pre class=""><code class="">∫_a^b f(x)dx = (b-a)/2 × ∫_{-1}^{1} f((a+b)/2 + (b-a)t/2) dt

              ≈ (b-a)/2 × Σ Aₖ·f((a+b)/2 + (b-a)xₖ/2)
                                                 k

通俗转化:
变量替换: x = (a+b)/2 + (b-a)t/2
→ dx = (b-a)/2 · dt
→ t∈[-1,1] 时 x∈[a,b]
权重也缩放: Aₖ&#x27; = (b-a)/2 × Aₖ
</code></pre>
<h3 id="136-n23">13.6 数值例子（n=2，3点高斯）</h3><p><strong>计算 ∫₋₁¹ x⁴ dx = 2/5 = 0.4</strong></p><pre class=""><code class="">节点: x₀=-√0.6, x₁=0, x₂=√0.6
权重: A₀=5/9, A₁=8/9, A₂=5/9

高斯积分 = A₀(x₀)⁴ + A₁(0)⁴ + A₂(x₂)⁴
        = 5/9 × 0.36 + 0 + 5/9 × 0.36
        = 10/9 × 0.36 = 0.4  ← 精确！

而Simpson (3个等距点): 
  = 1/3 × [(-1)⁴ + 4×0⁴ + 1⁴] = 2/3 ≈ 0.667  ← 误差巨大！

原因: Simpson对3次以下精确，x⁴是4次 → 有误差
      3点高斯对5次以下都精确！
</code></pre>
<h3 id="137-">13.7 带权高斯积分</h3><p>解决数值积分中的<strong>两个超级痛点</strong>：</p><ol start="1"><li><strong>积分区间是无穷大（ $\infty$）怎么办？</strong></li><li><strong>函数在端点会爆炸（奇点， $\frac{1}{0}$）怎么办？</strong></li></ol><table><thead><tr><th> 类型            </th><th> 区间   </th><th> 权函数 ρ(x) </th><th> 正交多项式 </th><th> 用途                  </th></tr></thead><tbody><tr><td> Gauss-Legendre  </td><td> [-1,1] </td><td> 1           </td><td> 勒让德     </td><td> 标准有限区间积分      </td></tr><tr><td> Gauss-Laguerre  </td><td> [0,∞)  </td><td> e^(-x)      </td><td> 拉盖尔     </td><td> 半无限区间 + 指数衰减 </td></tr><tr><td> Gauss-Hermite   </td><td> (-∞,∞) </td><td> e^(-x²)     </td><td> 厄米       </td><td> 全无限区间 + 高斯衰减 </td></tr><tr><td> Gauss-Chebyshev </td><td> [-1,1] </td><td> 1/√(1-x²)   </td><td> 切比雪夫   </td><td> 端点有奇性的积分      </td></tr></tbody></table><p><strong>公式形式</strong>： $∫ ρ(x)·f(x) dx ≈ Σ Aₖ·f(xₖ)$ ，节点 xₖ 是相应正交多项式的零点。</p><p>把困难的会爆炸的或者趋于无穷的部分 剥离给 $\rho(x)$ 让可以进行 Guass积分处理的部分 留在f（x）！</p><blockquote><p>💡 <strong>延伸思考</strong>：高斯-勒让德是&quot;默认选项&quot;、精度极高，但节点不在积分区间的端点（这对某些问题不方便）。高斯-拉盖尔伽利厄米积分天然处理无穷区间，在量子力学中极其重要——例如 ∫₋∞^∞ e^{-x²} f(x) dx 用 Gauss-Hermite 只需几个点就有高精度。</p></blockquote>
<p>本质上是<strong>“正交多项式家族”针对不同物理舞台的量身定制</strong> ！！！</p><p>用最好的计算点数 避开所有数学陷阱 算出精确的积分！</p><hr/><h2 id="14-wkb-">14. WKB 近似</h2><h3 id="141-">14.1 物理背景</h3><blockquote><p>WKB（Wentzel-Kramers-Brillouin）方法是量子力学中近似处理<strong>势垒穿透</strong>（tunneling）问题的半经典方法。一个粒子要穿过势垒的概率可以用一个积分来表示。</p></blockquote>
<h3 id="142-wkb-">14.2 WKB 公式</h3><p>WKB 方法的物理本质，是将量子波函数 $\psi(x)$ 写成关于普朗克常数 $\hbar$ 的渐近展开式</p>
<p>$$
\psi(x) \sim \exp\left( \frac{i}{\hbar} S(x) \right)
$$
其中 $S(x)$ 对应经典力学中的哈密顿-雅可比作用量。</p><ul><li><strong>经典极限</strong>：当 $\hbar \to 0$ 时，体系的行为完全退化为牛顿经典力学。</li><li><strong>量子修正</strong>：当 $\hbar$ 有限大时，它保留了波的相位信息，从而能够描述经典粒子绝对无法完成的“穿墙术”——<strong>量子隧穿</strong></li></ul><p><strong>穿透因子（穿透几率）</strong>物理意义<strong>：代表粒子穿过势垒 $[b, c]$ </strong>的隧穿几率（即成功率）</p>
<p>$$
W = exp(-2 × ∫_b^c \frac{\sqrt{[2M(q)·(V(q)-E₀)]}}{\hbar } dq)
$$</p>
<p> <strong>周期因子</strong>：</p>
<p>$$
T = 2 ∫_a^b  \frac{dq}{\sqrt{\frac{2[(E₀-V(q))]}{M(q)}}}
$$</p>
<p><strong>寿命</strong>：τ = T / W</p><h3 id="143-">14.3 公式含义</h3><pre class=""><code class="">          V(q)
          ↑
     E₀ ──├─────┐      ← ┌── 势垒（V &gt; E₀，经典禁戒区）
          │     │         │
          │ a   │ b    c  │
    ──────┘     └─────────└──→ q

   a, b: 经典允许区边界（V(a)=V(b)=E₀）
   b, c: 势垒区（V(q) &gt; E₀，粒子需要隧穿）
   [a,b]: 周期 T 的积分区间 → 粒子在阱中的往返时间
   [b,c]: 穿透因子 W 的积分区间 → 决定穿透概率的指数
</code></pre>
<h3 id="144-">14.4 数值实现思路</h3><p>给定表格形式的 V(q) 和 M(q) 离散数据（形变 q 从 0 到 2.5），计算隧穿寿命 τ：</p><pre class=""><code class="">步骤1: 插值 V(q) 和 M(q)（用三次样条获得光滑曲线）
步骤2: 确定临界点 a, b, c（解方程 V(q)=E₀）
        → 用二分法或牛顿法在插值曲线上找根
步骤3: 用高斯积分计算 ∫_b^c √(M(q)(V(q)-E₀)) dq
步骤4: 计算 W = exp(-2×积分结果)
步骤5: 用高斯积分计算 ∫_a^b dq/√((E₀-V(q))/M(q))
步骤6: T = ℏ × 步骤5的结果
步骤7: τ = T / W
</code></pre>
<p><strong>数值细节</strong>：</p><ul><li>临界点 a, b, c 通过插值后的 V(q) 曲线用二分法或牛顿法找到</li><li>在 b 和 c 附近 V(q)≈E₀，被积函数趋于 0 或无穷 → 需小心处理端点奇性</li><li>被积函数剧烈变化 → 高斯积分比等距公式更高效</li></ul><blockquote><p>💡 <strong>物理直觉</strong>：W 是量子力学中的<strong>穿透因子</strong>——势垒越宽越高，W 越小，穿透越不可能。τ 是经典周期除以穿透概率——只有在势垒内来回反射很多次才会偶尔穿透一次，所以寿命 τ 可以比经典周期长很多数量级。这就是为什么某些放射性核素的半衰期可以长达数十亿年。</p></blockquote>
<hr/><h2 id="15-">15. 总结对比表</h2><h3 id="151-">15.1 插值方法对比</h3><table><thead><tr><th> 方法     </th><th> 阶数      </th><th> 节点条件      </th><th> 光滑性 </th><th> 计算量 </th><th> 振荡风险     </th><th> 适用场景        </th></tr></thead><tbody><tr><td> 拉格朗日 </td><td> N 次全局  </td><td> 函数值        </td><td> C^∞    </td><td> O(N²)  </td><td> ⚠️ 高（龙格） </td><td> 点数少          </td></tr><tr><td> Hermite  </td><td> 2N+1 次   </td><td> 函数值+导数   </td><td> C^∞    </td><td> O(N²)  </td><td> ⚠️ 高         </td><td> 已知导数        </td></tr><tr><td> 三次样条 </td><td> 分段 3 次 </td><td> 函数值+C²连续 </td><td> C²     </td><td> O(N)   </td><td> ✅ 低         </td><td> 一般光滑数据    </td></tr><tr><td> Akima    </td><td> 分段 3 次 </td><td> 函数值+C¹连续 </td><td> C¹     </td><td> O(N)   </td><td> ✅ 很低       </td><td> 效率/局部性优先 </td></tr></tbody></table><h3 id="152-">15.2 数值微分公式对比</h3><table><thead><tr><th> 公式     </th><th> 点数 </th><th> 误差阶 </th><th> 公式                                     </th></tr></thead><tbody><tr><td> 前向差分 </td><td> 2    </td><td> O(h)   </td><td> [f(x+h)-f(x)]/h                          </td></tr><tr><td> 中心差分 </td><td> 3    </td><td> O(h²)  </td><td> [f(x+h)-f(x-h)]/(2h)                     </td></tr><tr><td> 五点中点 </td><td> 5    </td><td> O(h⁴)  </td><td> [-f(x+2h)+8f(x+h)-8f(x-h)+f(x-2h)]/(12h) </td></tr><tr><td> 二阶差分 </td><td> 3    </td><td> O(h²)  </td><td> [f(x+h)-2f(x)+f(x-h)]/h²                 </td></tr></tbody></table><h3 id="153-">15.3 数值积分方法对比</h3><table><thead><tr><th> 方法          </th><th> 节点分布  </th><th> 节点数 </th><th> 代数精度 </th><th> 误差阶      </th><th> 特点              </th></tr></thead><tbody><tr><td> 梯形 (n=1)    </td><td> 等距      </td><td> 2      </td><td> 1        </td><td> O(h³)       </td><td> 最简单            </td></tr><tr><td> Simpson (n=2) </td><td> 等距      </td><td> 3      </td><td> 3        </td><td> O(h⁵)       </td><td> 性价比高          </td></tr><tr><td> 柯特斯 (n=4)  </td><td> 等距      </td><td> 5      </td><td> 5        </td><td> O(h⁷)       </td><td> 高精度等距        </td></tr><tr><td> 复合Simpson   </td><td> 等距×多段 </td><td> N+1    </td><td> 3        </td><td> O(h⁴)       </td><td> 稳健实用          </td></tr><tr><td> Romberg       </td><td> 嵌套二分  </td><td> 2ᵏ+1   </td><td> 随列递增 </td><td> O(h^(2j+2)) </td><td> 精度可逐次提升    </td></tr><tr><td> 高斯-勒让德   </td><td> 最优分布  </td><td> n+1    </td><td> 2n+1     </td><td> —           </td><td> 精度最高/n固定    </td></tr><tr><td> 高斯-拉盖尔   </td><td> 最优分布  </td><td> n+1    </td><td> 2n+1     </td><td> —           </td><td> [0,∞) 半无限区间  </td></tr><tr><td> 高斯-厄米     </td><td> 最优分布  </td><td> n+1    </td><td> 2n+1     </td><td> —           </td><td> (-∞,∞) 全无限区间 </td></tr></tbody></table><h3 id="154-">15.4 方法选择决策树</h3><pre class=""><code class="">需要做什么？
├── 只有离散数据点，需要中间值
│   ├── 点数少（=10）→ 拉格朗日/ Hermite 插值
│   ├── 点数多，要光滑 → 三次样条
│   └── 点数多，要效率 → Akima 插值
│
├── 需要一阶导数
│   ├── 有解析函数 → 中心差分 O(h²)
│   ├── 有离散数据 → 先样条插值再求导
│   └── 边界处 → 三点端点公式
│
├── 需要定积分
│   ├── 被积函数光滑，任意点可求值
│   │   ├── 要绝对高精度 → 高斯积分（n 点有 2n+1 次精度）
│   │   ├── 渐进式提高精度 → Romberg 积分
│   │   └── 简单快速 → 复合 Simpson
│   ├── 只有等距表格数据 → 复合 Simpson/柯特斯
│   ├── 积分区间无限
│   │   ├── [0,∞) 带 e^{-x} 衰减 → Gauss-Laguerre
│   │   └── (-∞,∞) 带 e^{-x²} 衰减 → Gauss-Hermite
│   └── 有奇点或剧烈振荡 → 自适应积分 + 分段
│
└── 需要WKB隧穿计算
    └── 样条插值 + 高斯积分 + 二分法找临界点
</code></pre>
<h3 id="155-">15.5 核心概念速记</h3><table><thead><tr><th> 概念             </th><th> 一句话理解                           </th></tr></thead><tbody><tr><td> 拉格朗日插值     </td><td> N+1 个点→N次多项式，&quot;开关函数&quot;加权   </td></tr><tr><td> 龙格现象         </td><td> 多点高次多项式→边缘爆炸振荡          </td></tr><tr><td> 三次样条         </td><td> 分段三次 + C²连续 = 自然弯曲的柔条   </td></tr><tr><td> 牛顿-柯特斯      </td><td> 等距点插值积分 = 固定权重 × 函数值   </td></tr><tr><td> Simpson 1/3 法则 </td><td> 三点抛物线 = 权重 [1,4,1] × h/3      </td></tr><tr><td> 理查森外推       </td><td> 不同步长的结果组合 → 消掉低阶误差    </td></tr><tr><td> Romberg 积分     </td><td> 梯形逐次二分 + 理查森外推 → 精度跃升 </td></tr><tr><td> 高斯积分         </td><td> 选最优位置（非等距）→ 精度翻倍       </td></tr><tr><td> WKB 近似         </td><td> 半经典隧穿：穿透率=指数×积分         </td></tr></tbody></table><hr/><p><em>Akurio 补充整理 笔记结束 · 2026-06-30</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Numerical-Differentiation-and-Integration-Methods#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Numerical-Differentiation-and-Integration-Methods</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Numerical-Differentiation-and-Integration-Methods</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Tue, 30 Jun 2026 04:38:33 GMT</pubDate></item><item><title><![CDATA[神经网络与机器学习初步]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/NNandML">https://akuiro24.xyz/posts/default/NNandML</a></blockquote><div><h2 id="1-">1. 课程概览：机器学习与物理学</h2><h3 id="11-">1.1 机器学习在物理学中的地位</h3><p>机器学习已发展成为一种<strong>新的科学范式</strong>——当物理方程难以描述或求解时，用数据驱动的方法进行推断。物理学中各领域 ML 论文数量爆发式增长：</p><table><thead><tr><th> 期刊             </th><th> ML论文数 (2010-2020) </th></tr></thead><tbody><tr><td> Phys. Rev. Lett. </td><td> 2680                 </td></tr><tr><td> Phys. Rev. B     </td><td> 5040                 </td></tr><tr><td> Phys. Rev. E     </td><td> 2037                 </td></tr><tr><td> Phys. Rev. C     </td><td> 991                  </td></tr></tbody></table><p>从1980-1990年仅74篇，到2010-2020年674篇。</p><blockquote><p>💡 <strong>核心观点</strong>：AI 不会取代科学家，但<strong>使用 AI 的科学家会取代不使用 AI 的科学家</strong>。</p></blockquote>
<h3 id="12--vs-">1.2 机器学习 vs. 传统物理方程</h3><table><thead><tr><th> 方面     </th><th> 传统物理方程         </th><th> 机器学习方法                 </th></tr></thead><tbody><tr><td> 描述方式 </td><td> 解析公式、普适定律   </td><td> 数据关联、<strong>非线性映射</strong>     </td></tr><tr><td> 数据类型 </td><td> 理想化、低维         </td><td> <strong>高维、含噪、不完整、异构</strong> </td></tr><tr><td> 适用范围 </td><td> 有明确<strong>第一性原理</strong> </td><td> 复杂耦合、多尺度、反问题     </td></tr><tr><td> 可解释性 </td><td> 高（解析形式）       </td><td> <strong>较难（黑箱）</strong>             </td></tr><tr><td> 不确定度 </td><td> <strong>由理论自身给出</strong>   </td><td> 需专门量化（Bayesian）       </td></tr></tbody></table><blockquote><p>💡 <strong>物理直觉</strong>：ML 不是要取代物理方程，而是<strong>补充——当方程不存在、不完整或不可解时，用数据说话</strong>。</p></blockquote>
<h3 id="13-ml-">1.3 ML 在物理中的主要应用</h3><ul><li>仿真 simulations、优化 optimizations、仿真器 emulators</li><li>数据融合 Data Fusion：从异构分散数据中提取更一致准确的信息</li><li>数据关联与挖掘：高维关联类比量子多体</li><li>反问题 Inverse Problems</li><li>粒子识别、模型混合 Model Mixing、模型降阶</li><li>无监督学习的科学发现</li><li>求解微分方程（PINN）</li></ul><hr/><h2 id="2-">2. 经典统计基础</h2><h3 id="21-">2.1 基本概念</h3><p><strong>样本均值</strong>：<br/>x̄ = (1/n) Σ xᵢ</p><p><strong>样本标准差</strong>（Bessel 校正，分母 n-1）：<br/>s = √[ Σ(xᵢ - x̄)² / (n - 1) ]</p><blockquote><p>💡 <strong>说人话</strong>：均值是数据的中心，标准差是数据分散程度的量度。分母用 n-1 因为样本均值消耗了一个自由度（Bessel 校正）。</p></blockquote>
<h3 id="22-pearson-">2.2 Pearson 线性相关系数</h3><p>$$
r = \frac{ \sum (x<em>i - \bar{x})(y</em>i - \bar{y}) }</p><pre class=""><code class="">     { \sqrt{ \sum (x_i - \bar{x})^2 } \cdot \sqrt{ \sum (y_i - \bar{y})^2 } }</code></pre><p>$$</p>
<table><thead><tr><th> r 值   </th><th> 含义                                 </th></tr></thead><tbody><tr><td> r = +1 </td><td> 完全正相关（所有点在一条上升直线上） </td></tr><tr><td> r ≈ 0  </td><td> 无线性关联                           </td></tr><tr><td> r = -1 </td><td> 完全负相关（所有点在一条下降直线上） </td></tr></tbody></table><p><strong>数值例子</strong>：物理成绩 X=[85, 92, 78, 90, 88]，数学成绩 Y=[80, 95, 75, 88, 85]</p><p>x̄=86.6, ȳ=84.6，计算得 r≈0.826 → <strong>强正相关</strong>。</p><h3 id="23--kl-">2.3 信息熵与 KL 散度</h3><p><strong>信息熵</strong>（衡量分布的不确定度）：</p><p>$$
H(P) = - \Sigma \space p<em>{i} \ln(p</em>{i})
$$</p>
<ul><li>单位：1 奈特（nat）≈ 1.44 比特</li><li><strong>均匀分布时熵最大（最不确定）</strong></li></ul><p><strong>KL 散度</strong>（衡量两个分布的差异）：</p><p>$$
D<em>{\mathrm{KL}}(P \parallel Q) = \sum</em>i p<em>{i} \ln \left(\frac{p</em>i}{q_i}\right)
$$</p><blockquote>
<p>💡 <strong>物理直觉</strong>：D<em>KL ≥ 0（非负），等于 0 当且仅当 P=Q。它不是真正的&quot;距离&quot;（不对称）。最小化 D</em>KL 就是让近似分布 Q 逼近真实分布 P。</p></blockquote>
<p>交叉熵：</p><p>$$
H(P, Q) = \sum<em>i p</em>i \ln \left( q_i \right)
$$</p><p>因为真实世界的分布 也就是 权重（频率）就是 P 来描述</p><p>只不过你用你所估计的 编码长度 $\ln q_i$ 来进行计算</p><p>简单来讲 就是 现实世界的数据是由真实的 P 产生的， 而不是 由你的假设Q来产生的！！！</p>
<h3 id="">用一张表格彻底锁定认知</h3><table><thead><tr><th style="text-align:left"> 对比维度                       </th><th style="text-align:left"> 前向 KL -DKL(P∥Q)                               </th><th style="text-align:left"> 反向 KL -DKL(Q∥P)                                            </th></tr></thead><tbody><tr><td style="text-align:left"> <strong>权重是谁？</strong>                 </td><td style="text-align:left"> 真实分布 P                                      </td><td style="text-align:left"> 近似分布 Q                                                   </td></tr><tr><td style="text-align:left"> <strong>哪里犯错会死得很惨？</strong>       </td><td style="text-align:left"> 当 P 很大 但是 Q很小时（漏掉了真实数据）        </td><td style="text-align:left"> 当Q很大，但 P 很小时（产生了虚假数据）                       </td></tr><tr><td style="text-align:left"> <strong>工程绰号</strong>                   </td><td style="text-align:left"> <strong>覆盖（Coverage）</strong><br/>/ 广度优先 零回避    </td><td style="text-align:left"> <strong>模式搜索（Mode-seeking）</strong><br/>/ 深度优先 零强迫         </td></tr><tr><td style="text-align:left"> <strong>面对双峰 P，单峰 Q怎么做？</strong> </td><td style="text-align:left"> Q<em>Q</em> 被迫“躺平”在两个峰中间，变得很宽很平       </td><td style="text-align:left"> Q<em>Q</em> 随机选择其中一个峰，变得又尖又窄                        </td></tr><tr><td style="text-align:left"> <strong>在机器学习中代表谁？</strong>       </td><td style="text-align:left"> <strong>最大似然估计（MLE）</strong>、模仿学习、VAE 的重构项 </td><td style="text-align:left"> <strong>变分推断（VI）</strong>、强化学习 PPO、VAE 的正则项（KL 惩罚）、GAN </td></tr></tbody></table>
<ul><li><strong>场景 A 选 VAE 或扩散模型（前向 KL 覆盖全面）</strong> —— 宁可模糊，不能漏掉病变特征。</li><li><strong>场景 B 选 GAN（反向 KL 追求锐利）</strong> —— 哪怕模式坍缩，只要生成的那一张够清晰就行。</li><li>如今 取长补短 选择了 扩散模型 Stable Diffusion/ DALL-E / Sora ——采用“<strong>前向加噪</strong>（变模糊）” 与 “<strong>反向去噪</strong>（变清晰）” 的这种策略<br/>同时 在相应的 损失函数上加工 ， 扩散模型不直接比较像素 避免前向KL的平均化陷阱，而是在高纬的潜在空间 latent Space比较 只比较噪声的差异 不至于直接平均成灰色 +  引入“引导尺度 CFG Guidance” 人为增加 反向KL的权重 牺牲一点多样性</li></ul><p>KL散度的本质就是 所谓 “加权平均惩罚” 权重
（即乘在外边的分布 决定 惩罚的重点在哪里！）</p>
<p><strong>数值例子</strong>：P = [0.7, 0.3], Q = [0.6, 0.4]</p><p>D_KL = 0.7×ln(0.7/0.6) + 0.3×ln(0.3/0.4)  = 0.7×0.154 + 0.3×(-0.288) ≈ 0.022 nat</p><h3 id="24-">2.4 协方差与误差传播</h3><p><strong>协方差矩阵</strong>（参数 θ = (θ₁, ..., θₚ)）：</p><p>$$
C<em>{ij} = E \left( (\theta</em>{i} - \bar{\theta<em>{i}}) (\theta</em>{j} - \bar{\theta_{j}})    \right)
$$</p>
<p>近似计算（从似然 Hessian）：</p><p>$$
C \approx 2 \left[ \frac{\partial^{2} \ln{L} }{ \partial\theta<em>i \partial \theta</em>j}  \right]^{-1}
$$</p>
<p>（在 MLE 处求值）</p><p><strong>误差传播一阶近似</strong>：Y = f(X) →</p><p>$$
 σ<em>Y² ≈ (\frac{∂f}{∂X})² σ</em>X² 
$$</p>
<p><strong>多变量推广</strong>：Y = f(X₁, ..., Xₙ)</p><p>$$
σ<em>Y² ≈  Σ (\frac{\partial f }{\partial X</em>i})² \sigma ^{2}<em>{X</em>i} + 2  Σ<em>{i&lt;j} (\frac{\partial f }{\partial X</em>i})(\frac{\partial Y }{\partial X_j}) Cov(Xᵢ,Xⱼ)
$$</p><blockquote>
<p>💡 <strong>说人话</strong>：导数绝对值越大 → 输入的不确定度被放大越厉害。多变量时还有协方差交叉项的贡献。</p></blockquote>
<h3 id="25-">2.5 条件概率</h3><p>$$
P (A | B) = \frac{P(AB)}{P(B)}
$$</p><blockquote>
<p>💡 这是整个 Bayesian 统计的基石：<strong>在新信息 B 面前，我们对事件 A 的概率认知如何更新。</strong></p></blockquote>
<hr/><h2 id="3-bayes-">3. Bayes 统计</h2><h3 id="31-bayes-">3.1 Bayes 定理</h3><p>经典形式：P(A|B) = P(B|A)·P(A) / P(B)</p><p>机器学习语境（h = 假设/模型, D = 数据）：</p><p><strong>后验 = 似然 × 先验 / 证据</strong></p><p>P(h|D) = P(D|h)·P(h) / P(D)</p><table><thead><tr><th> 符号    </th><th> 术语            </th><th> 含义                   </th><th> 癌症检测例子       </th></tr></thead><tbody><tr><td> P(h)    </td><td> 先验 Prior      </td><td> 看数据前对 h 的信念    </td><td> 普查:发病率 1%     </td></tr><tr><td> P(D|h) </td><td> 似然 Likelihood </td><td> h 为真观察到数据的概率 </td><td> 病人中 80% 阳性    </td></tr><tr><td> P(D)    </td><td> 证据 Evidence   </td><td> 数据边际概率（归一化） </td><td> 全人群阳性比例     </td></tr><tr><td> P(h|D) </td><td> 后验 Posterior  </td><td> 看数据后更新的信念     </td><td> 阳性后真患病的概率 </td></tr></tbody></table><blockquote><p>💡 <strong>核心哲学差异</strong>：Bayes 统计视概率为信念的程度（degree of belief）可随证据更新；经典统计视概率为长期频率。Bayes 方法允许融入先验知识。</p></blockquote>
<p>新的认知 = （证据的支持力度 ✖️ 原有的偏见） / 整体的情况 ！</p><h3 id="32-">3.2 数值例子：癌症检测</h3><p>已知：P(cancer)=1%, P(+|cancer)=80%, P(+|no cancer)=9.6%</p><p>P(cancer|+) = (0.80×0.01) / (0.80×0.01 + 0.096×0.99)
= 0.008 / (0.008 + 0.09504) ≈ <strong>0.0776 = 7.8%</strong></p><blockquote><p>💡 <strong>直觉冲击</strong>：阳性后患病概率仅 7.8%，非 80%。因疾病极罕见（先验仅 1%）而假阳性 9.6% 不算太低。这就是 Bayesian 统计区别于直觉频率思维的核心价值。</p></blockquote>
<h3 id="33--bayesian-">3.3 三种 Bayesian 估计方法</h3><table><thead><tr><th> 方法            </th><th> 操作              </th><th> 输出               </th><th> 计算量 </th><th> 适用             </th></tr></thead><tbody><tr><td> MLE（极大似然） </td><td> max P(D|θ)       </td><td> 单一点估计         </td><td> 小     </td><td> 大数据、弱先验   </td></tr><tr><td> MAP（最大后验） </td><td> max P(D|θ)P(θ)   </td><td> 带先验约束的点估计 </td><td> 中小   </td><td> 有限数据、强先验 </td></tr><tr><td> Full Bayes      </td><td> 采样/积分 P(θ|D) </td><td> 完整参数分布       </td><td> 极大   </td><td> 需精确不确定度   </td></tr></tbody></table><blockquote><p>MAP估计值其实就是  <strong>数据均值</strong>  和  <strong>先验均值</strong>   的 加权平均！</p><ul><li>数据越多，权重越向数据倾斜（MAP 趋近 MLE）。</li><li>数据越少，权重越向先验倾斜（MAP 趋近先验）。</li></ul><p><code> MAP 叫“正则化”（Regularization），它惩罚了那些偏离先验太远的极端值。</code></p><p>💡 均匀先验下 MAP = MLE。MAP 在有限数据下用先验信息防止过度自信。MAP 估计会被向先验&quot;拉近&quot;。</p></blockquote>
<h3 id="34-conjugate-prior">3.4 共轭先验（Conjugate Prior）</h3><p><strong>定义</strong>：若后验分布和先验属于同一个分布族，该先验称为共轭先验。</p><p>例子：</p><ul><li>Beta 分布 → 二项似然的共轭先验</li><li>高斯分布 → 高斯似然（均值未知）的共轭先验</li></ul><blockquote><p>💡 <strong>意义</strong>：共轭先验使后验可用解析公式计算，避免高维数值积分。数据越多 → 后验越窄 → 参数越确定。</p></blockquote>
<hr/><h2 id="4-">4. 线性回归与最大似然估计</h2><h3 id="41-">4.1 最小二乘法</h3><p>模型：y = Xβ + ε，ε 为随机噪声。</p><p>目标：<strong>min S(β) = ‖y - Xβ‖²</strong></p><p><strong>正规方程</strong>：</p><p>$$
\beta = (X^{T} X)^{-1} X^{T} y
$$</p><p>这里做一个正规化的原因是 X可能本身不能直接求出来逆！</p><p>这里是一个伪逆  $XX^{T}$  是可以保证 为方阵～</p><p>最小二乘法（Ordinary Least Squares, OLS）的核心思想就是：</p><p><strong>既然有误差 ϵ，我就想办法找一组 β，让误差的平方和最小。</strong></p><p>目标函数（Loss）：</p><p> L(β)=误差的平方和=$\epsilon^{T} \epsilon=(y−Xβ)^{T}(y−Xβ)$=误差的平方和</p><p>误差是怎么“没”的？</p><p>为了找到让 L(β)<em>L</em>(<em>β</em>) 最小的 β<em>β</em>，微积分告诉我们：<strong>对 β 求导，并让导数等于 0。</strong></p><p> <em>(这里省略复杂的矩阵求导过程，直接看结果)</em></p><p>$$
\frac{\partial L}{\partial \beta} = -2 X^{T} (y - X \beta)
$$</p><p>把式子展开并移项：</p><p>$$
X^{T}y=X^{T}Xβ
$$</p>
<p>两边同时左乘 (X^{T}X)−1：</p><p>有结果 （10） 式子</p>
<p>截距项 （借助矩阵的拼凑） 可以保证 用一种形式化后的 X 表示 所有的 均为 X<em>β</em></p><h4 id="example">example：</h4><p>假设有三个 数据点</p><p>原本的最基本的 X matrix 只有 一列x：</p><p>$$
X = \begin{bmatrix}x<em>1
 \x</em>2
 \x_3
\end{bmatrix}
$$</p>
<p>现在 我们选择在X的最左边 进行强行塞入一列 “1”：</p><p>$$
X<em>{new} =  \begin{bmatrix}1  &amp;x</em>1
\ 1 &amp; x<em>2
\ 1 &amp; x</em>3
\end{bmatrix}
$$</p>
<p>此时 我们参数向量 $\beta$ 就变成两个：</p><p>$$
\beta = \begin{bmatrix}\beta_0
\ \beta1
\end{bmatrix}
$$
于是 我可以对于上述的做矩阵乘法！</p><p>$$
X \beta =\begin{bmatrix}1  &amp;x<em>1 
\ 1 &amp; x</em>2
\ 1 &amp; x<em>3
\end{bmatrix} 
 \begin{bmatrix}\beta</em>0
\ \beta1
\end{bmatrix}
=\begin{bmatrix}\beta<em>1 x</em>1 + \beta<em>0
  \\beta</em>1x<em>2 + \beta</em>0
 \ \beta<em>1x</em>3 + \beta_0
\end{bmatrix}
$$</p>
<p>会惊喜的发现 矩阵乘法 会自动帮忙把 截距加上！！！</p><p><strong>永远地融进了特征矩阵 X 的第一列里</strong></p>
<p>X 为 N×(1+p) 设计矩阵，第一列全 1 对应截距项。</p><pre class=""><code class="">X = [1  x₁₁ ... x₁ₚ]
    [1  x₂₁ ... x₂ₚ]
    [ :  :    :  : ]
    [1  xₙ₁ ... xₙₚ]
</code></pre>
<h3 id="42-">4.2 数值例子：手算线性回归</h3><p>数据：(1, 2.1), (2, 3.9), (3, 5.8)，拟合 y = β₀ + β₁x</p><pre class=""><code class="">X = [[1,1], [1,2], [1,3]], y = [2.1, 3.9, 5.8]ᵀ
XᵀX = [[3, 6], [6, 14]], Xᵀy = [11.8, 26.3]ᵀ
(XᵀX)⁻¹ = [[2.333, -1.0], [-1.0, 0.5]]
β = (XᵀX)⁻¹ Xᵀy = [0.267, 1.85]ᵀ
</code></pre>
<p>→ 回归直线：<strong>y = 0.267 + 1.85x</strong></p><p>检验：x=1 → 2.12 | x=2 → 3.97 | x=3 → 5.82（接近真实值）</p><h3 id="43-mle-">4.3 MLE 与最小二乘的等价性</h3><p><strong>关键条件</strong>：噪声 ε ~ N(0, σ²)</p><p>似然：</p><p>$$
L = \prod  (1/√(2πσ²)) exp(-\frac{(yᵢ - xᵢᵀβ)²} {2σ²})
$$</p><p>对数似然：</p><p>$$
ln L = -(n/2)ln(2πσ²) - (1/2σ²) Σ(yᵢ - xᵢᵀβ)²
$$</p><blockquote><p>💡 <strong>核心洞察</strong>：最大化 ln L（关于 β）等价于最小化 Σ(yᵢ - xᵢᵀβ)²。正态噪声假设下，<strong>MLE = 最小二乘</strong>。</p></blockquote>
<h3 id="44--svd-">4.4 多项式回归与 SVD 求解</h3><p>普通的线性回归只能画直线 —— 现实数据 关系 往往非线性 用 多项式 ！（Taylor）</p>
<p>多项式回归：输入 → [1, x, x², ..., xᵖ]，X 矩阵变为</p><p>$$
X_{new} = \begin{bmatrix}1,x,x^{2},x^3, x^4 .... ,x^p
\end{bmatrix}
$$</p><p>当 XᵀX 接近奇异时（多重共线性） 因为 每个 x ， x^2 ,  x^3  都长的太像了！</p><p><strong>高度相关</strong>  —— 最小二乘 要求 $(XX^{T})^{-1}$ ——高度线形奇异的话 会使得无法求逆</p><p>Singular Value Decomposition 能把任何一个 复杂的 病态的 矩阵 X， 强行拆解成三个性质极好的矩阵 ：</p><p>$$
X = U \cdot S \cdot V^{T}
$$
$U,  V^{T}$   : orthogonal matrix 完美的坐标系 相互垂直 性质稳定 求逆=转置 不会爆炸！</p><p>S（Sigma）： 对角矩阵  —— 对角线上的数字叫做 “奇异值”  原本矩阵所有 “病态” / 信息量 都全部被压缩到这几个数字上</p>
<p>可用 <strong>SVD</strong> 稳定求解：</p><pre class="language-python lang-python"><code class="language-python lang-python">U, S, Vt = np.linalg.svd(X, full_matrices=False)
beta = Vt.T @ np.diag(1/S) @ U.T @ y
</code></pre><blockquote>
<p>💡 Bayesian 线性回归进一步将 β 视为分布而非固定值，给出预测的不确定度。</p></blockquote>
<hr/><h2 id="5-gpr">5. 高斯过程回归（GPR）</h2><h3 id="51-">5.1 基本思想</h3><blockquote><p>💡 <strong>核心直觉</strong>：</p><p>GPR 不去假设 f(x) 的具体形式（不指定是否线性、指数或多项式），只假设任意有限个点的函数值服从联合高斯分布。</p><p>这是一种<strong>非参数</strong> Bayesian 回归方法，非常灵活。</p></blockquote>
<p>从多元Guass 分布 来的 —— 每个点 都服从 均值向量 ， 协方差矩阵</p><p>$$
\mathbf{y} = \begin{bmatrix}y<em>1
\ y</em>2
\ y_3
\end{bmatrix} \sim
\mathcal{N} ( \boldsymbol{\mu} , \mathbf{K})
$$</p><p>假设 现在不是再测量3个孤立点 而是一条连续的曲线 f(x)</p><p>这条曲线 在每个位置 x 都有一个函数值  把每个位置的 f(x) 都看作是 随机变量！</p><p>在整个轴上 就有无穷多个 随机变量！</p>
<p>GP <strong>高斯过程</strong>定义：</p><p>如果对于定义域内的<strong>任意有限个点</strong> ${x<em>1, x</em>2, \dots, x<em>n}$，它们对应的函数值 $\mathbf{f} = [f(x</em>1), f(x<em>2), \dots, f(x</em>n)]^T$ 都服从一个<strong>多元高斯分布</strong>，那么这个由无穷多个随机变量组成的集合，就叫做<strong>高斯过程</strong></p><p>记为</p><p>$$
f(x) \sim \mathcal{GP} ( m(x) , k(x, x&#x27;))
$$
m(x)  均值函数 通常默认设置为0 （借助平移 数据去中心化得到）</p><p>k(x, x&#x27;) 协方差函数 （ 核函数 Kernel） 定义空间中 任意两个点 x 和 x&#x27; 之间的亲密度！</p>
<h3 id="52-kernel">5.2 协方差函数（Kernel）</h3><p>RBF 最经典的（平方指数）核：</p><p>$$
k(x<em>i, x</em>j) = \sigma^{2}<em>{f} \cdot exp(-\frac{(x</em>i - x_j)^{2}}{2 l^{2}})
$$</p>
<table><thead><tr><th> 超参数            </th><th> 含义                   </th><th> 对拟合的影响                   </th></tr></thead><tbody><tr><td> l（长度尺度）     </td><td> 相关性随距离衰减的快慢 </td><td> l 小 → 函数&quot;抖动&quot;；l 大 → 平滑 </td></tr><tr><td> $σ_f$（信号方差） </td><td> 函数的幅度             </td><td> 控制预测量级                   </td></tr><tr><td> $σ_n$（噪声方差） </td><td> 观测噪声水平           </td><td> 对角项修正，控制拟合忠实度     </td></tr></tbody></table><p>数值直观：两点距离 = 0 → K = σ_f²（最相关）；距离 ≫ l → K ≈ 0（几乎不相关）。</p>
<h3 id="53-">5.3 预测公式</h3><p>开始算新的预测点 假设已经有：</p><ul><li><strong>已知训练数据</strong>： 输入为  $X = [x<em>1,x</em>2,...... x<em>n]^{T}$  对应带噪的观测值为 $y = [y</em>1, y<em>2,..... ,y</em>n]^{T}$ 这里假设观测值 包含独立的噪音 $y = f(x) + \epsilon$  其中 误差噪声 服从 $\epsilon \sim \mathcal{N}(0, \sigma^{2}_{n})$</li><li><strong>未知预测点</strong>：输入的 $x<em>{*}$ 预测这里的真实高度 $f</em>{*}$</li></ul><p>联合分布：</p><p>$$
\begin{bmatrix}\mathbf{y}
\f<em>{*}
\end{bmatrix}
\sim
\mathcal{N}
\left( 
\mathbf{0},\begin{bmatrix}\mathbf{K(X, X)}+ \sigma</em>{n}^{2} \mathbf{I}&amp;\mathbf{k<em>{*}} \ \mathbf{k</em>{<em>}}^{T} &amp;  k(x_{</em>} , x_{*})
\end{bmatrix}
\right)
$$</p>
<p>这个超大协方差矩阵里的每一块都有着清晰的物理意义<a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGBKq5t4UPPcx-w2wf3NWVk31LG447-yZwInvbBOJUVOn5EBvob1KCz0fY_O5lwS4UbJtwKcVE74jFRnMAWBzQKyPdmW9zG169Gzf91Hksu0PdxwQ5dxz9TLXAPJXv1kf6Y1WyTNLAKrUkaHQ==">5</a>：</p><ul><li>$\mathbf{K} = \mathbf{K}(\mathbf{X}, \mathbf{X})$ 是一个 $n \times n$ 的矩阵，记录了<strong>所有已知点两两之间</strong>的亲密度<a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGBKq5t4UPPcx-w2wf3NWVk31LG447-yZwInvbBOJUVOn5EBvob1KCz0fY_O5lwS4UbJtwKcVE74jFRnMAWBzQKyPdmW9zG169Gzf91Hksu0PdxwQ5dxz9TLXAPJXv1kf6Y1WyTNLAKrUkaHQ==">5</a>。加上 $\sigma_n^2 \mathbf{I}$ 是因为已知点带有测量噪声。</li><li>$\mathbf{k}<em>* = [k(x</em>1, x<em>*), k(x</em>2, x<em>*), \dots, k(x</em>n, x<em><em>)]^T$ 是一个 $n \times 1$ 的向量，记录了*</em>新点 $x</em><em>$ 与所有旧点之间*</em>的亲密度。</li><li>$k(x<em>*, x</em><em>)$ 是一个标量，记录了*</em>新点与自己**的协方差（对于 RBF 来说，这通常就是 $\sigma_f^2$）</li></ul><h4 id="conditioning">条件化（Conditioning）</h4><p>既然我们已经知道了 $\mathbf{y}$ 的具体数值（比如已知 3 个点的高度是 2.3, 4.1, 3.5），我们就需要根据已知条件 $\mathbf{y}$，去推导未知数 $f_<em>$ 的*</em>后验概率分布<strong>。 这在数学上使用的是</strong>多元高斯分布的条件分布公式**（Conditional Gaussian Theorem）：</p><p>若 $\begin{bmatrix} \mathbf{a} \ \mathbf{b} \end{bmatrix} \sim \mathcal{N} \left( \begin{bmatrix} \boldsymbol{\mu}<em>a \ \boldsymbol{\mu}</em>b \end{bmatrix}, \begin{bmatrix} \mathbf{\Sigma}<em>{aa} &amp; \mathbf{\Sigma}</em>{ab} \ \mathbf{\Sigma}<em>{ba} &amp; \mathbf{\Sigma}</em>{bb} \end{bmatrix} \right)$</p><p>则已知 $\mathbf{a}$ 时， $\mathbf{b}$ 的分布为  $\mathbf{b} | \mathbf{a} \sim \mathcal{N}(\hat{\boldsymbol{\mu}}, \hat{\mathbf{\Sigma}})$，其中：</p><p>$$
\hat{\boldsymbol{\mu}} = \boldsymbol{\mu}<em>b + \mathbf{\Sigma}</em>{ba} \mathbf{\Sigma}<em>{aa}^{-1} (\mathbf{a} - \boldsymbol{\mu}</em>a)
\
\space
\
\hat{\mathbf{\Sigma}} = \mathbf{\Sigma}<em>{bb} - \mathbf{\Sigma}</em>{ba} \mathbf{\Sigma}<em>{aa}^{-1} \mathbf{\Sigma}</em>{ab}
$$</p><p>直接套用这个定理（这里 $\boldsymbol{\mu}<em>a = \mathbf{0}$, $\boldsymbol{\mu}</em>b = 0$），我们就得到了你看到的两个<strong>核心预测公式</strong>：</p>
<p><strong>预测均值</strong>：</p><p>$$
\bar{f}<em>* = \mathbf{k}</em>*^T (\mathbf{K} + \sigma_n^2 \mathbf{I})^{-1} \mathbf{y}
$$</p><p>y：已经知道的 高度数据</p><p>$(\mathbf{K} + \sigma_n^2 \mathbf{I})^{-1}$ 是在进行 全局信息的解耦与去噪 算出来 已知的数据点之间的内在关联结构与噪音过滤权重</p><p>我们可以把公式改写为： $\bar{f}<em>* = \sum</em>{i=1}^n \alpha<em>i k(x</em>i, x<em>*)$ 也就是说，GPR 做预测时，实际上是在用一堆“以已知点为中心”的核函数进行叠加。新点离哪个已知点近（ $k(x</em>i, x<em>*)$ 大），那个已知点对应的权重 $\alpha</em>i$ 在预测中起的决定性作用就越大</p>
<p><strong>预测方差</strong>（不确定度）：</p><p>$$
\text{var}(f<em>*) = k(x</em><em>, x_</em>) - \mathbf{k}<em>*^T (\mathbf{K} + \sigma</em>n^2 \mathbf{I})^{-1} \mathbf{k}_*
$$</p>
<ul><li><strong>$k(x<em>{*}, x</em>{*})$</strong>：新点在完全没有已知信息时，它自身的<strong>初始最大不确定度</strong>（先验方差，如果是 RBF 就是 $\sigma_f^2$）。</li><li><strong>$\mathbf{k}<em>{*}^T (\mathbf{K} + \sigma</em>n^2 \mathbf{I})^{-1} \mathbf{k}_{*}$</strong>：这是通过已知信息<strong>消除掉的信息不确定度</strong>。</li><li><strong>物理直觉</strong>：
<ul><li><strong>情况一（数据密集区）</strong>：如果你要预测的点 $x<em>*$ 就夹在好几个已知点中间。此时，它与已知点的亲密度 $\mathbf{k}</em><em>$ 很大。公式中被减去的那一部分就非常大，导致最终的 $\text{var}(f_</em>)$ 被压得非常低，甚至接近 0。这代表模型非常笃定：“我百分之九十九确定这里的高度是多少！”（置信区间非常窄）</li><li><strong>情况二（外推/荒野区）</strong>：如果你要预测的点 $x<em>*$ 距离所有的已知点都非常遥远。此时它与任何已知点的亲密度 $\mathbf{k}</em><em>$ 都趋近于 0。公式中被减去的部分也趋近于 0。最终方差直接退回到最大初始不确定度 $k(x_</em>, x_*)$。这代表模型非常诚实：“这里我啥都不知道，我猜的数值很不靠谱，误差极大！”（置信区间变得极宽）</li></ul></li></ul><blockquote><p>💡 <strong>优势</strong>：</p><p>1、仅需 3 个超参数（l, σ<em>f, σ</em>n），不易过拟合</p><p>就是GPR是一个非参数的模型 其参数量不随着复杂度增加 —— 直接依赖于数据 ！</p><p>需要人为调节的“超参数”极少 （极简主义）</p><p>2、天然自带误差棒  一些高风险决策下 —— “知道自己不知道”比“给出预测”更重要</p><p>NNB来预测 遇到极度奇异数据 还是会猜测一个答案给出来 但是 GPR 可以借助 var！</p><p>3、在核物理质量外推等场景中 GPR 表现优于 BNN。</p><p>这种 外推 ！！！ 就是从 已知较为稳定的核质量（训练集） 去预测极度缺乏中子/超重的未知核质量（外推区）</p><p>4、总结 核心GPR适用就是在 小样本 + 需要外推 + 最少的参数 + 保证数学上的绝对严谨 + 计算的稳定性</p><p>缺点：只适合处理小数据 遇到大数据立马瘫痪 +  严重依赖人的数学直觉</p><p>（需要求一个N ✖️ N的矩阵求逆  GPR 几乎无法直接用于大工业界的海量数据场景 有人借助 稀疏GP 来寻找 伪数据点 然后 近似代替全部数据  +  高度依赖于 Kernel function的选取 即先验假设 的准确性与预测性  GPR本身没有“悟性学习性” 喂给什么核就只能在那个框架中打转  + 高维度就炸了 维度灾难 所有点都极其遥远 $k_{<em>}$ 全部趋于0  GPR 极不适合直接处理图像（几十万像素维度）或高维文本特征。它最擅长的是物理参数拟合、空间轨迹预测等输入维度在 *</em>10维以内** 的精细任务</p></blockquote>
<p>什么是 BNN（贝叶斯神经网络）？</p><p>BNN 是试图给神经网络的每一个权重 $w$ 都引入一个概率分布。听起来很完美，但它有致命的缺陷：</p><ol start="1"><li><strong>计算极其困难</strong>：BNN 无法直接求出解析解，必须使用非常复杂的近似算法（如 MCMC 采样、变分推断 VI）。在训练时不仅极慢，而且极难收敛。</li><li><strong>超参数过多</strong>：BNN 里不仅有成千上万个权重需要估计分布，还需要手动调节每个权重的先验分布参数。稍微调不好，外推结果就一塌糊涂。</li></ol><p>GPR 凭什么在外推中胜出？</p><ol start="1"><li><strong>数学上的精确解（解析解）</strong>： GPR 的预测均值和方差公式，是通过矩阵求逆<strong>一步算出来的精确解析解</strong>，不需要像 BNN 那样进行漫长的随机采样或近似，计算极其稳定，绝不会出现“训练崩了”的情况。</li><li><strong>物理先验的完美结合</strong>： 在核物理中，我们会把已知的物理公式（如“液滴模型（LDM）”）作为 GPR 的<strong>背景均值（Mean Function）</strong>。GPR 只需要去拟合物理公式与实验值之间的<strong>残差（误差）</strong>。
<ul><li>在数据密集的已知区，GPR 会精确修正物理公式的偏差。</li><li>在外推的荒野区，因为没有数据，GPR 的预测会自动退化、收敛到背景的物理公式，而方差（误差棒）会老老实实地变大。</li></ul></li></ol><h3 id="54-">5.4 伪代码</h3><pre class="language-python lang-python"><code class="language-python lang-python">import numpy as np

def rbf_kernel(X1, X2, l=1.0, sigma_f=1.27):
    sq_dist = np.sum(X1**2, 1).reshape(-1,1) + np.sum(X2**2, 1) \
              - 2 * np.dot(X1, X2.T)
    return sigma_f**2 * np.exp(-0.5 / l**2 * sq_dist)

X_train = np.array([[1.0], [3.0], [4.0]])
y_train = np.array([2.0, 4.0, 5.0])
X_test  = np.array([[2.0]])

K    = rbf_kernel(X_train, X_train)
K_s  = rbf_kernel(X_train, X_test)
K_ss = rbf_kernel(X_test, X_test)
sigma_n = 0.1

K_inv = np.linalg.inv(K + sigma_n**2 * np.eye(len(X_train)))
mu    = K_s.T @ K_inv @ y_train     # 预测均值
sigma = K_ss - K_s.T @ K_inv @ K_s  # 预测方差
</code></pre>
<hr/><h2 id="6--ann">6. 人工神经网络基础 ANN</h2><h3 id="61--vs-">6.1 生物神经元 vs. 人工神经元</h3><table><thead><tr><th> 特性     </th><th> 生物神经元                    </th><th> 人工神经元                 </th></tr></thead><tbody><tr><td> 总数     </td><td> ~860 亿                       </td><td> 设计决定                   </td></tr><tr><td> 连接     </td><td> ~100 万亿突触                 </td><td> 参数决定                   </td></tr><tr><td> 信号     </td><td> 化学/电，异步并行，二进制触发 </td><td> 实数加权求和，同步层间传递 </td></tr><tr><td> 功耗     </td><td> ~20 W（全脑）                 </td><td> GPU ~250 W                 </td></tr><tr><td> 容错性   </td><td> 极高（冗余存储）              </td><td> 一般                       </td></tr><tr><td> 发放频率 </td><td> ~200 次/秒                    </td><td> 一次前向传播一值           </td></tr><tr><td> 学习     </td><td> 突触可塑性（neuroplasticity） </td><td> 梯度下降调整权重           </td></tr></tbody></table><p>核心是从大脑生物神经元的处罚</p><p>【生物神经元直观图】
   树突 (接收信号) ───┐
   树突 (接收信号) ───┼──&gt; 细胞体 (电位累加) ───&gt; 轴突 (传递信号) ───&gt; 突触 (输出)
   树突 (接收信号) ───┘</p>
<p><strong>树突（Dendrites） $\rightarrow$ 输入加权（Weights）</strong>： 每个树突连接不同的上游神经元。突触有强有弱，有的信号容易通过，有的被抑制。这就是<strong>权重 $w_i$</strong>。</p><p><strong>细胞体（Soma） $\rightarrow$ 累加求和（Summation）</strong>： 细胞体会收集所有树突传来的微小电信号（静息电位变化），在内部进行代数累加。这就是<strong>加权求和 $\sum w<em>i x</em>i$</strong>。</p><p><strong>轴突（Axon） $\rightarrow$ 激活函数（Activation Function）</strong>： 当累加电位超过某个“阈值”时，细胞体会突然产生一个电脉冲（动作电位）向下游传递；否则保持静默。这就是<strong>激活函数 $f(z)$</strong> 对应的“<strong>0或1</strong>”或“<strong>非线性平滑过渡</strong>”。</p><blockquote>
<p>💡 人脑约 860 亿神经元，超百万亿突触，功耗仅 20W——比人工网络高效数个量级。但人工神经元借鉴了&quot;加权求和 → 阈值判断 → 非线性激活&quot;的思路。</p><p>生物的主要是二进制触发 采用 脉冲神经网络 SNN 足够刺激才放电 平时大部分区域在“休眠” ——现在的GPU跑 AI 大部分所有matrix 都要从头到尾高频同步算一遍</p><p>人脑学习 依靠的 是 Hebbian learning 一起激发的神经元连在一起 极度局部的化学变化——人工神经网络必须要全局计算梯度并统一用“反向传播（BP）”来更新，这需要巨大的计算开销</p></blockquote>
<h3 id="62--m-p-mode">6.2 人工神经元数学模型 M-P mode</h3><p>$$
y = f(\sum w<em>{i} x</em>{i} - \theta) = f(w^{T} x - \theta)
$$</p><p> 其中 xᵢ 为输入信号，wᵢ 为权重，θ 为阈值（bias 的负值 令 偏置 $b = -\theta$），f 为激活函数。</p><p>$y = f(\mathbf{w}^T \mathbf{x} + b)$</p>
<h4 id="">直观上的几何理解</h4><p>假设输入的是 二维特征 $\mathbf{x} = [x<em>1, x</em>2]^T$</p><p><strong>$\mathbf{w}^T \mathbf{x} + b = 0$</strong>（即 $w<em>1 x</em>1 + w<em>2 x</em>2 + b = 0$）： 这在二维平面上代表<strong>一条直线</strong>（在高维空间中代表一个<strong>超平面</strong>）。这条直线就是<strong>决策边界（Decision Boundary）</strong>！</p><p><strong>偏置 $b$ 的作用</strong>： 如果没有 $b$，决策边界必须强行穿过坐标原点 $(0,0)$。有了 $b$，这条线就可以在空间中自由平移。</p><p><strong>权重 $\mathbf{w}$ 的作用</strong>： $\mathbf{w}$ 是决策边界的法向量，决定了边界的倾斜角度（方向）。</p>
<h4 id="f---"><strong>要求</strong>：f 必须是非线性 + 可导。</h4><p>1、非线性：如果f是线性的 那么无论多少层神经元叠加一起 多层线性变换复合 依然是线性变换：</p><p>$y = w<em>2(w</em>1 x + b<em>1) + b</em>2 = (w<em>1 w</em>2)x + (w<em>2 b</em>1 + b_2) = Wx + B$  ——&gt;</p><p> 多层网络退化成单层网络 <strong>无法拟合复杂的非线性function（如异或XOR问题）</strong></p><p>非线性激活函数赋予了神经网络无限逼近任何复杂函数的超能力（通用近似定理）。</p><p>2、可导：因为要利用 Gradient Descent 梯度下降算法 需要计算损失function 对参数的 导数</p><p>$\frac{\partial L}{\partial \omega}$  从而知道 往哪个方向去调整参数！ 如果不可导 就无法使用现代高效的 反向传播算法！！！</p>
<h3 id="63-">6.3 常用激活函数</h3><table><thead><tr><th> 函数    </th><th> 公式              </th><th> 输出范围 </th><th> 导数   </th><th> 特点                                                      </th></tr></thead><tbody><tr><td> Sigmoid </td><td> 1/(1+e⁻ᶻ)         </td><td> (0, 1)   </td><td> f(1-f) </td><td> 经典，收敛慢，两头梯度≈0<br/>会有梯度消失停止训练的问题 </td></tr><tr><td> Tanh    </td><td> (eᶻ-e⁻ᶻ)/(eᶻ+e⁻ᶻ) </td><td> (-1, 1)  </td><td> 1-f²   </td><td> 零均值，常优于 Sigmoid                                    </td></tr><tr><td> ReLU    </td><td> max(0, z)         </td><td> [0, ∞)   </td><td> 0或1   </td><td> 主流，计算快，缓解梯度消失                                </td></tr></tbody></table><h4 id="relu-">ReLU的重要作用 ！！！</h4><h5 id="1-">1. 极简网络的数学表达</h5><p>输入 x ──&gt; [神经元z1] ──&gt; a1 ──&gt; [神经元z2] ──&gt; a2 ──&gt; [神经元z3] ──&gt; 
y_pred ──&gt; 算出 Loss (L)</p><p>假设每一层只有一个神经元，且偏置都为 0（方便计算）：</p><ul><li>第一层： $z<em>1 = w</em>1 x$，输出 $a<em>1 = f(z</em>1)$</li><li>第二层： $z<em>2 = w</em>2 a<em>1$，输出 $a</em>2 = f(z_2)$</li><li>第三层： $z<em>3 = w</em>3 a<em>2$，预测输出 $\hat{y} = f(z</em>3)$</li><li>最后算出一个总损失 $L$（Loss）</li></ul><h5 id="2--w1">2. 反向传播：更新第一层的权重 $w_1$</h5><p>为了通过梯度下降更新第一层的权重 $w<em>1$，我们需要计算 $L$ 对 $w</em>1$ 的偏导数 $\frac{\partial L}{\partial w_1}$。根据高数中的<strong>链式法则（Chain Rule）</strong>，我们要从后往前一步步求导：</p><p>$$
\frac{\partial L}{\partial w<em>1} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial z</em>3} \cdot \frac{\partial z<em>3}{\partial a</em>2} \cdot \frac{\partial a<em>2}{\partial z</em>2} \cdot \frac{\partial z<em>2}{\partial a</em>1} \cdot \frac{\partial a<em>1}{\partial z</em>1} \cdot \frac{\partial z<em>1}{\partial w</em>1}
$$</p><p>我们把其中几项算出来：</p><ul><li>$\frac{\partial \hat{y}}{\partial z<em>3} = f&#x27;(z</em>3)$ （第三层激活函数的导数）</li><li>$\frac{\partial z<em>3}{\partial a</em>2} = w_3$</li><li>$\frac{\partial a<em>2}{\partial z</em>2} = f&#x27;(z_2)$ （第二层激活函数的导数）</li><li>$\frac{\partial z<em>2}{\partial a</em>1} = w_2$</li><li>$\frac{\partial a<em>1}{\partial z</em>1} = f&#x27;(z_1)$ （第一层激活函数的导数）</li><li>$\frac{\partial z<em>1}{\partial w</em>1} = x$</li></ul><p>把它们拼回去，得到最终的梯度公式：</p><p>$$
\frac{\partial L}{\partial w<em>1} = \frac{\partial L}{\partial \hat{y}} \cdot \left[ \mathbf{f&#x27;(z</em>3)} \cdot w<em>3 \cdot \mathbf{f&#x27;(z</em>2)} \cdot w<em>2 \cdot \mathbf{f&#x27;(z</em>1)} \right] \cdot x
$$</p><p>请注意红框（括号内）里的这一串连乘：<strong>$f&#x27;(z<em>3) \cdot f&#x27;(z</em>2) \cdot f&#x27;(z_1)$</strong>。</p><hr/><h5 id="3-sigmoid-">3. 对比：Sigmoid 怎么让梯度消失的？</h5><p>如果我们使用 <strong>Sigmoid</strong> 作为激活函数： Sigmoid 的导数公式是 $f&#x27;(z) = f(z)(1 - f(z))$。 由于 $f(z)$ 的输出范围是 $(0, 1)$，你可以动手算一下，这个导数 $f&#x27;(z)$ 的<strong>最大值只有 $0.25$</strong>（当 $z=0$ 时）。</p><p>现在，我们把 $f&#x27;(z) \leq 0.25$ 带入我们的梯度连乘里：</p><ul><li>在我们的 3 层网络里，这三项乘积最大也就是： $0.25 \times 0.25 \times 0.25 = 0.0156$（已经缩水了 64 倍）。</li><li>如果是 <strong>100 层</strong> 的深层网络，就会有 100 个小于 $0.25$ 的数连乘：</li></ul><p>$$
0.25^{100} \approx 6.2 \times 10^{-61} \approx 0
$$</p><p>这个极其微小的梯度传回第一层时，<strong>几乎变成了 0</strong>！ 第一层的权重更新公式是：</p><p> $w<em>1 = w</em>1 - \eta \frac{\partial L}{\partial w<em>1}$。既然梯度是 0，那么 $w</em>1$ 根本就不会变。</p><p> <strong>这就是梯度消失：深层网络中，前面的层完全无法更新，整张网废了。</strong></p><hr/><h5 id="4-relu-">4. 解决：ReLU 为什么能彻底解决它？</h5><p>如果我们换成 <strong>ReLU</strong>：</p><p>$$
f(z) = \max(0, z)
$$</p><p>它的导数非常极端：</p><ul><li>当 $z &gt; 0$ 时，导数 $f&#x27;(z) = 1$</li><li>当 $z &lt; 0$ 时，导数 $f&#x27;(z) = 0$</li></ul><p>如果我们在训练中，确保神经元的输入 $z$ 是大于 0 的，那么： 每个神经元的导数 $f&#x27;(z)$ <strong>永远是平平整整的 1</strong>！</p><p>我们再把这个 $1$ 带回 100 层网络的梯度连乘里：</p><p>$$
1 \times 1 \times 1 \times \dots \times 1 = 1
$$</p><p><strong>无论网络叠到 100 层、1000 层还是 10000 层，梯度在回传过程中完全没有任何损耗！</strong> 最后一层的误差有多大，就能原封不动地传回给第一层，让第一层完美更新。 这就是为什么说 ReLU “拯救”了深度学习。</p>
<h4 id="-bias--dead-relu">为什么在一个大的梯度过去后 bias会变小 —— Dead ReLU</h4><h5 id="">第一步：发生了一次意外（遇到巨大的梯度）</h5><p>在某一次训练中，网络输入了一个非常极端的脏数据，或者由于学习率 $\eta = 0.1$ 设得太大了。 导致从后级传回来的误差梯度 $\frac{\partial L}{\partial y}$ <strong>异常巨大</strong>，比如：</p><p>$$
\frac{\partial L}{\partial y} = 1000
$$</p><p>现在我们来计算偏置 $b$ 的梯度 $\frac{\partial L}{\partial b}$：</p><p>$$
\frac{\partial L}{\partial b} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial z} \cdot \frac{\partial z}{\partial b} = 1000 \times 1 \times 1 = 1000
$$</p><p>接下来，使用梯度下降<strong>更新偏置 $b$</strong>：</p><p>$$
b<em>{\text{new}} = b</em>{\text{old}} - \eta \cdot \frac{\partial L}{\partial b}
$$</p><p>看！因为这次极大的梯度冲击，<strong>偏置 $b$ 从原本健康的 $0.5$ 骤降到了一个极小的负数 $-99.5$</strong></p><hr/><h5 id="">第二步：噩梦开始，神经元陷入“假死”</h5><p>现在，训练继续，我们输入下一个正常的数据。 假设正常的数据输入 $x = 2.0$，权重 $w = 2.0$。</p><p>我们来看看此时这个神经元的净输入 $z$：</p><p>$$
z = w x + b_{\text{new}} = 2.0 \times 2.0 + (-99.5) = 4 - 99.5 = -95.5
$$</p><p>因为 $-95.5 &lt; 0$，所以：</p><ul><li>神经元输出： $y = \max(0, -95.5) = 0$</li><li><strong>最致命的：此时激活函数的导数 $f&#x27;(z) = 0$</strong>。</li></ul><hr/><h5 id="">第三步：无法自救，彻底“死亡”</h5><p>既然这一轮输入由于 $b$ 太小导致 $z &lt; 0$，我们期望在下一轮反向传播中，把 $b$ 再给更新回来，对吗？</p><p>我们来看这一轮反向传播时，怎么更新 $b$。 计算 $b$ 的新梯度：</p><p>$$
\frac{\partial L}{\partial b} = \frac{\partial L}{\partial y} \cdot \mathbf{f&#x27;(z)} \cdot \frac{\partial z}{\partial b}
$$</p><p>因为此时 $z = -95.5 &lt; 0$，所以 <strong>$f&#x27;(z) = 0$</strong>。 代入公式：</p><p>$$
\frac{\partial L}{\partial b} = \frac{\partial L}{\partial y} \times 0 \times 1 = 0
$$</p><p><strong>偏置 $b$ 的梯度变成了绝对的 0！</strong></p><p>我们尝试更新 $b$：</p><p>$$
b<em>{\text{newer}} = b</em>{\text{new}} - \eta \cdot \frac{\partial L}{\partial b} = -99.5 - 0.1 \times 0 = -99.5
$$</p><p><strong>它根本没有变！依然卡死在 $-99.5$！</strong></p><p>同样的道理，你也可以算一下权重 $w$ 的梯度：</p><p>$$
\frac{\partial L}{\partial w} = \frac{\partial L}{\partial y} \cdot \mathbf{f&#x27;(z)} \cdot x = \frac{\partial L}{\partial y} \times 0 \times 2.0 = 0
$$</p><p>$w$ 的梯度也是 0！ $w$ 也无法更新了。</p><hr/><h5 id="">结论：为什么叫“永久死亡”？</h5><p>一旦 $b$ 变成了一个极小的负数，<strong>在以后所有的训练样本输入下， $z = wx + b$ 几乎注定永远小于 0</strong>。</p><p>只要 $z &lt; 0$：</p><ol start="1"><li>它的输出永远是 $0$（对网络没有任何贡献）。</li><li>它的梯度永远是 $0$（它再也无法通过反向传播来修改自己的 $w$ 和 $b$）。</li></ol><p>这个神经元就像是脑死亡了一样，<strong>彻底失去了自我修正、自我救赎的能力</strong>。这就是著名的 <strong>Dead ReLU（神经元死亡）</strong> 现象。</p>
<h4 id="relu--">ReLU 修正线性单元 ：现代深度学习的核心！</h4><p>1、彻底解决正向的梯度消失：只要 z &gt; 0 导数永远是1 ——&gt; 梯度就可以毫无损耗的传回前面的网络 这让训练上百层的超深网络成为可能</p><p>2、计算快！！！ If-else判断 硬件加速效果好</p><p>缺点！ DEAD ReLU 神经元死亡 ：如果一个非常大的梯度流过，把某个神经元的偏置 $b$ 更新得非常小，导致这个神经元在以后的所有输入下 $z$ 都小于 0，那么它的输出和导数将永久为 $0$。这个神经元就“死掉了”，再也无法被激活和更新。</p>
<h3 id="64-">6.4 数值例子：单神经元前向手算</h3><p><strong>设定</strong>：x = [0.5, 1.0, -0.5]，w = [2.0, -1.0, 1.5]，θ = 0.3，Sigmoid 激活</p><p><strong>Step 1</strong> — 净输入 v：</p><p>v = 2.0×0.5 + (-1.0)×1.0 + 1.5×(-0.5) - 0.3
= 1.0 - 1.0 - 0.75 - 0.3 = <strong>-1.05</strong></p><p><strong>Step 2</strong> — 激活：</p><p>y = 1/(1 + e^(1.05)) = 1/3.857 ≈ <strong>0.259</strong></p><blockquote><p>💡 净输入为负 → 输出接近 0.26（偏向不激活）。若净输入为正且足够大，输出趋近 1。</p></blockquote>
<h3 id="65-">6.5 神经网络类型总览</h3><table><thead><tr><th> 网络          </th><th> 核心特点                     </th><th> 典型应用           </th><th> 里程碑         </th></tr></thead><tbody><tr><td> Hopfield 网络 </td><td> 循环，能量函数极小，联想记忆 </td><td> 图像恢复、TSP      </td><td> Hopfield, 1982 </td></tr><tr><td> Boltzmann 机  </td><td> 隐藏层+概率分布              </td><td> 特征发现、生成模型 </td><td> Hinton, 1985   </td></tr><tr><td> 前馈+BP       </td><td> 层间前传、误差反传           </td><td> 通用监督学习       </td><td> 1986           </td></tr><tr><td> CNN           </td><td> 局部关联、参数共享           </td><td> 图像/语音识别      </td><td> 1990s          </td></tr><tr><td> RNN           </td><td> 隐藏层循环连接，记忆前序     </td><td> 序列、时序数据     </td><td> —              </td></tr><tr><td> Transformer   </td><td> Self-Attention 自注意力      </td><td> NLP, ChatGPT       </td><td> 2017           </td></tr><tr><td> GAN           </td><td> 生成器-判别器对抗博弈        </td><td> 内容生成           </td><td> 2014           </td></tr></tbody></table><hr/><h2 id="7-bp-">7. BP 误差反向传播算法</h2><h3 id="71-">7.1 学习问题的数学本质</h3><p><strong>损失函数</strong>（均方误差 Cost Function）：</p><p>$$
E = \frac{1}{2} \sum<em>i (t</em>j - y_j)^{2}
$$</p><p><strong>$t_j$</strong>：真实标签（Target）。</p><p><strong>$y_j$</strong>：网络最后一层的预测输出（Output）。</p><p><strong>为什么前面有个 $\frac{1}{2}$？</strong> 这只是为了求导时的数学便利。当我们对 $E$ 关于 $y<em>j$ 求导时，根据复合函数求导法则，平方项的 $2$ 掉下来，正好与前面的 $\frac{1}{2}$ 抵消，使得导数形式更干净： $\frac{\partial E}{\partial y</em>j} = -(t<em>j - y</em>j) = y<em>j - t</em>j$</p><blockquote><p>💡 前面 1/2 是为了求导时消去平方的 2 倍因子。第 4 章讲最小二乘也是一样的思路。</p><p>本质区别：这里 f(x,w) 是神经网络而非解析公式。参数可能成千上万 → <strong>高维非线性优化</strong>。</p></blockquote>
<p><strong>在第四章的线性最小二乘中</strong>，我们的拟合函数是解析的（如 $y = wx + b$），可以直接通过“令导数为 0 求解矩阵方程”一步算出最优参数。</p><p><strong>但在神经网络中</strong>，输出 $y<em>j$ 嵌套了多层非线性激活函数。对于一个 $L$ 层的网络，函数关系是： $y = f</em>L(W<em>L f</em>{L-1}(W<em>{L-1} \dots f</em>1(W<em>1 x + b</em>1) \dots + b<em>{L-1}) + b</em>L)$ 此时，损失函数 $E(\mathbf{W}, \mathbf{b})$ 是一个极其复杂的<strong>非凸函数（Non-convex Function）</strong>，空间中充满了无数的局部极小值、鞍点和曲折的“沟壑”。我们无法通过公式一步算出最优解，必须依靠<strong>迭代优化算法</strong>，一步一步沿着斜坡往下滚。</p>
<p><strong>学习就是通过输出与期望值的比较，不断调整权重 $w_{ij}$</strong></p><p>可用的优化方法包括：梯度下降法、准 Newton-BFGS、模拟退火法、随机学习方法等。</p>
<h3 id="72---">7.2 梯度下降 + 动量</h3><p><strong>基础梯度下降法</strong>：</p><p>$$
\Delta\omega = - \alpha \frac{\partial E}{\partial \omega} \Longrightarrow w^{t+1} = w^{t} - \alpha \frac{\partial E}{\partial \omega}
$$</p><p> alpha 是 <strong>学习率</strong> ：控制每步 迈出的步子有多大</p><p>太小会收敛太慢；太大容易子啊谷底左右横跳然后甚至发散！</p><p>局限性：优化中 有“峡谷”地形 在某个方向上 坡度极陡 另一方向上 坡度极缓</p><p>基础 gradient 下降 会在陡峭方向疯狂震荡 导致其在缓和方向（真正想要的前进方向）进展缓慢</p>
<p><strong>带动量</strong>（momentum）：</p><p>$$
\Delta w^{(t)} = -\alpha \frac{\partial E}{\partial w} + \eta \Delta w^{(t-1)}
$$</p>
<table><thead><tr><th> 参数        </th><th> 作用                         </th><th> 典型值     </th></tr></thead><tbody><tr><td> α（学习率） </td><td> 步长                         </td><td> 0.01 ~ 0.1 </td></tr><tr><td> η（动量）   </td><td> 惯性项 → 加速收敛 + 平滑震荡 </td><td> ~0.9       </td></tr></tbody></table><blockquote><p>💡 <strong>动量直觉</strong>：球滚下山——既受当前坡度（梯度）推动，也保留之前的运动方向（惯性）。这帮助越过局部极小值和震荡的&quot;沟壑&quot;。</p></blockquote>
<p>把更新量展开来看：</p><ul><li><strong>在震荡的方向（如 $w_1$）</strong>：上一时刻的梯度方向是向上（正），这一时刻的梯度是向下（负）。两者相加时，<strong>震荡被互相抵消了</strong>，从而平滑了路径。</li><li><strong>在持续前进的方向（如 $w_2$）</strong>：前几次的梯度方向都一致。由于惯性项 $\eta \Delta w^{(t-1)}$ 的累加，小球在这个方向滚得<strong>越来越快</strong>（就像有了加速度），从而极大地加速了收敛。</li></ul><h3 id="73-bp-">7.3 链式法则：BP 的精髓</h3><p>​    上一层输出 y<em>i ──(w</em>ij)──&gt; 净输入 v<em>j ──(激活函数 f)──&gt; 输出 y</em>j</p><ul><li><strong>$y_i$</strong>：上一层（第 $i$ 层）神经元的输出。</li><li><strong>$w_{ij}$</strong>：从上一层神经元 $i$ 到当前层神经元 $j$ 的连接权重。</li><li><strong>$v_j$</strong>：当前层神经元 $j$ 的净输入（Net Input），即 $v<em>j = \sum</em>{i} w<em>{ij} y</em>i$。</li><li><strong>$y_j$</strong>：当前层神经元 $j$ 的输出，即 $y<em>j = f(v</em>j)$。</li></ul><h4 id="1-deltaj">1、定义：误差敏感度 $\delta_j$</h4><p>要计算 E 对于任意权重 $w_{ij}$ 的偏导数</p><p>$$
\frac{\partial E}{\partial w<em>{ij}} = \frac{\partial E}{\partial v</em>j} \cdot \frac{\partial v<em>j}{\partial w</em>{ij}}
$$</p>
<p>因为 $v<em>j = \sum</em>{i} w<em>{ij} y</em>i$，所以它对 $w<em>{ij}$ 求导极简单： $\frac{\partial v</em>j}{\partial w<em>{ij}} = y</em>i$（即上一层的输出）。</p><p>所以我们重点关注前半部分 将其定义为 误差信号（误差敏感度）</p><p>$$
 \delta<em>{j} = \frac{\partial E}{\partial v</em>{j}}
$$</p><p>当前神经元的净输入只要变动一点点，对<strong>最终总误差</strong>的影响有多大</p><p>$$
\frac{\partial E }{\partial \omega<em>{ij}}  = \delta</em>j \cdot y_i
$$</p><h4 id="2-deltaj--j">2、输出层的 $\delta_j$ 推导 若j是输出层神经元</h4><p>j是最后一层 其输出 $y_j$ 会直接用来计算E：</p><p>因为 $j$ 是最后一层，它的输出 $y<em>j$ 会直接用来算 $E$： 根据链式法则，将 $E \rightarrow y</em>j \rightarrow v_j$ 展开：</p><p>$$
\delta<em>j = \frac{\partial E}{\partial v</em>j} = \frac{\partial E}{\partial y<em>j} \cdot \frac{\partial y</em>j}{\partial v_j}
$$</p><ul><li>由于 $E = \frac{1}{2} \sum<em>{k} (t</em>k - y<em>k)^2$，所以 $\frac{\partial E}{\partial y</em>j} = y<em>j - t</em>j$。</li><li>由于 $y<em>j = f(v</em>j)$，所以 $\frac{\partial y<em>j}{\partial v</em>j} = f&#x27;(v_j)$。</li></ul><p>代入得到<strong>输出层的误差信号</strong>：</p><p>$$
\delta<em>j = (y</em>j - t<em>j) \cdot f&#x27;(v</em>j)
$$</p>
<h4 id="3--deltaj--j-">3. 隐藏层的 $\delta_j$ 推导（若 $j$ 是隐藏层神经元）</h4><p>隐藏层神经元 $j$ 的输出 $y<em>j$ 并没有直接连到 Loss $E$。 它的输出 $y</em>j$ 会<strong>分流</strong>传递给下一层（第 $k$ 层）的<strong>所有</strong>神经元。</p><pre class=""><code class="">Text


                          ┌───&gt; 下一层神经元 k1 (净输入 v_k1, 误差信号 δ_k1)

                         w_jk1

                          │

  当前隐藏层神经元 j ──────┼───&gt; 下一层神经元 k2 (净输入 v_k2, 误差信号 δ_k2)

  (输出 y_j, 净输入 v_j)   │

                         w_jkn

                          └───&gt; 下一层神经元 kn (净输入 v_kn, 误差信号 δ_kn)
</code></pre>
<p>因此，我们要对下一层的所有接收者进行<strong>多元链式法则（Multivariate Chain Rule）</strong>求和：</p><p>$$
\delta<em>j = \frac{\partial E}{\partial v</em>j} = \sum<em>{k \in \text{下一层}} \frac{\partial E}{\partial v</em>k} \cdot \frac{\partial v<em>k}{\partial y</em>j} \cdot \frac{\partial y<em>j}{\partial v</em>j}
$$</p><p>我们逐项拆解：</p><ul><li><strong>$\frac{\partial E}{\partial v_k}$</strong>：这正好是下一层神经元 $k$ 的误差信号 $\delta_k$！</li><li><strong>$\frac{\partial v<em>k}{\partial y</em>j}$</strong>：因为下一层的净输入为 $v<em>k = \sum</em>{m} w<em>{mk} y</em>m$，其中包含了一项 $w<em>{jk} y</em>j$。对 $y<em>j$ 求偏导后只剩下权重： $\frac{\partial v</em>k}{\partial y<em>j} = w</em>{jk}$。</li><li><strong>$\frac{\partial y<em>j}{\partial v</em>j}$</strong>：当前神经元激活函数的导数：$f&#x27;(v_j)$。</li></ul><p>把这三项代回求和公式，并将不含 $k$ 的公因子 $f&#x27;(v_j)$ 提出来：</p><p>$$
\delta<em>j = f&#x27;(v</em>j) \cdot \sum<em>{k \in \text{下一层}} w</em>{jk} \cdot \delta_k
$$</p><p><strong>这就是反向传播的核心秘密：</strong> 隐藏层 $j$ 的误差敏感度 $\delta<em>j$，是由它后面一层的**所有误差敏感度 $\delta</em>k$ 沿着权重 $w<em>{jk}$ “倒灌”回来**，累加后，再乘以它自己的激活函数导数 $f&#x27;(v</em>j)$ 得到的。</p><h2 id="-"> </h2><blockquote><p>💡 <strong>说人话</strong>：输出层误差直接 = (预测-目标)×导数。隐藏层的误差 = 后一层所有神经元误差按连接权重&quot;反传回来&quot; × 自己导数。先算后一层，再算前一层——这就是 <strong>Backward Propagation</strong> 的由来。</p></blockquote>
<p>最后要利用计算好的 $\delta$ 和 前向传播时输出的 yi 对所有权重进行更新：</p><p>$$
\frac{\partial E }{\partial \omega<em>{ij}}  = \delta</em>j \cdot y_i
$$</p><p>\alpha 学习率！</p><h3 id="74-bp-">7.4 BP 算法流程图</h3><pre class=""><code class="">1. 前向传播：输入 → 逐层计算所有神经元输出 yⱼ
       ↓
2. 输出层误差：δⱼ = (yⱼ - tⱼ) · f&#x27;(vⱼ)
       ↓
3. 反向传播：对每一隐藏层 δⱼ = f&#x27;(vⱼ) · Σ wⱼₖ · δₖ
       ↓
4. 权重更新：wᵢⱼ ← wᵢⱼ - α · δⱼ · yᵢ
       ↓
5. 重复 1-4 直到收敛
</code></pre>
<h3 id="75-bp-">7.5 数值例子：BP 手算（经典教学示例）</h3><p><strong>网络结构</strong>：2 输入 → 1 隐藏层(2 神经元) → 1 输出
<strong>激活函数</strong>：Sigmoid（f&#x27;(z) = f(z)(1-f(z))）</p><p>初始参数：</p><ul><li>输入→隐藏：w₁₁=0.15, w₁₂=0.20, w₂₁=0.25, w₂₂=0.30</li><li>隐藏→输出：w₃₁=0.40, w₃₂=0.45</li><li>偏置：b₁=0.35, b₂=0.35, b₃=0.60</li><li>输入：x=[0.05, 0.10]，目标：t=0.99</li></ul><p><strong>▶ 前向传播</strong>：</p><pre class=""><code class="">h1_net = 0.15×0.05 + 0.20×0.10 + 0.35 = 0.3775
h1_out = 1/(1+exp(-0.3775)) ≈ 0.5933

h2_net = 0.25×0.05 + 0.30×0.10 + 0.35 = 0.3925
h2_out = 1/(1+exp(-0.3925)) ≈ 0.5969

o_net  = 0.40×0.5933 + 0.45×0.5969 + 0.60 = 1.1059
o_out  = 1/(1+exp(-1.1059)) ≈ 0.7514
</code></pre>
<p>总误差 E = 0.5×(0.99 - 0.7514)² ≈ 0.0285</p><p><strong>▶ 反向传播</strong>：</p><pre class=""><code class="">输出层: f&#x27;(o_net) = 0.7514×0.2486 ≈ 0.1868
δ_out = (0.7514 - 0.99) × 0.1868 = -0.0445

隐藏层1: f&#x27;(h1_net) = 0.5933×0.4067 ≈ 0.2413
δ_h1 = 0.2413 × 0.40 × (-0.0445) ≈ -0.00430

隐藏层2: f&#x27;(h2_net) = 0.5969×0.4031 ≈ 0.2406
δ_h2 = 0.2406 × 0.45 × (-0.0445) ≈ -0.00482
</code></pre>
<p><strong>▶ 权重更新</strong>（α=0.5）：</p><pre class=""><code class="">w₃₁ ← 0.40 - 0.5×(-0.0445)×0.5933 = 0.4132
w₃₂ ← 0.45 - 0.5×(-0.0445)×0.5969 = 0.4633
w₁₁ ← 0.15 - 0.5×(-0.00430)×0.05  = 0.1501
w₁₂ ← 0.20 - 0.5×(-0.00430)×0.10  = 0.2002
w₂₁ ← 0.25 - 0.5×(-0.00482)×0.05  = 0.2501
w₂₂ ← 0.30 - 0.5×(-0.00482)×0.10  = 0.3002
</code></pre><blockquote>
<p>💡 一次迭代权重变化极小（w₃₂ 从 0.45→0.463 算大变化），实际训练需成千上万次迭代。权重变化方向：所有 w 都增大了，因为 δ 为负（输出偏小），增大 w 可提高输出逼近目标 0.99。</p></blockquote>
<h3 id="76-bp-">7.6 BP 常见问题与改进策略</h3><table><thead><tr><th style="text-align:left"> 瓶颈问题                 </th><th style="text-align:left"> 物理本质                                                     </th><th style="text-align:left"> 核心自救策略                                                 </th></tr></thead><tbody><tr><td style="text-align:left"> <strong>局部极小值 &amp; 鞍点</strong>    </td><td style="text-align:left"> 优化算法卡在梯度接近 0 的平坦区域，或者卡在非全局最优的山谷中。 </td><td style="text-align:left"> <strong>Adam 等自适应学习率优化器</strong>：它对每个参数单独计算学习率，并且通过二阶动量冲出平坦区和鞍点；此外，使用 <strong>SGD（随机梯度下降）</strong> 每次只用一个 Batch 算梯度，引入噪声，也能帮助模型“震”出局部极小。 </td></tr><tr><td style="text-align:left"> <strong>收敛缓慢（梯度消失）</strong> </td><td style="text-align:left"> 像 Sigmoid、Tanh 等激活函数，当网络变深时，导数连乘使前期的梯度无限趋近于 0。 </td><td style="text-align:left"> <strong>更换激活函数</strong>（改用 ReLU 族）；引入 <strong>BatchNorm</strong>（批归一化）防止输入落入激活函数的饱和区；使用 <strong>ResNet 残差连接</strong>。 </td></tr><tr><td style="text-align:left"> <strong>过拟合（泛化能力差）</strong> </td><td style="text-align:left"> 神经网络参数太多，强行记住了训练集里的全部细节（甚至噪声），导致新数据上效果极差。 </td><td style="text-align:left"> <strong>Dropout</strong>（训练时随机让一部分神经元“下岗”，逼迫网络不依赖特定通路）；<strong>L1/L2 正则化</strong>（惩罚过大的权重值）；<strong>早停（Early Stopping）</strong>。 </td></tr></tbody></table><table><thead><tr><th> 问题         </th><th> 原因                         </th><th> 改进方法                                    </th></tr></thead><tbody><tr><td> <strong>局部收敛</strong> </td><td> 梯度下降固有缺陷             </td><td> 动量法、随机梯度下降(SGD)、模拟退火         </td></tr><tr><td> <strong>收敛缓慢</strong> </td><td> 梯度消失（Sigmoid 两端 d≈0） </td><td> ReLU 激活、学习率衰减、BatchNorm            </td></tr><tr><td> <strong>过拟合</strong>   </td><td> 参数过多 + 数据不足          </td><td> 正则化(L1/L2)、Dropout、早停(EarlyStopping) </td></tr><tr><td> <strong>鞍点</strong>     </td><td> 高维梯度≈0但非极值           </td><td> 准Newton-BFGS、Adam等自适应优化器           </td></tr></tbody></table><hr/><h2 id="8-bayesian-bnn">8. Bayesian 神经网络（BNN）</h2><h3 id="81--nn-vs-bayesian-nn">8.1 标准 NN vs. Bayesian NN</h3><table><thead><tr><th> 特性             </th><th> 标准神经网络               </th><th> Bayesian 神经网络               </th></tr></thead><tbody><tr><td> <strong>权重</strong>         </td><td> 固定数值（点估计）         </td><td> 概率分布                        </td></tr><tr><td> <strong>学习目标</strong>     </td><td> min E(w)                   </td><td> max P(w|D) 或完整采样          </td></tr><tr><td> <strong>输出</strong>         </td><td> 单一预测值                 </td><td> 预测分布（均值 ± 不确定度）     </td></tr><tr><td> <strong>不确定度量化</strong> </td><td> <strong>无</strong>                     </td><td> <strong>参数不确定度 + 结构不确定度</strong> </td></tr><tr><td> <strong>计算量</strong>       </td><td> 中等                       </td><td> 极大（高维积分需 MCMC）         </td></tr><tr><td> <strong>过拟合风险</strong>   </td><td> 高（需人工正则化）         </td><td> 低（先验天然正则化）            </td></tr><tr><td> <strong>优化方法</strong>     </td><td> 梯度下降调整权重得 MSE min </td><td> 最大似然 Likelihood 学习        </td></tr></tbody></table><blockquote><p>💡 BNN 的核心价值：不仅告诉&quot;猜多少&quot;，还告诉&quot;有多确定&quot;。</p><p>完整预言包括超参数优化和预测分布。对核物理等需要精确误差估算的场景至关重要。</p></blockquote>
<h3 id="82-bnn---">8.2 BNN 数学框架 —— 高维不可积的困难</h3><h4 id="1bnn">1、BNN的生成式数学模型</h4><p>生成式：在概率图模型中 生成式模型指的是 对数据的联合分布/条件概率分布 进行显式建模， 并认为观测数据是通过某种“随机物理过程” 产生出来的。</p><p>假设真实物理世界（给定 输入 x 和 <strong>网络参数 \omega</strong> ） 符合如下关系 ：</p><p>$$
y = f(x, ω) + σ·ε , \space ε \sim \mathcal{N}(0, 1)
$$</p><ol start="1"><li><strong>$f(\mathbf{x}, \mathbf{\omega})$ 是确定性核心</strong>： 这是我们用神经网络（参数为 $\mathbf{\omega}$）搭建的一个非线性拟合函数。它的输出是模型预测的“物理规律中心”。</li><li><strong>$\sigma \cdot \epsilon$ 是随机观测噪声</strong>： $\epsilon \sim \mathcal{N}(0, 1)$ 是一个标准高斯分布的随机变量。 $\sigma$ 是噪声的振幅（标准差）。它代表了真实世界中由于仪器精度、环境干扰等产生的、**不可消除的随机噪声（Aleatoric Uncertainty，固有不确定度）。</li><li><strong>最终生成的 $y$ 是一个随机变量</strong>： 因为加入了高斯噪声，所以即使 $\mathbf{x}$ 和 $\mathbf{\omega}$ 完全固定，最终观测到的 $y$ 也不是一个死板的数，而是围绕着确定性预测中心 $f(\mathbf{x}, \mathbf{\omega})$ 抖动的一个分布。</li></ol><p>由于 $y = f(\mathbf{x}, \mathbf{\omega}) + \sigma \cdot \epsilon$，且 $\epsilon$ 是高斯分布，我们可以直接推导出，在给定 $\mathbf{x}$ 和 $\mathbf{\omega}$ 的条件下，观测值 $y$ 的条件概率分布（即<strong>单点似然函数</strong>）</p><p>根据高斯分布的线性变换性质： 若 $\epsilon \sim \mathcal{N}(0, 1)$，则 $\sigma \cdot \epsilon \sim \mathcal{N}(0, \sigma^2)$。 再加上一个常数偏置 $f(\mathbf{x}, \mathbf{\omega})$，该分布的均值变为 $f(\mathbf{x}, \mathbf{\omega})$，方差保持为 $\sigma^2$</p><p>$$
p(y | \mathbf{x}, \mathbf{\omega}) = \mathcal{N}\left(y; f(\mathbf{x}, \mathbf{\omega}), \sigma^2\right)
$$</p><p>分号前是随机变量 后边是 分布的参数！</p><h4 id="2-">2. 什么是参数数量？（手算参数规模）</h4><p>对 BNN 需要处理的“高维参数空间”有直观感受，拆解笔记中的参数公式。 假设一个多层感知机（MLP）有 $L$ 层，每层有 $H$ 个隐藏神经元。输入维度为 $|\mathbf{x}|$，输出维度为 $|\mathbf{y}|$。 我们可以将参数分成三部分：</p><ol start="1"><li><strong>输入层 $\rightarrow$ 第 1 隐藏层</strong>： 每个隐藏神经元有 $|\mathbf{x}|$ 个权重和 $1$ 个偏置（共 $|\mathbf{x}|+1$ 个）。因为有 $H$ 个隐藏神经元，所以参数个数为： $(1 + |\mathbf{x}|)H$</li><li><strong>隐藏层内部（共 $L-1$ 次层间连接）</strong>： 第 $l$ 层到第 $l+1$ 层（共 $H$ 个输入，$H$ 个输出）。每个输出神经元有 $H$ 个权重和 $1$ 个偏置。因为有 $H$ 个输出神经元，每次连接有 $(H+1)H$ 个参数。总共连接了 $L-1$ 次： $(L - 1)(H + 1)H$</li><li><strong>最后一层隐藏层 $\rightarrow$ 输出层</strong>： 输出层有 $|\mathbf{y}|$ 个神经元，每个神经元连接前一层 $H$ 个节点并拥有 $1$ 个偏置（共 $H+1$ ）。所以参数个数为： $(H + 1)|\mathbf{y}|$</li></ol><blockquote><p>计算参数公式时，<strong>输出层神经元个数完全等同于输出维度 $|y|$</strong>  其实就取决于你想利用神经网络去解决什么样的问题！</p><p>输出层的神经元，就是神经网络直接暴露给外部世界、用来承载预测结果的物理容器。
因为一个容器（神经元）在数学上只能装一个数，所以你需要预测多少个数值，就必须并排提供多少个容器。这就是“输出层神经元个数 = 输出维度”的终极原因。</p></blockquote>
<p>把它们加起来，就是总参数量： $\text{总参数量} \approx (1 + |\mathbf{x}|)H + (L - 1)(H + 1)H + (H + 1)|\mathbf{y}|$</p><blockquote><p><strong>恐怖之处</strong>：在标准 NN 中，这些参数只是一组实数（如 100 万个 float）；而在 BNN 中，我们要为这 100 万个参数的<strong>每一个</strong>都学习一个概率分布（如高斯分布的均值 $\mu$ 和方差 $\sigma^2$），这意味着<strong>参数空间维度瞬间翻倍，且由于参数间的强耦合，形成了一个极度复杂的百万维后验联合分布空间！</strong></p></blockquote>
<h4 id="3-">3. 贝叶斯后验推断</h4><p>给定训练数据集 $\mathcal{D} = {(\mathbf{x}<em>i, y</em>i)}_{i=1}^N$。</p><p>根据贝叶斯公式，参数的后验分布为： $p(\mathbf{\omega} | \mathcal{D}) = \frac{p(\mathcal{D} | \mathbf{\omega}) \cdot p(\mathbf{\omega})}{p(\mathcal{D})} \propto p(\mathcal{D} | \mathbf{\omega}) \cdot p(\mathbf{\omega})$</p><ul><li><strong>$p(\mathbf{\omega})$</strong>：先验分布（Prior）。比如我们假设权重在没看数据前，默认服从一个均值为 0 的窄高斯分布（起到了类似 $L_2$ 正则化的作用）。</li><li><strong>$p(\mathcal{D} | \mathbf{\omega})$</strong>：似然函数（Likelihood）。即如果参数是 $\mathbf{\omega}$，这堆数据出现的概率。</li><li><strong>$p(\mathcal{D})$</strong>：证据（Evidence）或边际似然。它是对所有可能参数积分得到的<strong>归一化常数</strong>： $p(\mathcal{D}) = \int p(\mathcal{D} | \mathbf{\omega}) p(\mathbf{\omega}) d\mathbf{\omega}$</li></ul><h4 id="4-">4. 预测（不确定度传播的数学形式）</h4><p>当我们来了一个全新的测试样本 $\mathbf{x}^<em>$，我们要预测其输出 $\mathbf{y}^</em>$ 的分布。我们不能只用某一组“最好”的权重，而是要把</p><p><strong>所有可能的权重对应的预测，按照它们成为真实权重的概率（后验概率）进行加权平均（即做积分）</strong></p><p>$$
p(y^<em> | \mathbf{x}^</em>, \mathcal{D}) = \int p(y^<em> | \mathbf{x}^</em>, \mathbf{\omega}) \cdot p(\mathbf{\omega} | \mathcal{D}) d\mathbf{\omega}
$$</p><p><strong>为什么说这个积分一般无法解析求解？</strong> 因为神经网络 $f(\mathbf{x}, \mathbf{\omega})$ 高度非线性，我们无法把这个积分写成干净的数学初等函数。在百万维的非凸空间里进行数值数值积分（比如用网格法），在计算上是绝对不可能完成的（维度灾难）。</p><h3 id="-"> </h3><h3 id="83-">8.3 三种估计方法对比</h3><table><thead><tr><th> 方法       </th><th> 操作            </th><th> 输出                 </th><th> 适用           </th></tr></thead><tbody><tr><td> MLE        </td><td> max P(D|ω)     </td><td> 点估计（无不确定度） </td><td> 大数据、弱先验 </td></tr><tr><td> MAP        </td><td> max P(D|ω)P(ω) </td><td> 带先验约束的点估计   </td><td> 有领域先验知识 </td></tr><tr><td> Full Bayes </td><td> MCMC 完整积分   </td><td> 完整后验分布         </td><td> 需精确不确定度 </td></tr></tbody></table><blockquote><p>💡 均匀先验下 MAP = MLE。</p><p>MAP = &quot;被先验轻轻拉着的极大似然&quot;——既信数据也尊重已知。</p></blockquote>
<h4 id="-map-">深度剖析：为什么 MAP =“被先验轻轻拉着的极大似然”？</h4><p>在数学上，如果我们假设先验分布 $p(\mathbf{\omega})$ 是一个零均值、各向同性的高斯分布 $\mathcal{N}(0, \sigma_0^2 \mathbf{I})$：</p><p>$$
\log p(\mathbf{\omega}) = -\frac{1}{2\sigma<em>0^2} |\mathbf{\omega}|</em>2^2 + \text{const}
$$</p><p>如果我们带入 MAP 的优化目标：</p><p>$$
\mathbf{\omega}<em>{\text{MAP}} = \arg\max</em>{\mathbf{\omega}} \left[ \sum<em>{i=1}^N \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}) - \frac{1}{2\sigma</em>0^2} |\mathbf{\omega}|_2^2 \right]
$$</p>
<p>把最大化改成最小化（乘以 $-1$）：</p><p>$$
\mathbf{\omega}<em>{\text{MAP}} = \arg\min</em>{\mathbf{\omega}} \left[ -\sum<em>{i=1}^N \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}) + \lambda |\mathbf{\omega}|</em>2^2 \right]
$$</p><p> 其中 $\lambda = \frac{1}{2\sigma_0^2}$。</p><p><strong>前半部分就是极大似然（MLE）对应的负对数似然损失（在均方误差下就是 MSE），后半部分恰恰就是我们极其熟悉的 $L_2$ 正则化（权重衰减 Weight Decay）！</strong></p><ul><li>当你的先验非常弱（$\sigma_0 \rightarrow \infty$，即先验分布非常宽、非常平坦），$\lambda \rightarrow 0$，此时 MAP 退化为普通的 MLE。</li><li>当你的先验非常强（$\sigma_0$ 很小），$\lambda$ 变大，先验就会像一根强力的弹簧，把不断想要迎合噪声数据的参数 $\mathbf{\omega}$ 狠狠地往原点 $0$ 的方向拉。</li></ul><h3 id="84-sgld-langevin-">8.4 SGLD（随机梯度 Langevin 动力学）</h3><p>既然全贝叶斯积分那么难算，我们要怎么在有限的算力下得到完整的后验分布 $p(\mathbf{\omega} | \mathcal{D})$ 呢？ 答案就是：<strong>MCMC（马尔可夫链蒙特卡洛采样）</strong>。我们不在高维空间里做积分，而是<strong>根据后验概率分布在参数空间里进行采样</strong>。如果我们采出了 1000 套不同的权重参数 ${\mathbf{\omega}^{(s)}}<em>{s=1}^{1000}$，那么预测积分就可以近似为这 1000 套权重预测值的算术平均： $p(y^<em> | \mathbf{x}^</em>, \mathcal{D}) \approx \frac{1}{1000} \sum</em>{s=1}^{1000} p(y^<em> | \mathbf{x}^</em>, \mathbf{\omega}^{(s)})$</p><p>而在所有采样算法中，<strong>SGLD</strong> 是一项里程碑式的突破，它创造性地将深度学习的<strong>小批量（Mini-batch）梯度下降优化</strong>与<strong>物理学中的分子热运动（朗之万动力学 Langevin Dynamics）</strong>融合在了一起。</p>
<h4 id="">知识补充</h4><h5 id="-">一、 什么是“标准深度学习”？它的优化本质是什么？</h5><p>在<strong>标准深度学习</strong>（非贝叶斯深度学习）中，我们认为神经网络的权重 $\mathbf{\omega}$ 是<strong>一组未知的、但确定存在的常数</strong>（即只有一个唯一的最优解）。</p><p>我们的目标是找到这组特定的 $\mathbf{\omega}$，使得网络在训练集上的预测误差最小。</p><p>假设我们有训练集 $\mathcal{D} = {(\mathbf{x}<em>i, y</em>i)}<em>{i=1}^N$。我们定义了似然函数 $p(y</em>i | \mathbf{x}_i, \mathbf{\omega})$，根据我们在前文推导的观测假设，它是一个高斯分布：</p><p>$$
p(y<em>i | \mathbf{x}</em>i, \mathbf{\omega}) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{\left(y<em>i - f(\mathbf{x}</em>i, \mathbf{\omega})\right)^2}{2\sigma^2} \right)
$$</p><p>在标准深度学习中，我们通过<strong>最大似然估计（Maximum Likelihood Estimation, MLE）</strong>来寻找权重。其目标是最大化所有观测数据的联合概率：</p><p>$$
\mathbf{\omega}<em>{\text{MLE}} = \arg\max</em>{\mathbf{\omega}} \sum<em>{i=1}^N \log p(y</em>i | \mathbf{x}_i, \mathbf{\omega})
$$</p><p>将高斯分布的解析式代入，并去掉与 $\mathbf{\omega}$ 无关的常数项，上述最大化问题等价于最小化均方误差：</p><p>$$
\mathbf{\omega}<em>{\text{MLE}} = \arg\min</em>{\mathbf{\omega}} \sum<em>{i=1}^N \left(y</em>i - f(\mathbf{x}_i, \mathbf{\omega})\right)^2
$$</p><p>为了找到这个最小点，我们使用梯度下降算法。每一次更新权重的公式为：</p><p>$$
\mathbf{\omega}<em>{k+1} = \mathbf{\omega}</em>k + \alpha \sum<em>{i=1}^N \nabla</em>{\mathbf{\omega}} \log p(y<em>i | \mathbf{x}</em>i, \mathbf{\omega}_k)
$$</p><p>（其中 $\alpha$ 是学习率，$\nabla_{\mathbf{\omega}}$ 是对权重求偏导的梯度算子）。</p><ul><li><strong>“拟合数据”的数学本质</strong>：
梯度 $\nabla<em>{\mathbf{\omega}} \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}</em>k)$ 在几何上指向的是<strong>“能使当前样本预测概率增大的方向”</strong>。
当我们沿着这个梯度方向更新权重时，权重的数值就会发生改变，使得网络预测的均值 $f(\mathbf{x}<em>i, \mathbf{\omega})$ 越来越接近真实观测值 $y</em>i$。这就是“通过调整权重来拟合数据”的数学过程。</li></ul><hr/><h5 id="-">二、 什么是“正则化”？为什么参数在没有数据支持时会“漂移”？</h5><h6 id="1-regularization">1. 什么是正则化（Regularization）？</h6><p>在机器学习中，如果我们完全不加限制地让权重去拟合数据（即只最大化似然），网络会过度迎合训练集中的噪声，导致<strong>过拟合</strong>。此时得到的权重往往数值极大，且极其不稳定。</p><p>为了限制权重的取值范围，我们在损失函数中引入一个惩罚项，这就是<strong>正则化</strong>。最常用的是 <strong>L2 正则化（在深度学习中也叫权重衰减，Weight Decay）</strong>，它的目标函数为：</p><p>$$
L<em>{\text{reg}}(\mathbf{\omega}) = -\sum</em>{i=1}^N \log p(y<em>i | \mathbf{x}</em>i, \mathbf{\omega}) + \frac{\lambda}{2} |\mathbf{\omega}|_2^2
$$</p><p>其中 $|\mathbf{\omega}|<em>2^2 = \sum</em>j \omega_j^2$ 是权重的平方和，$\lambda &gt; 0$ 是调节惩罚力度的超参数。</p><h6 id="2-">2. 什么是正则化项的梯度？</h6><p>当我们要最小化 $L_{\text{reg}}(\mathbf{\omega})$ 时，需要对权重求梯度。对第二项（正则化项）求导：</p><p>$$
\nabla<em>{\mathbf{\omega}} \left( \frac{\lambda}{2} |\mathbf{\omega}|</em>2^2 \right) = \lambda \mathbf{\omega}
$$</p><p>这就是<strong>正则化项的梯度</strong>。</p><p>在梯度下降中，这一项的作用非常直观：</p><p>$$
\mathbf{\omega}<em>{k+1} = \mathbf{\omega}</em>k - \alpha \left( \text{数据梯度} + \lambda \mathbf{\omega}<em>k \right) = (1 - \alpha\lambda)\mathbf{\omega}</em>k - \alpha \cdot (\text{数据梯度})
$$</p><p>由于 $1 - \alpha\lambda &lt; 1$，可以看到，正则化项的梯度在<strong>每一次更新时，都会强行把权重往 $0$ 的方向拉回一点</strong>。</p><h6 id="3-drift">3. 为什么在没有数据支持的区域参数会“漂移（Drift）”？</h6><p>假设在参数空间的某一个维度上，我们的训练集没有任何数据落在这个区域（或者说，某些权重对应的特征在数据中极少出现）。</p><ul><li><strong>如果没有正则化</strong>：
因为没有数据，似然函数对该权重的梯度为 $0$。在数值计算中，各种微小的浮点数舍入误差、或者其他相关维度的间接影响，会累积在这些无约束的权重上。这会导致这些权重像“无绳的风筝”一样，在训练过程中随机游走、数值变得极大或极小（即<strong>无限制漂移</strong>），使得网络在面对未见过的新数据时做出极其荒谬的预测。</li><li><strong>如果有正则化（即先验支持）</strong>：
即使没有数据提供梯度，正则化项的梯度 $\lambda \mathbf{\omega}$ 依然存在。它会像一根橡皮筋一样，强行把这些无约束的权重拉回到 $0$ 附近，从而保证了模型的稳定性和泛化能力。</li></ul><hr/><h5 id="--map-">三、 什么是 MAP 点（最大后验估计点）？</h5><p>在贝叶斯学派的视角下，我们不认为权重 $\mathbf{\omega}$ 是一个死板的常数，而是认为它是一个<strong>随机变量</strong>。</p><p>根据贝叶斯定理，权重的<strong>后验概率分布</strong>（即在看到数据 $\mathcal{D}$ 之后，权重各个取值的概率）为：</p><p>$$
p(\mathbf{\omega} | \mathcal{D}) = \frac{p(\mathcal{D} | \mathbf{\omega}) p(\mathbf{\omega})}{p(\mathcal{D})}
$$</p><p>其中：</p><ul><li>$p(\mathcal{D} | \mathbf{\omega})$ 是<strong>似然函数</strong>（数据拟合项）。</li><li>$p(\mathbf{\omega})$ 是<strong>先验分布</strong><br/>如果我们假设权重服从均值为 $0$ 的高斯先验：
 $p(\mathbf{\omega}) = \mathcal{N}(\mathbf{\omega}; \mathbf{0}, \sigma_0^2 \mathbf{I})$。</li><li>$p(\mathcal{D})$ 是归一化常数，与权重 $\mathbf{\omega}$ 无关。</li></ul><h6 id="1-map-">1. MAP 的定义</h6><p><strong>最大后验估计（Maximum A Posteriori, MAP）</strong> 的目标是：寻找一个<strong>单一的权重值</strong> $\mathbf{\omega}_{\text{MAP}}$，使得后验概率 $p(\mathbf{\omega} | \mathcal{D})$ 达到最大值（即寻找后验分布曲线的最高峰山顶）。</p><p>$$
\mathbf{\omega}<em>{\text{MAP}} = \arg\max</em>{\mathbf{\omega}} \log p(\mathbf{\omega} | \mathcal{D}) = \arg\max_{\mathbf{\omega}} \left[ \log p(\mathcal{D} | \mathbf{\omega}) + \log p(\mathbf{\omega}) \right]
$$</p><h6 id="2-map--l2-">2. MAP 与 L2 正则化的等价性（数学证明）</h6><p>我们将高斯先验的解析式代入 $\log p(\mathbf{\omega})$：</p><p>$$
\log p(\mathbf{\omega}) = \log \left( \frac{1}{(2\pi)^{d/2}\sigma<em>0^d} \exp\left(-\frac{|\mathbf{\omega}|</em>2^2}{2\sigma<em>0^2}\right) \right) = -\frac{1}{2\sigma</em>0^2} |\mathbf{\omega}|_2^2 + \text{const}
$$</p><p>将此代入 MAP 的目标函数中：</p><p>$$
\mathbf{\omega}<em>{\text{MAP}} = \arg\max</em>{\mathbf{\omega}} \left[ \sum<em>{i=1}^N \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}) - \frac{1}{2\sigma</em>0^2} |\mathbf{\omega}|_2^2 \right]
$$</p><p>两边同乘以 $-1$，最大化问题变为最小化问题：</p><p>$$
\mathbf{\omega}<em>{\text{MAP}} = \arg\min</em>{\mathbf{\omega}} \left[ -\sum<em>{i=1}^N \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}) + \frac{1}{2\sigma</em>0^2} |\mathbf{\omega}|_2^2 \right]
$$</p><p>对比第二部分 L2 正则化的公式，只要令 $\lambda = \frac{1}{\sigma_0^2}$，这两者在数学上是<strong>完全等价</strong>的！</p><ul><li><strong>结论</strong>：所谓的 <strong>MAP 点</strong>，就是我们在标准深度学习中，加入了 L2 正则化（权重衰减）后，训练出来的<strong>那组最终的、单一的权重 $\mathbf{\omega}$</strong>。它仅仅对应了后验概率分布的最大值点（山峰的最高点）。</li></ul><hr/><h5 id="-sgld-">四、 SGLD 中的噪声注入：为什么要注入噪声？数学原理是什么？</h5><p>在贝叶斯神经网络（BNN）中，我们的最终目的<strong>不是</strong>寻找一个单一的最优权重（比如 MAP 点），而是要得到<strong>整个后验概率分布 $p(\mathbf{\omega} | \mathcal{D})$ 的形状</strong>，从而能够评估预测的不确定性。</p><p>但是，高维空间中的后验分布 $p(\mathbf{\omega} | \mathcal{D})$ 极其复杂，无法直接写出解析式。我们只能通过<strong>蒙特卡洛采样（Sampling）</strong>：让一粒“粒子”在权重空间中漫游，它在某个区域停留的频率，正好等于该区域的概率密度。</p><h6 id="1--sgd--map">1. 为什么常规 SGD 只能找到 MAP，而不能实现采样？</h6><p>如果我们使用带正则化的 SGD 进行更新：</p><p>$$
\mathbf{\omega}<em>{k+1} = \mathbf{\omega}</em>k + \frac{\epsilon<em>k}{2} \left[ \nabla</em>{\mathbf{\omega}} \log p(\mathbf{\omega}<em>k) + \frac{N}{n}\sum</em>{i=1}^n \nabla<em>{\mathbf{\omega}} \log p(y</em>{i} | \mathbf{x}<em>{i}, \mathbf{\omega}</em>k) \right]
$$</p><p>这里的步长为 $\frac{\epsilon_k}{2}$。因为这是一个纯粹的优化过程，粒子受到梯度的吸引，会一直沿着山坡往上爬，最终<strong>无可避免地死死停在山顶（即 MAP 点）上</strong>。
一旦停下来，我们就只能得到这一个点的信息，无法得知整座山的形状。</p><h6 id="2-sgld">2. 噪声注入（SGLD）的数学机理</h6><p>为了让粒子不在山顶停下，而是在整座山上“漫游”，随机梯度朗之万动力学（SGLD）在更新公式中强行注入了一个高斯噪声 $\mathbf{\eta}_k$：</p><p>$$
\mathbf{\omega}<em>{k+1} = \mathbf{\omega}</em>k + \frac{\epsilon<em>k}{2} \left[ \nabla</em>{\mathbf{\omega}} \log p(\mathbf{\omega}<em>k) + \frac{N}{n}\sum</em>{i=1}^n \nabla<em>{\mathbf{\omega}} \log p(y</em>{i} | \mathbf{x}<em>{i}, \mathbf{\omega}</em>k) \right] + \mathbf{\eta}_k
$$</p><p>其中， $\mathbf{\eta}<em>k \sim \mathcal{N}(\mathbf{0}, \epsilon</em>k \mathbf{I})$。</p><p>请极其仔细地观察这两个关键项的抗衡：</p><ol start="1"><li><strong>确定性梯度项</strong>（括号里的项）：它像地心引力一样，始终把粒子拉向概率最高的地方（山顶/MAP 点）。</li><li><strong>随机噪声项</strong> $\mathbf{\eta}_k$：它像热涨落一样，无规则地把粒子随机往各个方向推开。</li></ol><p>在物理学中，这种由“外力场（引力/梯度）”和“随机碰撞（噪声）”共同作用的过程，被称为<strong>朗之万扩散过程（Langevin Diffusion）</strong>。</p><h6 id="3-">3. 数学定理保障：为什么它能正确采样？</h6><p>根据随机微分方程理论，当步长 $\epsilon<em>k \to 0$ 且满足一定的衰减条件时（即 $\sum \epsilon</em>k = \infty, \sum \epsilon_k^2 &lt; \infty$），该离散马尔可夫链的<strong>平稳分布（Stationary Distribution）在数学上被严格证明收敛于真实的后验分布 $p(\mathbf{\omega} | \mathcal{D})$</strong>。</p><p>这意味着：</p><ul><li>当粒子爬到山顶（MAP点）时，由于噪声 $\mathbf{\eta}_k$ 的存在，它会被随机踢下山。</li><li>山陡峭的地方（概率低），引力（梯度）极大，粒子被踢下去后会迅速被拉回来。</li><li>山平缓的地方（概率高），粒子可以在这里漫游很长时间。</li><li>如果我们把粒子在每一个时间步的物理位置 ${\mathbf{\omega}<em>1, \mathbf{\omega}</em>2, \dots, \mathbf{\omega}_T}$ 记录下来，这些记录下来的权重样本集合，其直方图就会<strong>完美逼近真实的后验概率分布 $p(\mathbf{\omega} | \mathcal{D})$ 的曲线</strong>。</li></ul><p>这就是通过“噪声注入”将一个“寻找单点的优化算法”魔改为“描绘整体分布的采样算法”的完整数学机理。</p>
<p>将梯度优化与 MCMC 采样融合：</p><p>$$
w<em>{k+1} = w</em>k + (\frac{\epsilon<em>{k}}{2})·∇log P(w</em>k|D) + η<em>k\space,  \space\eta</em>k \sim \mathcal{N}(0 , \epsilon_{k}\mathbf{I})
$$</p>
<p>展开后验梯度：</p><p>$$
w<em>{k+1} = w</em>k + (\frac{\epsilon<em>{k}}{2}) [ ∇log P(w</em>k) + (N/n) Σ<em>{i = 1}^{n} ∇log P(y</em>i|x<em>i,w</em>k) ] + η<em>k , \eta</em>k \sim \mathcal{N}(0 , \epsilon_{k}\mathbf{I})
$$</p>
<table><thead><tr><th> 项                         </th><th> 作用                            </th></tr></thead><tbody><tr><td> ∇log P(w)（先验梯度）      </td><td> 向先验&quot;拉回&quot;，起正则化作用      </td></tr><tr><td> ∇log P(y|x,w)（似然梯度） </td><td> 推动拟合数据，用 mini-batch     </td></tr><tr><td> η_k ~ N(0, ε)（噪声注入）  </td><td> 防止停在 MAP 单点，探索整个后验 </td></tr></tbody></table><p><strong>似然梯度项（推动拟合数据）</strong>： $\frac{N}{n} \sum<em>{i=1}^n \nabla \log p(y</em>i | \mathbf{x}<em>i, \mathbf{\omega}</em>k)$ 在大型数据集（总样本数 $N$）中，计算全量梯度太慢了。我们每次只抽取一个大小为 $n$ 的小批量（Mini-batch）来估算梯度，然后乘以放大系数 $\frac{N}{n}$ 来近似全量梯度。这和标准深度学习中 SGD 的操作完全一致。它负责推动权重去拟合数据。</p><p><strong>先验梯度项（向先验“拉回”）</strong>： $\nabla \log p(\mathbf{\omega}_k)$ 相当于正则化项的梯度。它防止网络参数在没有数据支持的区域无限制地漂移，把它往先验分布的中心拉。</p><p><strong>噪声注入（灵魂所在，防卡死）</strong>： $\mathbf{\eta}<em>k \sim \mathcal{N}(0, \epsilon</em>k \mathbf{I})$ 在常规的 SGD 优化中，小球会沿着斜坡滚到某一个局部极小值（MAP 点）然后停下来不动。 但是在 SGLD 中，我们故意在每一步更新中注入一个<strong>高斯随机噪声 $\mathbf{\eta}_k$</strong>。这相当于给这个滚下山的小球不停地施加微小的震动（类似于热力学中的布朗运动）。 有了这个噪声，小球<strong>永远不会在某个单点停下来</strong>，它会在最有可能的参数区域附近<strong>欢快地、受控地漫游（Sampling）</strong>。它在某个区域停留的时间长短，正好对应了后验概率 $p(\mathbf{\omega} | \mathcal{D})$ 在该区域的高低！</p>
<p>💡 <strong>SGLD 核心</strong>：用注入噪声在参数空间中&quot;受控漫游&quot;。比纯 MCMC 快，比纯优化提供不确定度。Capture parameter uncertainty！</p><h4 id="-sgld-">为什么 SGLD 能够收敛到正确的后验分布？</h4><p>这里面有一个非常精妙的数学物理机制： 随着采样步数 $k$ 的增加，我们的步长（学习率）$\epsilon_k$ 会缓慢衰减（但不能衰减得太快）。</p><ul><li>在更新项中，确定性的梯度项的系数是 $\frac{\epsilon<em>k}{2}$，其衰减速度是 $\mathcal{O}(\epsilon</em>k)$。</li><li>而注入的随机噪声 $\mathbf{\eta}<em>k$ 的标准差是 $\sqrt{\epsilon</em>k}$，其衰减速度是 $\mathcal{O}(\sqrt{\epsilon_k})$。</li></ul><p>随着步长 $\epsilon_k$ 越来越小，梯度带来的确定性漂移会逐渐被随机噪声（布朗运动）所主导。在数学上可以证明，当步长衰减满足特定的“Robbins-Monro 条件”时，<strong>这种受控的随机漫游轨迹产生的样本，会严格且完美地收敛到参数的真实后验概率分布 $p(\mathbf{\omega} | \mathcal{D})$</strong>！</p><hr/><h2 id="9-">9. 正则化与奥卡姆剃刀</h2><h3 id="91-l2-">9.1 L2 权重衰减正则化</h3><p>在损失函数中加入<strong>惩罚大权重</strong>的项（<strong>L2正则化</strong>）：</p><p>$$
E<em>{reg}(\omega) = E(\omega) + (\frac{\alpha}{2 \beta}) \sum \omega^{2}</em>{i}
$$
$\alpha$ 是 正则化强度</p><h4 id="bayesian-">Bayesian 视角：等价于给权重施加高斯先验</h4><p>P(w) ∝ exp(-α/2 · Σwᵢ²)</p><ol start="1"><li>贝叶斯视角下的概率本质</li></ol><p>在上一节我们证明了，寻找使后验概率最大的点（MAP 点）其公式为： $\mathbf{\omega}<em>{\text{MAP}} = \arg\max</em>{\mathbf{\omega}} \left[ \log p(\mathcal{D} | \mathbf{\omega}) + \log p(\mathbf{\omega}) \right]$</p><p>现在我们给定具体的先验和似然分布：</p><ul><li><strong>先验 $p(\mathbf{\omega})$</strong>：假设我们认为权重应该在 $0$ 附近，服从一个独立同分布的<strong>高斯先验（Gaussian Prior）</strong>： $p(\mathbf{\omega}) = \left(\frac{\alpha}{2\pi}\right)^{M/2} \exp\left( -\frac{\alpha}{2} \sum<em>{i=1}^M \omega</em>i^2 \right)$ 这里，参数 $\alpha$ 实际上代表了先验分布的<strong>精度（Precision）</strong>，即方差的倒数：$\alpha = 1/\sigma_0^2$。它的数值越大，高斯先验分布的曲线就越陡峭、越窄，说明我们越有信心认为“权重应该等于 $0$”。</li><li><strong>似然 $p(\mathcal{D} | \mathbf{\omega})$</strong>：假设观测数据带有方差为 $\sigma^2$ 的高斯噪声，定义噪声精度为 $\beta = 1/\sigma^2$，则似然为： $p(\mathcal{D} | \mathbf{\omega}) \propto \exp\left( -\frac{\beta}{2} \sum<em>{n=1}^N (y</em>n - f(\mathbf{x}_n, \mathbf{\omega}))^2 \right)$</li></ul><ol start="2"><li>数学等价性证明</li></ol><p>将这两项取对数相加： $\log p(\mathbf{\omega} | \mathcal{D}) \propto \log p(\mathcal{D} | \mathbf{\omega}) + \log p(\mathbf{\omega})$ $\log p(\mathbf{\omega} | \mathcal{D}) \propto -\frac{\beta}{2} \sum<em>{n=1}^N (y</em>n - f(\mathbf{x}<em>n, \mathbf{\omega}))^2 - \frac{\alpha}{2} \sum</em>{i=1}^M \omega_i^2 + \text{const}$</p><p>为了让公式最简化，我们将两边同时除以 $-\beta$（这不改变最大化问题求极值点的位置），并令总损失 $E(\mathbf{\omega}) = \frac{1}{2} \sum (y<em>n - f(\mathbf{x}</em>n, \mathbf{\omega}))^2$（即均方误差的一半）：</p><p>$\text{Target} = E(\mathbf{\omega}) + \frac{\alpha / \beta}{2} \sum<em>{i=1}^M \omega</em>i^2$</p><p><strong>这就是 L2 权重衰减公式的概率本质：它完美等价于高斯先验下的 MAP 估计。</strong></p><ul><li><strong>$\beta$（噪声精度）</strong>越大（数据噪声越小），我们越信赖数据，惩罚项相对变小。</li><li><strong>$\alpha$（先验精度）</strong>越大，我们越保守，惩罚项变大，强迫权重不能偏离 0 太远。</li></ul><table><thead><tr><th> 超参数        </th><th> 含义     </th><th> 效果                         </th></tr></thead><tbody><tr><td> α（大）       </td><td> 强正则化 </td><td> 模型更简单，可能欠拟合       </td></tr><tr><td> α（小）       </td><td> 弱正则化 </td><td> 贴近数据，可能过拟合         </td></tr><tr><td> β（噪声精度） </td><td> 1/σ²     </td><td> 控制数据拟合 vs 正则化的权重 </td></tr></tbody></table><blockquote><p>大权重 → 模型过分关注特定噪声模式 → 记住噪声 → 过拟合。</p><p>惩罚大权重 = 强迫模型简约。</p></blockquote>
<h3 id="92-occams-razor">9.2 奥卡姆剃刀（Occam&#x27;s Razor）</h3><p><strong>哲学原则</strong>：能解释数据的模型中，最简单者最佳。</p><p><strong>数学表达</strong>（Bayesian 模型比较）——边际似然 Evidence</p><p>EVIDENCE</p><p>当我们有多个候选模型 $M<em>1, M</em>2, \dots$（比如 $M<em>1$ 是 1 次多项式，$M</em>2$ 是 3 次多项式，$M<em>3$ 是 10 次多项式）。 我们想知道：<strong>在看到数据 $\mathcal{D}$ 后，哪个模型最合理？</strong> 根据贝叶斯公式，模型自身的后验概率为： $p(M</em>i | \mathcal{D}) \propto p(\mathcal{D} | M<em>i) \cdot p(M</em>i)$ 如果我们假设每个模型的先验概率 $p(M<em>i)$ 是一样的，那么**决定哪个模型胜出的唯一标准就是 $p(\mathcal{D} | M</em>i)$（Evidence，边际似然）**<a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHq9OQgpg_5wD1Yi2u_8W0HNA-Gdmpy2AHebkcN_50L_Xt5xv5VtnX2Bo21ILDYqynYhP8hu9v777U3vetd5fPxDM4XZWBuR2d_-aaldlRPTZC8rqlOmr_EWUlL">2</a>。</p><p>它的计算方法是对该模型下<strong>所有可能参数进行积分（积分消去权重）</strong><a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGdFh_J_hkHyVW9NGYmRVygiGTUUQKbfpfUGIGwMbItdebwdPhWXTIH-MCC-zIGsg6CLMq0EZTsbCOg7AKCqNpv1yc6eh3JSMR1fWqTT9UhgLSerDjjDcPc95mNNKqn92EE4qlkLNFMTy1eBqHTEQ==">3</a><a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHx4-fRVLga53pJU8GR0zjzq7MjmJY2AIO5Rv1zBx-bpKMvpxZQB-e1xJbD0BH9D2HseW0wRT3Teng-vMYA8sLua6TsHgEVvobb3psKNi4ewN99I9hSa1nOPa1Xm6URRFntjXgPGlkU_zceie7b0kK8eAryaQTd6TJqY_O4GEFcx4w=">1</a>： $P(\mathcal{D} | M) = \int P(\mathcal{D} | \mathbf{\omega}, M) \cdot P(\mathbf{\omega} | M) d\mathbf{\omega}$</p><p>关注 evidence可以自动执行 奥卡姆剃刀的原则！</p><p>由于概率是需要归一化的，因此对于任何模型 $M$，其在所有可能的数据空间 $\mathcal{D}$ 上的 Evidence 积分必须为 1： $\int P(\mathcal{D} | M) d\mathcal{D} = 1$</p><p>这导致了不同复杂度的模型在数据空间中分配其“概率预算”的方式截然不同：</p><ul><li><strong>简单模型 $M_1$</strong>：它的参数空间很小，只能生成非常简单的数据。如果我们的观测数据 $\mathcal{D}<em>{\text{obs}}$ 稍微复杂一点（比如带有一定的非线性）， $M</em>1$ 根本拟合不了，因此其似然函数   $P(\mathcal{D}<em>{\text{obs}} | \mathbf{\omega}, M</em>1)$  在任何参数下都极小。最终积分得出的 <strong>Evidence 极小</strong>。</li><li><strong>极度复杂模型 $M_3$</strong>（拥有成千上万个参数）：它可以解释世界上的任意数据（拟合能力极强）。 但是，因为它的参数空间巨大（比如上百万维），它的<strong>先验分布  $P(\mathbf{\omega} | M_3)$ 会把概率密度稀释、平摊到极其庞大的参数范围里</strong><a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGdFh_J_hkHyVW9NGYmRVygiGTUUQKbfpfUGIGwMbItdebwdPhWXTIH-MCC-zIGsg6CLMq0EZTsbCOg7AKCqNpv1yc6eh3JSMR1fWqTT9UhgLSerDjjDcPc95mNNKqn92EE4qlkLNFMTy1eBqHTEQ==">3</a><a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHq9OQgpg_5wD1Yi2u_8W0HNA-Gdmpy2AHebkcN_50L_Xt5xv5VtnX2Bo21ILDYqynYhP8hu9v777U3vetd5fPxDM4XZWBuR2d_-aaldlRPTZC8rqlOmr_EWUlL">2</a>。 在做高维积分 $\int P(\mathcal{D}<em>{\text{obs}} | \mathbf{\omega}, M</em>3) P(\mathbf{\omega} | M<em>3) d\mathbf{\omega}$ 时，虽然第一项似然可以很大（能拟合），但第二项先验概率在整个参数空间里<strong>小得可怜</strong><a href="https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGdFh_J_hkHyVW9NGYmRVygiGTUUQKbfpfUGIGwMbItdebwdPhWXTIH-MCC-zIGsg6CLMq0EZTsbCOg7AKCqNpv1yc6eh3JSMR1fWqTT9UhgLSerDjjDcPc95mNNKqn92EE4qlkLNFMTy1eBqHTEQ==">3</a>[2](https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHq9OQgpg</em>5wD1Yi2u<em>8W0HNA-Gdmpy2AHebkcN</em>50L<em>Xt5xv5VtnX2Bo21ILDYqynYhP8hu9v777U3vetd5fPxDM4XZWBuR2d</em>-aaldlRPTZC8rqlOmr_EWUlL)。这导致在积分后，<strong>Evidence 依然很小</strong>。 <em>(这就是笔记里“大厨”的比喻：满汉全席大厨可以做1万道菜，你让他只做一道煎蛋，他把这道煎蛋做出来的概率，只是他那一万道菜谱中渺小的 1/10000。他被自己的“多才多艺（高复杂度）”给惩罚了。)</em></li><li><strong>适中模型 $M_2$</strong>：它的复杂度刚好能解释 $\mathcal{D}_{\text{obs}}$，它的参数空间没有被无端放大，因此概率分布没有被严重稀释。最终它的 <strong>Evidence 最大</strong></li></ul><table><thead><tr><th> 模型       </th><th> 复杂度 </th><th> Evidence   </th><th> 原因                         </th></tr></thead><tbody><tr><td> M₁（简单） </td><td> 低     </td><td> <strong>小</strong>     </td><td> 拟合数据不好 → 似然低        </td></tr><tr><td> M₂（适中） </td><td> 中     </td><td> <strong>最大</strong> ✓ </td><td> 能拟合又不浪费参数           </td></tr><tr><td> M₃（复杂） </td><td> 高     </td><td> <strong>小</strong>     </td><td> 能拟合但概率&quot;平摊&quot;到太多可能 </td></tr></tbody></table><blockquote><p>💡 <strong>说人话</strong>：复杂模型像满汉全席大厨——你只叫他煎蛋，他的本事被&quot;浪费&quot;，分摊到每个可能菜单的概率都低。中等复杂度刚好够用 Evidence 最大。</p></blockquote>
<h3 id="93-evidence-">9.3 Evidence 的两项竞争平衡</h3><p>随参数数 M 增加：</p><ul><li><strong>第一项（拟合）</strong>：总更好（或不变差）</li><li><strong>第二项（复杂度惩罚）</strong>：变差</li><li>两者平衡处 = 最优 M</li></ul><h3 id="94-">9.4 课程实例：核物理模型比较</h3><p><strong>GPR（仅 3 个超参数）在核质量外推中表现优于 BNN</strong>（参数太多可能 unstable）。</p><p>这完美体现奥卡姆剃刀——<strong>当数据有限时，简单模型往往更可靠</strong>。</p><blockquote><p>💡 BNN 虽然理论上更强大（提供参数分布），但其大量参数在有限数据下可能不稳定。GPR 以极少的超参数提供优秀的泛化能力，成为核物理外推的首选。</p></blockquote>
<hr/><h2 id="10-">10. 置信区间与不确定度传播</h2><h3 id="101--ci-vs-bayesian-ci">10.1 经典 CI vs. Bayesian CI</h3><table><thead><tr><th> 方面 </th><th> 经典 CI                        </th><th> Bayesian CI                        </th></tr></thead><tbody><tr><td> 定义 </td><td> 重复抽样∞次，95%的区间包含真值 </td><td> <strong>给定数据，真值在区间内概率=95%</strong> </td></tr><tr><td> 解释 </td><td> 频率论（关于方法）             </td><td> 概率论（关于参数本身）             </td></tr><tr><td> 依赖 </td><td> 仅依赖抽样分布                 </td><td> <strong>依赖先验 + 数据</strong>                </td></tr></tbody></table><blockquote><p>💡 不能说&quot;真值有 95% 概率在这个区间内&quot;——这是频率论者的致命诱惑式错误。</p><p>但 Bayesian CI 可以这么说。</p></blockquote>
<p><strong>Bayesian CI 公式</strong>：</p><p>$$
∫<em>{ω</em>l}^{ω_h} P(ω|D) dω = CI
$$</p>
<h3 id="102-">10.2 不确定度量化的道德要求</h3><p>课程引用 Nazarewicz（Phys. Rev. C 98, 034318, 2018）的著名论断：</p><table><thead><tr><th> 情况              </th><th> 问题性质                     </th><th> 评价                             </th></tr></thead><tbody><tr><td> CI 过窄           </td><td> <strong>虚假精确</strong>：声称比实际更准 </td><td> 不诚实                           </td></tr><tr><td> CI 过宽（远&gt;95%） </td><td> <strong>虚假谦虚</strong>：浪费精度       </td><td> 也是不诚实                       </td></tr><tr><td> 不给误差          </td><td> 无法判断可靠性               </td><td> <strong>&quot;不给出误差的理论就是耍流氓&quot;</strong> </td></tr></tbody></table><blockquote><p>💡 核物理领域对不确定度的要求近乎&quot;道德&quot;层面——过窄过宽都不行，必须有真实的误差评估。</p></blockquote>
<h3 id="103-bayesian-">10.3 Bayesian 不确定度传播链</h3><pre class=""><code class="">数据不确定度 → 参数后验分布 P(ω|D) → 预测分布 P(y*|x*,D)
</code></pre>
<p>整个链条是概率分布的传播。Bayesian 框架天然支持端到端的不确定度量化和传播。</p><hr/><h2 id="11-">11. 物理信息机器学习</h2><h3 id="111--ml-">11.1 纯数据驱动 ML 的困境</h3><ul><li>缺乏物理先验知识</li><li>数据量不足时泛化差</li><li>核反应数据：<strong>误差大、不完整、各数据库间有分歧</strong></li><li>核结构数据：精度较高，但有强量子效应（壳结构、奇偶效应、闯入态、轨道反转...）</li></ul><h3 id="112-">11.2 四种物理信息融入方式</h3><table><thead><tr><th> 方法               </th><th> 具体做法                        </th><th> 核物理例子                 </th></tr></thead><tbody><tr><td> <strong>物理特征量输入</strong> </td><td> 将已知物理量作为输入特征        </td><td> 壳修正、奇偶效应、分离能   </td></tr><tr><td> <strong>物理约束 Loss</strong>  </td><td> Loss 加入物理约束项             </td><td> 归一化、非负值、守恒律     </td></tr><tr><td> <strong>模型残差学习</strong>   </td><td> 学习物理模型的残差 Model Mixing </td><td> 从核模型出发 ML 修正残差   </td></tr><tr><td> <strong>物理嵌入先验</strong>   </td><td> 用物理模型构造 Bayesian 先验    </td><td> 迁移学习 → 物理模型 → 先验 </td></tr></tbody></table><blockquote><p>💡 <strong>优势</strong>：综合物理信息（守恒律、对称性、量子效应等），即使数据少也能学好。</p></blockquote>
<h3 id="113-pinn">11.3 PINN（物理信息神经网络）</h3><p>用于求解微分方程，将微分算符嵌入 Loss 函数：</p><p>Loss = MSE<em>data + λ · MSE</em>PDE</p><p>其中 MSE_PDE 惩罚网络输出不满足偏微分方程的程度。</p><p><strong>应用领域</strong>：流体力学、热传导、量子力学中的微分方程求解。<br/>参考文献：G.E. Karniadakis, Nature Reviews Physics 3, 422 (2021)</p><h3 id="114-">11.4 迁移学习策略</h3><p>物理模型/已训练网络参数初始化 → 作为 Bayesian 先验 → 新数据上微调。</p><p><strong>核物理实例</strong>：裂变产额评价（Pei 组 PRL 123, 122501 (2019)）——累积产额与独立产额间的矩阵转换关系约束嵌入先验。</p><hr/><h2 id="12-">12. 其他经典机器学习方法</h2><h3 id="121-cnn">12.1 CNN（卷积神经网络）</h3><pre class=""><code class="">输入图像 (32×32×3 像素)     ← 3=RGB 通道
     ↓  卷积核 5×5
特征图 (28×28×N channels)   ← 卷积提取特征
     ↓  池化 Pooling
降采样特征图                  ← 减小尺寸保留关键信息
     ↓  全连接 FC
分类输出
</code></pre>
<p><strong>两大核心思想</strong>：</p><ul><li><strong>局部关联</strong>（Local Correlation）：每个神经元只看一小块（感受野）</li><li><strong>参数共享</strong>（Parameter Sharing）：同一个卷积核全图滑动，大幅减少参数</li></ul><blockquote><p>💡 <strong>仿生学设计</strong>：模仿生物视觉皮层的感受野（receptive field）机制。</p></blockquote>
<h3 id="122-rnn">12.2 RNN（循环神经网络）</h3><p>隐藏层节点之间有循环连接 → 网络&quot;记住&quot;之前输入的上下文信息。</p><p><strong>适用场景</strong>：序列相关数据——时间序列、自然语言、音频信号。</p><blockquote><p>💡 与 Transformer 区别：RNN 逐字顺序处理；Transformer 通过自注意力机制并行处理整个序列。</p></blockquote>
<h3 id="123-transformer--chatgpt-">12.3 Transformer 与 ChatGPT 技术栈</h3><table><thead><tr><th> 组件           </th><th> 功能                                     </th></tr></thead><tbody><tr><td> Self-Attention </td><td> 对输入不同部分差异化加权（关注重要部分） </td></tr><tr><td> Encoder        </td><td> 将输入编码为上下文表示                   </td></tr><tr><td> Decoder        </td><td> 从编码生成输出序列                       </td></tr></tbody></table><blockquote><p>💡 <strong>ChatGPT = GPT</strong>（Generative Pre-trained Transformer）：在大量无标注文本上预训练，通过人类反馈（RLHF）微调，生成类人文本。</p></blockquote>
<h3 id="124-gan">12.4 GAN（生成对抗网络）</h3><pre class=""><code class="">生成器 G → 生成假样本 → 判别器 D → 真假判断
                              ↑
                         真实样本
</code></pre>
<p>博弈过程：G 试图骗过 D，D 试图不被骗 → 两者共同进化 → G 学会生成逼真样本。属于<strong>无监督学习</strong>。</p><h3 id="125-">12.5 各方法速览对比</h3><table><thead><tr><th> 方法                 </th><th> 类型      </th><th> 核心思路                        </th><th> 监督方式     </th></tr></thead><tbody><tr><td> <strong>SVM</strong>              </td><td> 分类      </td><td> Kernel映射→高维→最大间隔超平面  </td><td> 监督         </td></tr><tr><td> <strong>随机森林</strong>         </td><td> 分类/回归 </td><td> 多棵决策树投票/平均             </td><td> 监督         </td></tr><tr><td> <strong>XGBoost/LightGBM</strong> </td><td> 分类/回归 </td><td> 梯度提升树，逐棵修正前树残差    </td><td> 监督         </td></tr><tr><td> <strong>CNN</strong>              </td><td> 图像/语音 </td><td> 卷积+池化+全连接                </td><td> 监督         </td></tr><tr><td> <strong>RNN</strong>              </td><td> 序列数据  </td><td> 循环连接的记忆机制              </td><td> 监督         </td></tr><tr><td> <strong>Transformer/GPT</strong>  </td><td> 文本生成  </td><td> 自注意力+Encoder-Decoder        </td><td> 自监督预训练 </td></tr><tr><td> <strong>GAN</strong>              </td><td> 内容生成  </td><td> 生成器vs判别器对抗博弈          </td><td> 无监督       </td></tr><tr><td> <strong>Deep Learning</strong>    </td><td> 通用      </td><td> 多隐藏层(&gt;2)，需大数据          </td><td> 监督/强化    </td></tr><tr><td> <strong>KAN</strong>              </td><td> 通用      </td><td> Kolmogorov-Arnold网络，可解释高 </td><td> 监督         </td></tr></tbody></table><h3 id="126-alphago-">12.6 AlphaGo 里程碑</h3><p><strong>技术栈</strong>：深度卷积神经网络 + 蒙特卡洛树搜索（MCTS）</p><blockquote><p>💡 2016 年 AlphaGo 击败李世石——AI 发展史上的标志性事件，证明深度学习在复杂策略游戏中的能力。</p></blockquote>
<hr/><h2 id="13-bayesian-">13. Bayesian 优化</h2><h3 id="131-">13.1 动机</h3><p>当目标函数 f(x) 计算代价极高且解析形式不可知时，需要高效地找到最小值。</p><ul><li>机器学习超参数调优（每次训练代价高）</li><li>实验设计优化（每次实验成本大）</li><li>核物理中模型参数校准</li></ul><h3 id="132-">13.2 算法四步循环</h3><pre class=""><code class="">┌──────────────────────────────────────────────────┐
│ 1. 建立先验：用 GP 对 f(x) 建立概率信念           │
│    p(f) = GP(f; μ, K)                            │
│                      ↓                           │
│ 2. 加入观测数据 D = [(x₁,f₁), (x₂,f₂), ..., (xₙ,fₙ)] │
│                      ↓                           │
│ 3. 更新后验：p(f|D) = GP(f; μ_{f|D}, K_{f|D})    │
│                      ↓                           │
│ 4. 采集函数选下一个采样点 xₙ₊₁                    │
│    平衡 Exploitation(利用) 与 Exploration(探索)   │
│                      ↓                           │
│ 回到步骤 2，扩充 D → D∪{(xₙ₊₁,fₙ₊₁)}               │
└──────────────────────────────────────────────────┘
</code></pre>
<h3 id="133-exploration-vs-exploitation">13.3 核心机制：Exploration vs Exploitation</h3><table><thead><tr><th> 策略                     </th><th> 做法                 </th><th> 风险         </th></tr></thead><tbody><tr><td> <strong>Exploitation（利用）</strong> </td><td> 在当前最优点附近采样 </td><td> 精炼已知最优 </td></tr><tr><td> <strong>Exploration（探索）</strong>  </td><td> 在高不确定度区域采样 </td><td> 可能发现更优 </td></tr></tbody></table><blockquote><p>💡 <strong>物理直觉</strong>：Bayesian 优化如在黑暗中摸索——既深挖已知&quot;好方向&quot;（利用），又不敢错过未知中可能的&quot;金矿&quot;（探索）。采集函数 Acquisition Function 就是这只&quot;导航手&quot;。</p></blockquote>
<hr/><h2 id="14-">14. 总结与对比表</h2><h3 id="141-">14.1 课程知识体系全景</h3><pre class=""><code class="">计算物理中的机器学习
│
├── 统计基础
│   ├── 描述统计：均值, 方差, 相关系数
│   ├── 信息论：熵, KL 散度, 条件熵
│   ├── 误差分析：协方差矩阵, 误差传播
│   └── Bayesian 定理：先验 → 似然 → 后验 → 证据
│
├── 回归方法
│   ├── 线性回归: β=(XᵀX)⁻¹Xᵀy, MLE=最小二乘
│   ├── 多项式回归 + SVD 求解
│   ├── GPR: 非参数, f~GP(μ,K), 天然误差棒
│   └── Bayesian 线性回归: 参数即分布
│
├── 神经网络
│   ├── 前馈 NN + BP 算法（梯度下降+动量）
│   ├── BNN: 权重为分布, MCMC/SGLD 训练
│   ├── 正则化 (L2 = 高斯先验)
│   └── 奥卡姆剃刀 (Evidence 框架模型选择)
│
├── 物理信息融合
│   ├── 特征输入, Loss 约束, Model Mixing
│   ├── 迁移学习 + 先验嵌入
│   └── PINN: 微分算符嵌入 Loss
│
└── 先进方法
    ├── CNN, RNN, Transformer/GPT, GAN
    ├── SVM, 随机森林, XGBoost
    ├── Deep Learning (AlphaGo)
    └── Bayesian Optimization
</code></pre>
<h3 id="142-">14.2 核心方法总对比</h3><table><thead><tr><th> 方法         </th><th> 输出类型  </th><th> 不确定度     </th><th> 参数 </th><th> 可解释性 </th><th> 最佳场景             </th></tr></thead><tbody><tr><td> 线性回归     </td><td> 点估计+CI </td><td> 解析CI       </td><td> 少   </td><td> 极高     </td><td> 简单趋势             </td></tr><tr><td> <strong>GPR</strong>      </td><td> 预测分布  </td><td> <strong>天然自带</strong> </td><td> 3个  </td><td> 高       </td><td> <strong>数据少需不确定度</strong> </td></tr><tr><td> 标准 NN      </td><td> 点估计    </td><td> 无           </td><td> 大量 </td><td> 低       </td><td> 大数据分类/回归      </td></tr><tr><td> <strong>BNN</strong>      </td><td> 预测分布  </td><td> <strong>完整后验</strong> </td><td> 大量 </td><td> 低       </td><td> 需参数+结构不确定度  </td></tr><tr><td> CNN          </td><td> 点估计    </td><td> 无           </td><td> 大量 </td><td> 低       </td><td> 图像/语音            </td></tr><tr><td> Transformer  </td><td> 概率分布  </td><td> softmax      </td><td> 海量 </td><td> 注意力   </td><td> NLP/ChatGPT          </td></tr><tr><td> SVM          </td><td> 分类决策  </td><td> 距离度量     </td><td> 中   </td><td> 中       </td><td> 中小数据分类         </td></tr><tr><td> 随机森林     </td><td> 投票/均值 </td><td> 方差可估     </td><td> 中   </td><td> 高       </td><td> 结构化数据           </td></tr><tr><td> Bayesian Opt </td><td> 最优点    </td><td> GP后验       </td><td> 少   </td><td> 高       </td><td> 昂贵函数优化         </td></tr></tbody></table><h3 id="143-">14.3 方法选择决策树</h3><pre class=""><code class="">需要不确定度？
├── 是 → 数据多？
│        ├── 是 → BNN（完整分布）或 GP（快速）
│        └── 否 → GPR（3个参数优于BNN多参数）
└── 否 → 数据类型？
         ├── 图像/语音 → CNN
         ├── 序列数据 → RNN/Transformer
         └── 结构化数据 → 随机森林/XGBoost 或 标准NN

有物理先验知识？→ Physics-Informed ML（嵌入特征/约束/Loss/先验）
</code></pre>
<h3 id="144-">14.4 六大核心理念</h3><table><thead><tr><th> 理念              </th><th> 具体内涵                                     </th></tr></thead><tbody><tr><td> <strong>Bayesian 思维</strong> </td><td> 概率 = 信念程度；先验+数据→后验；持续更新    </td></tr><tr><td> <strong>不确定度量化</strong>  </td><td> 预测必附误差；&quot;不给出误差的理论就是耍流氓&quot;   </td></tr><tr><td> <strong>奥卡姆剃刀</strong>    </td><td> 适度模型适度学习；少则不及多则过             </td></tr><tr><td> <strong>物理融合</strong>      </td><td> 纯数据驱动不足 → 物理信息嵌入是正道          </td></tr><tr><td> <strong>新科学范式</strong>    </td><td> 方程不可解/不存在时 → 数据驱动+物理约束      </td></tr><tr><td> <strong>实用主义</strong>      </td><td> 按问题选方法：权衡数据量、不确定度、可解释性 </td></tr></tbody></table><blockquote><p>💡 <strong>最终结论</strong>：机器学习不是物理学的敌人，而是强大补充。Bayesian 框架为数据驱动的科学发现提供了系统性的不确定度量化和模型选择方案。&quot;AI for Science&quot;已是不可逆转的趋势。</p></blockquote>
<hr/><p><em>Akuiro整理补充  笔记结束 · 2026-06-08</em></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/NNandML#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/NNandML</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/NNandML</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 28 Jun 2026 13:25:46 GMT</pubDate></item><item><title><![CDATA[影视文化与批评期中论文]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Midterm-Assignment-on-Film-and-Television-Culture-and-Criticism">https://akuiro24.xyz/posts/default/Midterm-Assignment-on-Film-and-Television-Culture-and-Criticism</a></blockquote><div><h1 id="">我的一天</h1><p>22:38，北京家中的床上，父亲掏出纸笔，床边倚着母亲，我在桌边的椅子上，和堂弟尽力回想今天在老家遇到的那一张张面容，尽力和父亲所讲并一点点勾画出来的家谱所对应上，窗外依旧是北京的车水马龙，但小小的屋内，充斥着一代与下一代记忆的传递……</p><p>在床上睡意朦胧之时，我又闪过了这一天，又闪过了父亲给我介绍的家谱。我们的家族血脉清晰，以“我”和堂哥明明、堂弟康康所属的“振”字辈为当前主体。我们的父辈是亲兄弟三人：明明父亲（乳名双成）是老大，我的父亲付成排行老二，康康的父亲喜成是老三。再向上追溯至祖辈，我的爷爷在家中兄弟中排行老二，他的大哥膝下有四个男孩，其中一大爷的两个儿子庆峰和庆坡，庆峰哥是我们这一辈中年龄最长的一位，而一大爷的二弟、三弟、四弟也都有各自的子女。我的爷爷还有一位三弟，膝下并无儿女。继续向上，我的老爷爷（即爷爷的父亲）有一位兄弟，这位兄弟有一位儿子，在我爷爷那辈分中排行最大，都叫他“大爷爷”，大爷爷有一位与我父亲同辈且年纪最长的大爷，他膝下有两个孩子，分别叫镇江和镇海。至此，这些便是与我血缘最为亲近的家族成员。</p><hr/><h2 id="--">凌晨 · 闷热的老家</h2><p>4点，我在华北平原邯郸大名吴六店村的大炕上，被老家闷热潮湿的天气直接热醒，汗水浸透了背心，我难耐起身奔向大堂屋，那里有一台吱呀吱呀转动的大风扇，吹干身上的汗后，又跑出门接了半杯水，咕咚咕咚一口气喝完后，才感觉整个人好多了，掏出手机看了看信息，并没有什么很重要的事情因为昨天早睡没有回，于是整个人再度回到闷热的火炉中沉沉睡去。</p><p>再度清醒过来时，父亲拉我直接起身，身边的堂弟也在穿衣服。父亲急匆匆地催促我道：“赶紧收拾衣服，咱都去晚了要！”我猛地清醒——大爷爷一周年祭，我们要到晚了。</p><p>我抓紧穿衣抹了把脸，便脚步虚浮地踩在泥土地上，跟着父亲往大爷爷家走去。依旧是眼熟的低矮的土砖墙。小小的道路两边，已经站着不少因为此事回来的亲戚和老家的街坊邻居，在相互唠嗑搭话。</p><p>这里的大多数人，我是真不认得，我老家回的次数少，小时候还没记事就跟着父母出去了，随后的十来年中，即使是每年基本都回来，但是因为见的亲戚也少，呆的时间也少，除了最近的一脉亲戚家里人认得很全，其余只能算得上是脸熟，基本都是遇到人就求助于父亲或者母亲，他们会很快就认出来来人是谁，以及我该叫来人是姨姑大娘大爷叔叔等等的哪一个，一般只需要我乖巧地笑着叫完后，就是安安静静地回答一些问题或者听长辈们的聊天。但是这回不一样，父亲在回来的车程上告诉我：“已经成年了，该回老家认认亲戚了，不然以后会越来越远了就，不能光混脸熟，要分得清人，会叫人。”</p><p>但是我上来就露了怯，遇到一位大娘我上来就是大姑好，当场只能尴尬地笑，父亲也在旁边絮絮叨叨地给我介绍，但是我还是一头雾水，但是屋内催，开始叫：“付成来了没？准备开始了！”父亲的乳名是付成，于是便放下话闸子，急匆匆地走了进去。</p><hr/><h2 id="--">周年祭 · 跪拜与传承</h2><p>院子中间的过道很宽，两侧是大爷爷生前种的蔬菜地。现在这些菜地由大爷每天打理，垄沟里的青菜、豆角和茄子长势整齐。过道地面铺着白色塑料布，从院门口一直延伸到供桌前。右边靠菜地的位置铺着两块毯子，颜色已经被泥土地染黄，几位大爷和叔叔已经在毯子上跪下准备开始接祭奠。塑料布尽头摆着彩纸扎的灵屋，约半人高。灵屋前放着一张条桌，桌面上摆着大爷爷的相框，旁边有酒壶、香炉和几盘供品。供品里有苹果、桃酥、煮熟的鸡鸭，还有叠成方块的纸钱。条桌右侧放着烧纸用的铁皮火盆，盆底积着黑灰，火盆边还堆着几捆备用纸钱。</p><p>这幅场景，小时候是如何，现在依旧是如何，不同的是，父亲与我讲，那个永远直挺挺地跪在最前面的大爷爷走了，那个永远讲着自己的道理与规矩的大爷爷走了。</p><p>这次老家的白事和周年祭奠，是我成年后首次切身经历。第一次，我作为晚辈，不再是被父亲、姑姑和大爷们用“年龄还小”为由挡在仪礼之外的旁观者，而是真正切实参与到整个周年祭奠之中。</p><p>童年时我总疑惑，为什么父亲和这些长辈能将繁琐礼节分得那样清楚，能把程序办得那样井然有序。如今想来，这些看似刻板的规矩，实则是随着年岁增长与一次次亲历，逐渐在血脉里生根的传承。当我跪在泥地上，膝盖的疼痛让我想起小时候躲在父亲背后偷看的疑惑，此刻却老老实实地跟着大爷们叩首祭拜。当亲身参与的那一刻，那些曾经模糊的不解的仪式细节，也就逐渐清晰地烙印在记忆深处，像被纂刻在石碑上的墓志铭，抹不去，更擦不掉。</p><hr/><h2 id="--">祭拜流程 · 三揖十二首</h2><p>早上第一个环节开始于6点左右，这时候院子里主要都是本家的人。所有的男性，以大爷爷的儿子，就是我的大爷中最大的一位，领着头，进行第一轮的祭拜。我和堂弟作为年龄和辈分基本是最小的，站在了最后，学着前边领头的大爷，在白事先生喊出祭拜开始后，便先作长揖，然后跪拜，磕完四个头后，后边人跪着，领头的大爷起身前去供桌前，继续作长揖，然后跪下，先扣四首，随后会跪着环敬三杯酒，遥敬一炷香，然后起身回来。一周年的时候是要先哭的，就是俯身跪在地上，然后深声带着哭腔去喊“我的爹啊”或者“我的大爷”“我的大爷爷啊”，然后哭完后继续四拜，起身后再作揖。我们老家白事传统的“三揖十二首”就是这样一套流程。</p><p>随后分别是本家里的另一脉的大爷领头进行类似的流程，最后是我的亲大爷前去领头，各人有各人不同的拜法，我亲大爷拜的额外多，导致到后边我的膝盖隐隐作痛，后来问了大爷，说这是“二十四拜”的祭奠礼，是我亲爷爷传下来的。</p><hr/><h2 id="--">坟头 · 玉米地里的告慰</h2><p>在本家的三脉拜完后，就是去坟头祭拜了，几位白事先生帮忙拿着灵房子，大爷爷的儿子走在最前面，捧着照片，后边还有请来的师傅，在吹唢呐和敲锣鼓，我和堂弟走在男性群的最末端，往前望去，村里人下地种地变得黢黑的皮肤，基本都留的寸头方便打理，低着头往前走，清晨白茫茫的天，身后低沉沉的唢呐声，身前黑压压的一片人，就这样，往着村头东边大爷爷的坟走去。</p><p>坟是在一片玉米地里的，玉米已经长得齐人头一样高了，玉米叶上的绒毛，边缘处长出来的小刺，地里的玉米密集排布，就中间有一点点缝隙，人从中钻进去，要用双手拨开两边“门神”的“手臂”，还要不断调整方向才能找到具体的地方。我跟着走，好不容易总算挤了进去，进去之后，在狭小的空间，拜上三拜，算是告慰大爷爷，子孙后辈来看您了。至此，算是第一轮本家祭拜结束了。</p><hr/><h2 id="--">早饭 · 乱炖与乡音</h2><p>回来之后，我看了眼点，7点30左右，然后就是开饭了，外边人搭把手，做出的一大锅乱炖，白菜豆腐海带五花肉，给足了油水，盛在一个小碗里，自己去拿馒头，蹲在路边就是早饭了。不得不说，还是很香的，虽然品相没有那般好。</p><p>边吃饭边有人坐在路边的倒下来的树墩上聊起来了，还有人见我面生，问我：“你是哪儿的？”我一时之间不知道怎么回答，父亲也不在身边，我只好用蹩脚的家乡话尴尬地说：“俺是这儿哩。”后来父亲与我解释，这不是问你是哪里的人，这只是用来问你是哪家的小孩或者住在村里哪里的。对面的也乐了，想了想之后直接问我：“恁爹叫啥？”我一想有道理，直接报父名还是最有用的，一下子就认得了。</p><p>而且家里人喜欢唠嗑，一下子就是这问问，那问问，在得知我在北大上学后，对着我问，北大食堂好不好啊，住的好不好啊，有没有见过韦神啊，是不是压力很大啊等等问题一股脑儿地全冒出来了。村里人的关怀可能就是简简单单的问候与关照，简单但是暖心。</p><p>村里人相处免不了磕碰，平日里为鸡毛蒜皮红过脸是常事。但碰上要紧事总能拢到一块——孩子考上学校要凑钱，家里盖新房要搭把手，红白喜事婚丧嫁娶必须摆席面。这些时候谁都不会差事，远在外地的也要赶回来。</p><p>父亲这回坚持带我回来，起初我嫌麻烦。现在才想明白：这些事像根线，把散在各地的人串起来。老辈人走了，小辈接替回来，周年祭祖上坟、长辈去世，红白事必到场，说是守规矩尊传统，其实更是给离乡的人留个念想，给离乡的人寻摸出来个根。</p><blockquote><p>说白了，人走得再远，根还在老宅小屋底下。老辈人烧了纸，小辈得接着添香。说到底，这些老理儿撑着整个大家族，走得散，但走不散的根。</p></blockquote>
<hr/><h2 id="--">迎亲戚 · 长跪与大雨</h2><p>稍作休息后，开始迎亲戚，就是村里街坊里短的，或者近来村远方村的，有点关系，记着日子的，都会来。远点就可能人来的三两个，近点的也有十好几来的，带着传统定下来的头周年要带的馒头与纸钱，拿着大麻袋装着，外边记事的白事先生拿着笔，在上边写下“岳村”“北冀村”“大名”“田六店”等等来人的地方，然后传到屋内，吩咐响起唢呐，迎着号子，白事先生大喊出来人村名，然后来人会在白布上进行传统的“三揖十二首”，我们本家的人会在一侧的地方陪着一起进行，然后最后还要再多叩首一次，这是“谢”。在这个整个期间，是不允许起身活动的，是要一直陪着跪的。来的人各有各的拜法，但是我知道的是，我的膝盖骨有点受不住，一位大爷说孩子没跪过这长时间，可以在两拨人来的中间稍微蹲一下歇歇腿，我将目光转向父亲，父亲想了想也点头了。</p><p>在我的“偷懒”下，先撑过了1个多点的迎接的环节。这个时候突然天空下起了大雨，环节暂时停止，暂时也不会有人来，所以中间就是唢呐和号子，搭配上锣鼓齐响的表演。家里人围坐在能避雨的地方，一边喝水聊天，一边听着表演。我趁机卷起裤腿，看着膝盖早已通红，一边揉膝盖，一边呲牙咧嘴。</p><p>长久跪在地上导致膝盖的刺痛让我忍不住揉搓，一位大爷见状对了咧了咧嘴，父亲也过来，蹲在我身旁轻声说道：“这跪着，是替大爷爷在下边受苦呢。”他指着被泥土地染黄的毯子，“现在有这垫子垫着都算好的，以前直接跪水泥硬板地，一跪就是一天。”父亲轻轻拍了拍我的肩，“你大爷爷当年跪在最前头，一动不动，笔直地挺着，看到有晚辈没跪好都要出声训斥的。”我没有说话，只是把膝盖再压紧了些，仿佛这样好像就能离那个严肃的大爷爷更近一点。我想，我好好守着这个规矩，算是给一生都守着这个规矩板板正正地过了一生的大爷爷一个慰藉吧。</p><p>随后还是就是一个多小时，陆陆续续会有人来祭拜，我们就坚持着，陪着跪到了最后。</p><hr/><h2 id="--">送纸扎 · 青烟与念叨</h2><p>家里人从后屋中拿出来了很多纸做的纸扎，做了有白鹤、汽车、还有明器聚宝盆和金山银山等各种东西，还是本家的人基本按照辈分走成一列，沿着田埂往坟头走去，在这个过程中，每隔百步一炮响，就这样一步一步，把纸扎送到坟前。</p><p>然后，到了坟前，纸扎全堆在石碑前烧成灰。火苗窜起来时，长辈们对着火堆念叨：“不用多接济了，底下吃穿不愁啊，想吃啥就买啥啊。”燃烧的纸钱化作黑灰，纸灰被风卷着往上飘，掠过坟边的玉米地，掠过村口的老商铺，最后消散在灰白的天际里。我望着那缕黑青烟，突然觉得大爷爷或许真能听见我们这些晚辈的唠叨——这风从老宅吹来，带着燃烧纸钱的余烬，也带着全家人的心气与挂念。</p><hr/><h2 id="--">吃席 · 老家味道</h2><p>这就算是结束了，整个白事，父亲还跟我讲，今天由于下雨和工作日的原因，比以前短多了，以往都要办个一整天呢。我继续问父亲，那接下来是干嘛去，父亲讲到该吃席了，请这各位帮忙的父老乡亲吃顿饭。来到五庄的一家饭店，一下子坐下来有十五六桌的样子，我和一个叔叔一起发酒，每桌两瓶酒两瓶饮料，家里的人都比较能喝，于是坐席经常都是上的白酒。饭菜还没上，就听到有的桌上开始推杯换盏，喝起来了。然后就是上大菜搂席，说实话，还是老家的菜更契合我的胃口，有什么烧鸡、红烧大肘子、炒腐竹、糖醋鱼、清炖羊肋条、小酥肉汤等十道大菜，吃的我直接撑肚了。</p><p>旁边的三大爷直接逗我，讲：“看这平时在学校吃的不太好啊？给饿着了？不是说清北的食堂是很好吃的嘛？”我尴尬地笑：“学校的食堂感觉吃起来真不一定有老家的大席香。学校菜还很贵，根本没有老家菜实惠又香。”三大爷后来喝酒有点上劲，跟我絮絮叨叨地讲，他平时在石家庄那块，当年我高中竞赛培训本来可以去找他做做的，不过当时还有疫情，也就没去，还说以后如果有机会一定要去玩去家里坐坐。这位三大爷的形象逐渐在我心中和记忆中有了痕迹，我觉得这趟老家回的貌似还可以，起码认得了不少人。</p><p>一顿风卷残云后，就是在喝着唠嗑家常啥的，同桌有一个按辈分算是我的外甥的小孩，从坐下的那一刻开始，就是在捧着一个手机，打游戏看视频，聚精会神，全神贯注可以说是，这顿饭他的另一个动作就是时不时消灭下他爸爸给他夹到碗里的菜。同桌的庆峰哥开玩笑说再玩手机就不让吃了，小孩就赌气直接不吃了，他爸爸解释说小孩暑假一直在外边补课，上那种全托班，两周回一次家，觉得玩手机玩玩也没什么。其实我心中是持反对意见的，想玩是可以玩的，但是起码不能在饭桌饭还没吃完的情况下玩，甚至搭话都直接不理就有点失分了，但是我最后还是没说，因为在场还是有比我辈分大的且关系更近的没说，我说总归感觉有点过了。</p><p>走的时候，经典的老家的残局收拾场景出现了，有不少千里眼开始去搜刮没喝干净的酒和饮料带回家，然后来回谦让推拉大法。我和父亲送我大姑二姑回去，大姑二姑把一袋子馒头直接塞到我的手中，说拿回去吃吧，还问要不要在家里玩两天，我说回去还有点事情，就先不呆了，大姑二姑又说那后来再找时间一定来玩。旁边的大爷一边乐呵呵地抱着手中的酒笑，一边给我堂弟展示他给百日的外孙女买的新玩具，家里就是这样啊，永远热热闹闹，幸福和苦恼都是来得快、去得也快。</p><hr/><h2 id="--">临别 · 面粉与情谊</h2><p>接下来就是我跟着父亲去大爷家，拿了一袋子大爷最近磨好的面粉到车上，然后听着父亲和大爷谈论我堂哥的找工作和未来可能要订婚的问题，然后又谈到大爷种出来的蒜个头品质不咋好，在寻思咋能提升提升品质，多攒点钱，到时候好给我堂哥凑出来个县城的房子的首付和结婚用的钱，这样以后就轻活了，两位长辈各有各的忧愁和事情，亲兄弟的两位对于种蒜的问题也是各抒己见，但是最后大爷还是应付着答应了下来，但是趁我爸不注意，又抬了袋面粉上车，说多带点过去吃。</p><p>老一辈的情总是这样，行大于言，言语上的冲突与拌嘴挡不住行动上的情谊与关照。</p><p>于是我们便收拾好行李和东西，再度踏上回来的道路，父亲一直在开车，庆峰哥陪着父亲在搭话，我不知为何，很困又累，便沉沉地在车上睡去，一觉醒来就又到了休息站。我下车就是一个踉跄，父亲对着我开玩笑，说这就跪了一上午就不行了？身子骨没锻炼好啊，想当时我们都要连着在水泥土地上跪几天的…… 父亲这段话其实上午就说过了，但是父亲就是如此，喜欢把自己认为对的事情和经历过的事情一点一点地翻来覆去地给他的孩子讲，希望我们从中学到点什么。</p><p>后来，父亲在车上反复讲述他年轻时跪在水泥地上一整天的经历，我不再打断。这些故事碎片，正一点点拼凑出“父亲”这个角色背后，那个作为爷爷儿子、兄弟二哥、村里晚辈的复杂身影。我对父亲的了解也是从各种各样的故事中完整地构建起来的，平时我对父亲的了解只能是去仰望父亲作为父亲的角色，没想过父亲作为爷爷的儿子，作为兄弟的二哥，作为村里的晚辈是如何的角色，我想我有必要去完整地了解父亲，越了解越能明白，父亲能从老家闯出来，是多么的不容易，是多么的不平凡。</p><hr/><h2 id="--">归途 · 时代的线</h2><p>剩下的下午时间就是车程。父亲在去取正在修的车的时候发牢骚，啥也没干，一检查这车就搭进去两千，现在真是挣钱难花钱快啊。在物价上涨的时代，可能老家的人还处于一种慢慢与外界新时代接轨的过程中的时候，当你闯出来，你惊觉时代变化之快，貌似是把很多家里的人都拉下来了，但是每个闯出来的人实际上也做不到完全的脱离，仍旧是有很多的线、很多的理、很多的规矩、很多的关系都在拉着每个人的根最后聚拢到反而是最朴实的一个地方，一间土屋，一把老凳，一座土坟……</p><p>老家的路比记忆里宽了，但大堤上的老商铺还在。年轻人都往城里涌，可红白事的请柬一到，散在各地的人又会从高铁站、写字楼里冒出来。就像被线牵着的纸鸢，飞得再高也得落回老宅的屋檐下。</p><hr/><h2 id="">尾声</h2><p>回到家中，我透过窗户，楼下霓虹晃得人眼晕，但老屋的砖瓦、祖坟的青石，愈发在记忆中清晰起来。手机备忘录的光标在“家要多回、人要常见”后闪烁，像根断了的线头悬在空中。</p><p>最终，我继续敲下：</p><p><strong>这一天，都挺好。</strong></p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Midterm-Assignment-on-Film-and-Television-Culture-and-Criticism#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Midterm-Assignment-on-Film-and-Television-Culture-and-Criticism</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Midterm-Assignment-on-Film-and-Television-Culture-and-Criticism</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 28 Jun 2026 07:51:14 GMT</pubDate></item><item><title><![CDATA[影视文化与批评期末论文]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/Final-Assignment-on-Film-and-Television-Culture-and-Criticism">https://akuiro24.xyz/posts/default/Final-Assignment-on-Film-and-Television-Culture-and-Criticism</a></blockquote><div><h1 id="">从《七武士》论东方主义语境中武士的神性祛魅与现代性转化</h1><h2 id="">——武士叙事的解构、复归与困境</h2><h3 id="">一、引言</h3><p>《七武士》是一部关于守护的电影，更是一部关于消逝的电影。电影讲了一个故事：七名武士临时聚集，守住了将要被强盗掠夺的村庄，但却守不住自己的归属。农民的胜利，却站在武士自己的失败上。黑泽明导演并没有让武士们成为神话中的英雄，而是让他们浑身沾满泥土，在雨与泥里行走奔跑，在战斗间显露疲态，在胜利之后露出人性的迷茫。这些画面，让武士的形象从符号、传奇与神话中抽离，回到了人的重量。</p><p>武士阶层长久以来在日本都是个被神化的阶层，但黑泽明的叙事并没有顺从这种固化形象。他没有给武士套上浪漫和奇迹的光环，而是把武士道放在一个不断被侵蚀被打破的现实里。农民出身的菊千代，是最突出的象征：他既讥讽武士的傲慢，又拼命模仿他们的坚毅。他用行动和生命守护村庄，却从未真正属于&quot;武士&quot;阶层。他的存在，把&quot;武士精神&quot;从神性中剥离出来，变成了一种靠武士意志支撑的姿态。</p><p>然而，单纯把武士从神坛拉回人间，并不意味着文化困境就此消解。萨义德所揭示的东方主义指出：西方对东方的凝视常将日本武士幻化成为&quot;神秘&quot;&quot;暴力&quot;的形象符号，而日本自身在近代化进程中也陷入了所谓&quot;自我东方化&quot;的悖论——既被动接受又主动迎合这种凝视。而黑泽明导演的《七武士》试图打破这一循环：菊千代的农民身份瓦解了武士的血统传承，武士的受伤和死亡消解了浪漫化的想象。但影片终章中，三位活下来的武士静立在田埂，望着农民唱歌播种却沉默不语的镜头，实质上暴露出更深层的困境：当武士道被从历史语境中抽离武士而存在，转化成为&quot;责任&quot;&quot;坚韧&quot;等抽象现代话语时，仍有可能陷入新的符号化困境。</p><p>这种困境正是东方主义的现当代投射：黑泽明用现实主义解构了武士的&quot;神秘&quot;、&quot;忠诚&quot;、&quot;暴力&quot;符号，却最终也无法完全摆脱自我东方化的宿命。就像现代日本仍在用动漫和商品输出&quot;刀剑审美&quot;等元素：既意在反抗传统东方主义下日本的刻板印象，又在无意间加固新旧交替的印象观念、消费链条。当文化符号都游离于真实历史之外，当&quot;传统&quot;竟逐渐成为被反复消费的商品，一个民族、一个国家能否在解构与重构间，找到真正属于自己的发声方式？</p><h3 id="">二、武士神性的崩塌与人性的觉醒</h3><p>黑泽明的镜头，从未真正把武士当作不朽的神祇。他捕捉展示他们的疲惫、困惑与犹豫，更拍下了他们在死亡面前的沉默。《七武士》中最鲜明的角色是菊千代，一个本不属于这个阶级的农民，却穿上盔甲，提起刀剑，是一个笨拙的模仿者，又是一个比真正的武士更勇敢的人。他嘲讽武士的傲慢：&quot;你们以为自己高人一等，可你们活不下去，还得靠我们这些农民养活。&quot;在真正的战斗中，他比谁都冲在前面。他，是冲击武士阶层使其崩塌的开拓者，也是武士精神重生的最好诠释。</p><p>黑泽明以其独特的电影语言强化表现了这种崩塌过程。影片中反复出现的下雨场景与灰土连天的场景，不仅仅是环境元素，更是一种视觉隐喻与心理暗示。在暴雨中武士与农民共同战斗守护村庄的长镜头里，武士的奋斗杀敌与农民的并肩作战，视觉的呈现刻意消解了武士原有形象的洁净感与距离感。黑泽明摒弃了传统武士片中常见的慢镜头与武斗特写镜头来美化个人形象，反而更多的选择采用多机位快速剪辑，让战斗场面更加混乱而真实。尤其要说的是，菊千代中弹后继续战斗的场景中，镜头并没有过多聚焦于他的&quot;英雄时刻&quot;，很快镜头里便只留下一具被雨水冲刷的普通躯体。这种去传统美学化的处理方式，还有影片中极少仅在开头与结尾有的简短配乐，刻意营造出一种真切沉浸感，使武士不再是被仰视的传奇，而是能够平视的历史参与者。</p><p>在日本的历史叙事中，武士的身份曾经与血统、土地绑定。他们是主君的剑，也是秩序的盾，是封建制度的有力捍卫者。但到了战国末期，这种身份的坚固开始松动，菊千代的形象，正是这一转折的缩影：武士精神，不再是贵族的专利，而是某种可以被继承、被演绎的行动准则与行为逻辑。与《浪客剑心》里流浪剑客不再杀戮的抉择相呼应，菊千代让我们看到，武士道并不是固守身份，而是寻找自己进行某一行动的意义。这种转变让武士以及武士道不再只是权力结构下的单纯的工具，也不再只是一种供西方社会凝视的文化符号，一种在东方主义话语体系中神化的形象，而是有可能成为普通人可触及的、日本国民性的一种文化精神。</p><p>农民与武士之间的关系，也在这部电影里被重新书写。黑泽明导演没有让农民成为软弱的旁观者，也没有让武士成为唯一的守护者。在暴雨中的那一幕里，武士和农民一同齐心协力相互支撑着守护村庄。这一细节，悄悄击碎了东方主义想象中武士的&quot;神秘&quot;&quot;暴力&quot;的文化形象：那些手持武士刀的身影，不再只是被浪漫化的冷面阴暗的杀戮者，而是在泥泞里竭力护着村庄和农民的勇士。他们的忠诚对象，也不再是某个遥远的主君，而是一个共同体，一块土地、一次承诺、一份尊严、一个信仰、一种精神。这与《最后的忠臣藏》里赤穗武士长年蛰伏、为主君复仇的&quot;私忠&quot;相比，《七武士》中的忠诚更接近&quot;公忠&quot;，是对&quot;我们&quot;集体的守护，而非对某个权威的绝对服从。</p><p>勘兵卫作为七人中的核心人物，是另一种人性化的典型形象。他并非完美的英雄，是一个谨慎又有谋略的老兵。他的冷静，与传统武士道中歌颂的&quot;牺牲奉献&quot;略不同。他希望得到胜利，但更在乎如何用最小的代价取得胜利并活下去。他教导农民如何布防，教他们削竹枪，在战斗中发挥了中流砥柱的作用。他没有冲动，总是在顾全着大局，因为他深知武士的局限性与农民的卑劣性，但是他仍然选择了留下来。这就是黑泽明想要的一个形象。与此同时，黑泽明对勘兵卫的塑造也充分地体现在镜头语言上。与传统武士片中领袖人物常有的威严主角站姿不同，勘兵卫在影片中大多以蹲姿或坐姿出现，这种低角度构图很大程度上削弱了他的权威感，增加了融入感与亲和力。特别是在他向农民讲解防御策略的场景中，镜头从农民的视角向上拍摄，将勘兵卫置于与农民平等的位置。黑泽明还巧妙运用了&quot;剃头&quot;这一细节：勘兵卫在行善举的时候剃去头发伪装成和尚，还有不时摸头的动作成为贯穿全片的视觉线索，更加将勘兵卫的形象真实化。这些电影语言的精心设计，使《七武士》的对于武士神性的祛魅过程不仅停留在叙事层面，更深入到影像本体。</p><p>这种&quot;现实感&quot;，让武士道脱离了理想化的祭坛，回到了历史的尘土之中。它让我们看到，所谓的武士精神，在乱世中早已不是一成不变的信条，而是随环境流动、逐渐有更丰富诠释的价值体系。</p><p>黑泽明导演的电影中常常带有宿命感。《七武士》里，宿命感并非通过宏大叙事来营造，而是渗透在每一个镜头与细节中。武士们损失惨重，土地被守住，农民重新播种。最后的镜头里，幸存的几名武士站在高处，看着田间歌声，沉默不语。他们的胜利属于农民，而不是自己。这一幕让武士的形象真正完成了解构：他们的存在，不是为了维系自身的荣耀，而是被卷入历史长河中的一块石子，溅起浪花，却无法停留。真正留存在长河中，可能只是武士道精神构筑的长碑吧，不断有石子和浪花在长碑下书写下属于一个个个体与时代的痕迹。</p><p>这也许是黑泽明最深的用意。《七武士》不单纯是一曲英雄的颂歌，更多的是一则关于变迁的寓言。当武士不再神圣，也无法被简单定义为勇气与悲情的浪漫形象时，他们成为历史中的人：能流血、能质疑、会迷茫、会悲欢离合、更会在最后一刻微笑。这种人性化，让影片在对抗外部刻板印象的同时，也迫使日本社会开始直面自身：那些被反复消费的武士符号，到底承载着什么？是力量，还是仅仅只是一种被市场所催生出的假面戏服？</p><h3 id="">三、东方主义视角下的文化自审</h3><p>东方主义是什么？萨义德在《Orientalism》首次提出东方主义一词，在此书中，将东方主义不仅单纯看作为一个学科学术领域，更多强调将其理解为一种思维方式，一套关于权力的话语体系这三层含义。可以更概括的讲，东方主义逐步从一个相对中性的学术领域名词，转变为一种固化的思维模式、一种极端的意识形态、一系列针对东方的刻板印象、一个本质上揭示出权力与知识共谋造就的扭曲现实的集合体概念。</p><p>《七武士》在西方社会的接受，是一个很复杂的过程，但是却总带着一种东方主义下的偏见凝视以及对于探索未知&quot;东方&quot;的自带神秘光环。对于许多的西方观众，武士是日本的重要象征：持刀挥砍的身影、克制隐忍的表情、死亡切腹时的安静，构成了他们拆解&quot;神秘东方&quot;的主要切入点。这种拆解往往被浪漫化固定化为某些特定元素，后来这些也被简化归为萨义德所说的&quot;被凝视的对象&quot;，成为一种符号化的文化消费。除了《七武士》在欧美爆火揭示了这一点，由美国导演拍摄的《最后的武士》也是这种逻辑的典型。汤姆·克鲁斯饰演的美国军官，在影片中见证并&quot;拯救&quot;了一群浪漫化的武士。这些武士在电影中被塑造成超越现实的精神象征，成为一面供观众膜拜的旗帜。这讲武士道精神，抽离了历史复杂性，只保留了&quot;纯粹&quot;的忠诚、牺牲和暴力三个文化元素符号来诠释。</p><p>与《最后的武士》中的武士形象相对，《七武士》正试图一步步破除这些光环。在黑泽明的镜头中，武士不再是神秘的符号，而是像岛田勘兵卫这样会怀疑思考、像久藏这样大战后会疲惫休息的个体。菊千代在中弹后拼杀对面有枪的强盗后，死在泥泞中，没有英雄的壮烈牺牲的光彩，只留下一具沾满泥水的尸体。堪兵卫在战斗期间会不断摸摸自己因为善举剃掉的光头，用冷静与沉着分析敌我局势，而并非传统武士形象上的一往无前慷慨赴死。这些细节，不只是让武士&quot;更真实&quot;，更是一种祛魅的过程：它提醒观众，这些人不是传说神话，而是历史中的人。而这种去神圣化，恰恰是在抵抗那种被西方反复重现的、单一化的&quot;东方暴力美学&quot;。</p><p>然而，《七武士》也没有完全摆脱东方主义话语逻辑。萨义德的理论提醒我们，东方主义不仅仅存在于外部的被动凝视，也常常体现在被凝视者的自我主动表现中。日本在近代化进程中，既渴望被世界认可，又在文化输出中主动提供&quot;可消费的东方形象&quot;。从&quot;脱亚入欧&quot;的现代化选择，到&quot;大东亚共荣圈&quot;时期对武士道的国家化军事化的挪用，武士精神一次次被当作工具，既服务于国家，也满足外部世界的想象。在这样的历史背景下，《七武士》中的菊千代尤为重要。他拒绝成为&quot;纯粹的传统武士符号&quot;，他的农民出身不断提醒观众，武士身份并不天然高贵，也不是唯一能承载&quot;荣誉&quot;与&quot;武士道&quot;的存在。这是一种隐性的抗议，试图打破&quot;被消费的形象&quot;循环。</p><p>还有，像傅满洲这种眯眯眼科学怪才——西方所塑造的刻板&quot;东方形象&quot;，与菊千代形成了鲜明对比。前者是被扭曲、被异化、被设置的他者形象，而后者是更复杂的、带着矛盾的人。菊千代既渴望成为武士，也嘲笑武士的虚伪；他既能冲锋陷阵，也能流露脆弱。这种形象，让《七武士》能够从一定程度上跳脱出简单的&quot;文化他者&quot;位置，成为一种对内外双重凝视的回应。黑泽明并非彻底否定武士精神，而是通过这种复杂的呈现，让武士从单一的符号回到立体的存在。这一处理，使影片在面对全球观众时，不至于沦为东方主义消费的又一例证。</p><p>在《七武士》的结尾，依然留下了一种被历史边缘化的感伤。幸存的武士站在田埂上，他们胜利，他们活着，却显得多余。冈本胜四郎最终也没有与心心念念的志乃在一起，武士与农民终究最后还是走向了不同的道路，武士的未来依旧是看不到路的。这种处理，虽然成功避免了西方电影中常见的浪漫化，但仍保留了一种&quot;哀伤的主角&quot;姿态。它可能是对历史寓言的忠实呈现，但也让影片停留在某种历史真相边缘范围。对西方观众而言，这或许依然是一种&quot;可被揣摩的东方忧郁&quot;，只是比以往更深、更克制、更隐晦。</p><p>从这个意义上看，《七武士》的文化自审是一种&quot;有限的突围&quot;。它解构了武士神话，抗拒被符号化，却无法完全摆脱历史与全球视野下的复杂纠缠。这种复杂张力，让影片不只是日本的历史寓言，也成为一种映照，照出东西方之间权力社会与文化想象的漫长交织。</p><p>东方主义实质上也是一个自证陷阱类似的东西，你自东方主义出发的文化批判文化认知，想要跳出东方主义，就必须超出东方主义。应当要将视野转向全球化的整体视角，而非陷入西方社会构建起来的一个对于&quot;自我认知&quot;的认同的无尽漩涡。</p><h3 id="">四、武士精神的现代性启示</h3><p>武士道有其内在的动态适应性。武士精神并非僵死的信条，而类似于世间所有文化现象一样，随着权力格局的变迁，其核心内涵也随之调整。战国乱世，一个秩序崩塌、道德模糊的时代，时代使得武士的道德准则在这个阶段呈现出极大的不定性。勘兵卫作为武士的代表，他不再拘泥于以往那种强调&quot;牺牲奉献&quot;的理想主义，而是更多地展现出一种实用主义的谋略。他为了拉拢武士用尽戏码与真情，为了引诱山贼而设置陷阱，这些行为在传统武士道看来或许不够&quot;光明磊落&quot;，但在乱世中，却是生存的智慧。这种模糊化，正是武士道在现实面前的自我调整。</p><p>武士道精神常被提炼成几个核心词：责任、坚韧、忠诚。在《七武士》中，这些特质依然存在，却不再依附于荣耀和身份，而更多转化为一种朴素的力量。勘兵卫的冷静谋略，不是出于对名声的追求，而是为了让更多人活下去。即便是菊千代，这个半路出家的&quot;武士&quot;，也在最后的战斗中，用自己的死亡守住了村庄。这些行动背后，没有诗意的誓言与壮大的宣誓，只有纯粹的责任感与践行的忠诚。</p><p>这样的武士精神，在现代社会中依然很有意义。它提醒我们，在瞬息万变的世界里，忠诚不应再是盲目地依附于某个人或某个小团体，而应转向对更广阔的共同体、对普遍道德准则的坚守。《七武士》拒绝歌颂那种赤穗武士式的十七年隐忍与复仇，那种&quot;私忠&quot;可能会将个体的生命困锁在狭隘的阴影之下。黑泽明把镜头转向武士坚持对于土地与农民的守护。传统武士道在脱离了盲目的附庸后，才能真正的成为一种大众的普世公共价值。</p><p>这种武士道的转化，在当今日本的职场文化中体现得尤为明显。以丰田汽车公司为例，在其闻名全球的&quot;丰田生产方式&quot;中，所着重强调的&quot;持续改善&quot;和&quot;尊重人性&quot;理念，便是传统武士道中&quot;责任&quot;与&quot;坚韧&quot;在现代企业价值观中的精彩转化。如今的员工，其忠诚与信念不再是仅仅针对某个具体的上司，而是转化为对产品质量的精益求精和对团队目标的共同承担奋斗精神。实践表明，当武士精神被剥离其历史语境中的阶级限制时，其本质深层的价值是能够转化为适应现代社会发展的正向驱动力的。</p><p>&quot;我们又打输了，赢的是农民。&quot;影片中这句略带自嘲的台词，无疑是对整部电影主题的凝练总结。它并非单纯的戏谑，而是一种带有对于历史的深刻清醒认知。武士、武士阶层、阶层的存在，从来都是暂时的。他们在历史的长河中像一阵疾风，吹起浪花，留下片刻的辉煌与痕迹。但真正的胜利，终究还是属于那些世代扎根于土地、默默耕耘的人们，而非这些四处漂泊、以战斗为生的武士。</p><p>黑泽明在《七武士》里，给予武士的不是胜利的凯歌，而是一种复杂的尊严。他们的精神，没有被完全颂扬，也没有被完全否定，而是被放在一个开放的空间中。在传统与现代中，类似武士这样的文化身份需要被反复地重新审视和定义，正所谓&quot;去其糟粕，取其精华&quot;。像《浪客剑心》中的手持逆刃刀的绯村剑心那样，武士道可以被转化为拒绝无谓杀戮的坚定意志，更可以转化为现代社会中，面对压力与挑战时的一种静默的坚韧。只有当这些精神摆脱身份和符号的束缚，它们才可能在新的时代里继续存在，继续流传下去。</p><h3 id="">五、结论</h3><p>回顾这部经典的影片，不只是看到了不同武士的性格与故事，更多是窥见了超越刀剑、超越生死、超越生活的武士道。这些影片展示了多维度的武士世界——武士不仅是武功高强，手持刀剑厮杀的战士，也是一位位有感情有血肉有逆境的人。他们也会面对不公、失败、怀疑、动摇、无奈、挣扎、挑战，但是他们依旧坚守，守着自己的尊严与责任，守住经受多重考验的忠诚，守好了内心深处的武士道。日本武士，在大众文化下不断去演变深化的形象，从神性到人性，从战斗到日常，从传统到反思，这些都一步步构筑起了我们对于古代日本武士群体复杂而富有层次的认知。</p><p>《七武士》讲述的是一段战斗，也讲述了一种消逝。七名武士守住了村庄，却无法改变自己的命运。影片中的每一场雨、每一片泥泞，都在提醒我们：武士从来不是凌驾在世间之上的神，而是被卷入时代洪流的人。他们的精神，从&quot;主君的剑&quot;到&quot;土地的守护者&quot;，不断被重写，也不断被利用。他们既是历史的工具，也被塑造成文化的符号。黑泽明的镜头，拆解了这层神话，让武士不再是遥远的象征，而是回到人的尺度。</p><p>东方主义的批判，在这里并非抽象的理论，而是一种具体的追问：当一个文化被简化为刀光、樱花、动漫，它还能否说出自己的声音？《七武士》的回答并不确定。影片既抵抗了浪漫化的凝视，也无法完全摆脱历史与全球视野下的被观看感。幸存的武士站在田埂上，看着农民耕作的画面，是胜利，也是疏离。他们属于战斗，却不再属于土地。这一幕像一面镜子，映照出一个民族在现代化、全球化的舞台上，对身份与声音的反复追问。</p><p>武士精神并未随着阶层的消亡而彻底消散。它的核心：责任、坚韧、克制，都是可以转化为现代的价值。然而，它必须剥离盲目的&quot;私忠&quot;，必须摆脱被消费、被浪漫化的宿命。当这些精神回到现实的土壤中，它们才能成为现代人的支撑，而不是留存于历史与过往中的遗物。</p><p>影片的最后，武士们抬头看向死去武士的坟堆，留有风吹动那七武士的旗。黑泽明没有给出明确的答案，只留下空旷的余味：胜利的意义到底属于谁？传统与现代，能否找到共存的可能？或许答案并不需要在此刻给出。正如那些埋在泥土里的刀剑，或许真正的价值，不在它们拼杀立功的瞬间，而在它们沉默蓄力时留下的份量。</p><hr/><h3 id="">参考文献</h3><p>[1] Said, E. (1978). <em>Orientalism</em>. Pantheon Books.</p><p>[2] Takaki, R. (1989). <em>Strangers from a Different Shore: A History of Asian Americans</em>. Little, Brown and Company.</p><p>[3] Wieland, M. (2018). Rurouni Kenshin and the Meiji Restoration: A Reimagining of Samurai Values. <em>Journal of Japanese Popular Culture</em>, 7(2), 145-162.</p><p>[4] Storey, J. (2009). <em>Cultural Theory and Popular Culture: An Introduction</em>. Pearson Education.</p><p>[5] Edgerton, H. (1994). <em>The Japanese Image in American Film: From World War II to the Present</em>. Praeger Publishers.</p><p>[6] Kato, N. (2002). <em>Self-Orientalism in Modern Japanese Culture</em>. Routledge.</p><p>[7] Li, P. (1998). The Image of the &quot;Yellow Peril&quot;: Western Perceptions of the Asian Other. <em>Asian Studies Review</em>, 22(3), 321-338.</p><p>[8] Yoneyama, T. (1997). <em>The Politics of the &quot;Japanese Tradition&quot;: Nationalism and Globalization in Postwar Japan</em>. Duke University Press.</p><p>[9] 李欧梵. (1999). 东方主义与文化霸权. <em>读书</em>, (5), 45-52.</p><p>[10] 王柯. (2005). 从&quot;脱亚入欧&quot;到&quot;大东亚共荣圈&quot;. <em>历史研究</em>, (3), 112-125.</p><p>[11] 陈平原. (2012). <em>侠客精神与文化记忆</em>. 北京大学出版社.</p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/Final-Assignment-on-Film-and-Television-Culture-and-Criticism#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/Final-Assignment-on-Film-and-Television-Culture-and-Criticism</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/Final-Assignment-on-Film-and-Television-Culture-and-Criticism</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 28 Jun 2026 07:43:49 GMT</pubDate></item><item><title><![CDATA[美国政治与公共政策课堂NOTE]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/478a78867dff33e6db6a9266abe0dcc0.jpg"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7286.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7288.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7497.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7782.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7783.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7788.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7789.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8210.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8214.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8211.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8914.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8917.HEIC"/><link rel="preload" as="image" href="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_9838.jpeg"/><div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/American-Politics-and-Public-Policy">https://akuiro24.xyz/posts/default/American-Politics-and-Public-Policy</a></blockquote><div><h1 id="lecture-1-">Lecture 1 美国联邦制</h1><p>有枪为啥不干政府</p><p>事情一旦陷入自证就永远无法证明</p><p>芬太尼——新的“珍珠港事件”</p><h2 id="-redneck">🔹 什么是&quot;红脖子&quot;（Redneck）？</h2><p>&quot;红脖子&quot;是美国文化中的一个俚语，通常指代：</p><ul><li><strong>地域分布</strong>：美国中西部和南部农村地区的白人群体</li><li><strong>职业背景</strong>：农场主、制造业工人、蓝领劳动者等</li><li><strong>社会经济特征</strong>：
<ul><li>家庭经济条件相对贫困</li><li>受教育程度普遍不高，对精英教育持怀疑态度</li><li>观念传统保守，宗教信仰虔诚（多为基督教福音派）</li></ul></li><li><strong>文化特点</strong>：
<ul><li>重视家庭、爱国情感强烈</li><li>对LGBTQ+、堕胎等议题持保守立场</li><li>部分群体存在排外倾向，对移民政策敏感</li></ul></li></ul><p>这部分群体实际上对于世界 对于他们自身的国家都是所知、认知甚少的</p>
<p>美国大选/中期选举——实际上对于美国人本身没有那么重要（）</p>
<h2 id="">公共政策的定义</h2><p>政治是关于权力的关系 核心在于 权力 的分配、冲突、妥协</p><p><strong>公共政策是为了公共治理制定的一系列法律和实践措施</strong></p><h2 id="">如果应用公共政策视角</h2><ol start="1"><li>基础在于 社会管理 （教育医疗住房犯罪枪支毒品税收社会福利）
这一类社会问题 无法用 “一刀切” 的公共政策进行解决</li><li>所有社会治理都需要资金 核心在于“钱从哪里来”</li><li>甄别问题的背景比解决问题的方式更重要</li></ol><h2 id="">社会管理和公共政策视角</h2><p><strong>1、 警察（暴力震慑）</strong></p><p><strong>2、预算（税收体系）</strong></p><p>民主是依靠警察的暴力来守护的</p>
<h2 id=""><strong>联邦政府的权力在不断扩张</strong></h2><p>美国各级政府</p><p>五月花——村落（围绕教堂 宗教 清教徒 建立的<strong>马萨诸塞州</strong>）——城镇——州（state）和城市
——联邦政府</p><p>建国历程：现有州政府再有联邦政府</p><p>独立战争实际上是一场治安战 （真正激烈的是 英 vs 法西 战斗）</p>
<p>三权分立——<mark class="rounded-md"><span class="px-1">三权合作</span></mark></p><p>总统：机构
1、建立全国行政机构
2、行政机构延伸行政权力
3、建立联邦与地方政府的直接联系 约束州政府权力</p><p>国会：立法
宪法（主线就是赋予联邦政府更大的权力） 监管</p><p>司法</p>
<p>在联邦政府建立初期 只有关税被让渡出来</p><p>如今，85%税收来源是个税</p>
<h2 id="">反思美国联邦制</h2><p>常态时期：权力分配、责权清晰</p><p>危机时期：推卸责任、争权夺利</p><p>州与州之间关系 类似于 一种邻居关系</p>
<h1 id="lecture-2-">Lecture 2 警察体系</h1><p>LAPD Dorner之间的矛盾 逮捕过程全程直播</p><p>美国邮政局也有警察且也能抓人 （2020.8.20 News Steve Bannon）</p><h2 id="">现代警察体系的概念和性质</h2><p>韦伯：国家是在特定领土内<mark class="rounded-md"><span class="px-1">垄断合法</span></mark>使用武力的政治组织</p><p>警察：维护国内治安的行政武装力量</p><pre class=""><code class="">  负责国内安全和社会治理</code></pre><p>组织结构：实行属地化管理 贴近社区</p><p>年限：<strong>终身公务员</strong> —— 相对于有固定服役年限的军队来看</p>
<p>最早出现在 French  英国确立<strong>现代</strong>的警察体系（公共化专门化专业化）</p><p>美国确立世界上最权威的警察体系：</p><ol start="1"><li>全球结构最复杂的警察体系</li><li>最暴力的执法机构</li></ol><p>2009年美国发生“占领华尔街运动”</p><h2 id="">美国警察发展史</h2><h3 id="">发展史实际上就是美国国家建构的缩影</h3><p>早期 N：<strong>守夜人</strong> 巡逻模式（无偿）  ——  S：<strong>奴隶管控队</strong> 制度 （歧视性执法）</p><ul><li>殖民地时期 美国：付费买服务 的 基因</li><li>各地出现大量 私警形成的 <strong>治安团（vigilantism）</strong> 地方种族歧视杀害非裔美国人的地方‘司法’团体</li></ul><h3 id="">现代警察机构的建立：城市化和暴力制度化</h3><blockquote><p>在这种背景下 移民国家 没有任何 恻隐 民族情感 等等 的联系</p><p>相互之间就是赤裸裸的 厮杀 建立在死亡暴力的直接威胁之上的</p></blockquote>
<p>19世纪中期 动荡和失效 人口激增 社会矛盾激化 ——&gt; 城市治理要求治理模式改变</p><p>1845 NewYork 成立美国首个现代城市警察局 ——&gt; 职业化转型</p><p>执法模式：以暴制暴的制度化 建立威慑来维持秩序</p><p>极端案例：芝加哥警方率先采取 武器压制 原则</p><h4 id="">社会根源：</h4><p>工业化城市化商业贸易——&gt;大量移民涌入</p><p>劳资冲突、不同族群之间 冲突——&gt;需要成立维持公共安全的职业性执法体系</p><p>早期美国警察随时可解雇——&gt;地方政客的裙带关系或者政治馈赠 不同的管理者带来不同的领导班子清算</p><h3 id="">联邦政府体系的建立</h3><h4 id="---">为联邦服务的私人侦探 早期是跨州的私人侦探组织 灵活性 秘密服务</h4><p>eg：平克顿国家侦探社</p><p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/478a78867dff33e6db6a9266abe0dcc0.jpg" alt="1" height="1276" width="1702"/></p>
<h4 id="--secret-service">美国第一个联邦执法机构： <strong>特勤局</strong> （Secret Service）</h4><p>为打击调查 金融犯罪 伪造钞劵</p><p>作为美国历史上第一个联邦国家情报和执法机构 用于监视全国金融、税务犯罪、劳资纠纷</p><p>后期逐渐 政治情报组织 ——&gt; 扩大到国外 （间谍 情报 .....) ——&gt; 负责保护总统安全等等</p><p>后来联邦调查局成立后 国内情报搜集和反情报职能 划给 FBI</p><p>2001 911事件后 隶属于国土安全部</p><p>现代两大职能： 保卫正副总统（候选人）安全；调查伪钞等金融犯罪</p>
<h4 id="-fbi">联邦调查局 FBI</h4><p>全美国最大的联邦 <mark class="rounded-md"><span class="px-1">“情报 侦查 逮捕”</span></mark> 一体化执法体系</p><p>具有<mark class="rounded-md"><span class="px-1">海外情报和执法权</span></mark>的联邦执法权的联邦警察体系</p><p>9/11后 FBI获得空前的国内<mark class="rounded-md"><span class="px-1">反恐、反间谍</span></mark>执法权力</p>
<h4 id="-atf">联邦酒类、烟草枪支与爆炸物管理局 ATF</h4><p>最早是隶属于财政部 1）监管征收与烟酒有关的税收 2）调查与枪支爆炸物有关的犯罪</p><p>国土安全部成立后 税收职能归 IRS警察 其余不变 归入司法部管辖</p><p>1993 德州韦科 惨案</p>
<h2 id="">美国联邦警察体系</h2><p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7286.HEIC" alt="2"/></p><p>州：州警察 高速公路巡警</p><p>郡：郡警察 （三不管区域 警长）</p><p>市：市警察 社区警察</p>
<h2 id="">为什么美国国会议员不打架</h2><p>国会警察 会 看管</p>
<h2 id="">美国政治体制牢牢维护警察权威</h2><p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7288.HEIC" alt="3"/></p>
<p>对比移民国家和民族国家来看</p><p>以暴制暴 和 暴力升级 的 本质原因是：管理成本的考量</p><p>美国警察开枪原则：自身安全保护  警察判断无辜其余群众受到威胁的时候 （很主观的 单方认定）</p><p>3K党被警察体系震慑</p>
<p>复杂的联邦体系警察是美历史发展形成的</p><p>暴力是国家授予Police的合法权力</p><blockquote><p><strong>移民国家 之间 缺乏情感认同 是暴力执法的根本原因</strong></p></blockquote>
<p>政治体系稳定建立在强大国家警察权威基础上</p><p>警察是美社会管理的核心支柱</p><p>情报侦查执法震慑 一体化 是 美警察体系的核心模式</p><p>情报 —— 信息 —— 通讯</p><p>通讯成为美情报体系赖以生存的基础设施  如何获取数据成为美国国家安全的命脉</p>
<h1 id="lecture-3-">Lecture 3 税收体制</h1><h2 id="">美国税收体系发展史</h2><h3 id="">殖民地时期：宗主国征税体系</h3><p>反抗英国税务官</p><p>波士顿倾茶事件：英国允许东印度直接向美国出口茶叶 等于 英国直接征税 （本地无税收）</p><h3 id="">建立之初：美国宪法</h3><p>亚历山大·汉密尔顿 主张中央政府（偿还战争债务 维护国家信用并资助必要常备军）</p><p>1787年 《美国宪法》 授予 国会 —— “征收税款 捐税 关税 和 消费税” 
为中央政府确立了独立的财权地位</p><p>联邦政府税源：关税 消费税
州政府税源：人头税 财产税</p><h3 id="">征税权的暴力基础</h3><p>1791 《国内收入法》 联邦政府开始对于境内生产直接征税</p><p>1794年 “Whiskey 暴乱”  遭受总统直接镇压 —— 奠定了暴力征税的合法性</p><blockquote><p><strong>征税权 建立在国家暴力基础上的国家强制力 —— 征税权即统计权</strong></p></blockquote>
<p>所有合法性最根源是来源于 完备威慑的 暴力基础</p><h3 id="">州政府的征税权</h3><p>财产税 —— 维持地方基建 教育 和 治安 的 基础</p>
<h3 id="">建立个人所得税制度</h3><h4 id="1862----1862--">1862 内战  国会通过 《1862年收入法案》 规定 联邦个人所得税</h4><p>正式设立“国内收入署署长” 为美国国税局 <strong>IRS</strong> 的前身</p><p>由于个税是战时临时税种 内战结束后 1872 个税没了</p>
<h4 id="1913-16--">1913年 宪法第16修正案 ： 制度的正式确立和财权转移</h4><p>19世纪末 工业资本快速扩张 社会贫富差距急剧扩大</p><p>本质上 有 “累退性” （即 税收负担转嫁给了普通消费者）</p><p>国内 治理等等 还有 战争负担 联邦政府缺钱</p><p>修正案：“<strong>国会有权对任何来源的收入课征所得税，无须再个州按人口比例分配，也无须考虑任何人口普查或人口调查</strong>”</p><p><mark class="rounded-md"><span class="px-1">税收 ——&gt; 调节财富不平等等社会职能 “社会治理工具”</span></mark></p>
<h4 id="1943-">1943年 《现收现付税法案》：<strong>从精英税到大众税</strong></h4><p>“凡收入必须纳税” 此法案引入 “代扣代缴制度 withholding Tax”：薪水发到手之前 税款已经预先扣除</p><p>税收成为国家主导的强制性行为</p><p>罗斯福</p>
<h4 id="">里根的税制革命</h4><p><strong>“涓滴经济学”</strong> 政府不应直接补贴穷人 而是富人等上层群体先积累更多财富</p><p>好处会像雨水一样从山顶 到 山下</p><p>1986年 里根政府 《税制改革法案》 核心：“<strong>低税率 宽税基</strong>”</p><p>最大规模的减税 顶层税率 70-&gt;50 也为后来<strong>美国巨大的财政赤字埋下种子</strong></p><p>里根 —— 政府吃到时代“红利” 政府赚钱</p><p>2000 小布什政府进一步 大规模减税计划</p>
<h4 id="tea-party">奥巴马和茶党运动（Tea Party）</h4><p>2008年 <strong>金融危机</strong>  奥巴马政府 通过税收 抵免对于中低收入者 实施精准减税</p><p>然而富人是 税收政策的受益者（引发大批低收入者不满）</p><p>草根保守主义运动 —— 收的税足够多了  （茶党）</p><blockquote><p>税收的太狠 政府管的太宽（医改） 债借多了</p></blockquote>
<p><mark class="rounded-md"><span class="px-1">“反精英 反建制”</span></mark> 社会思潮</p>
<h4 id="">特朗普税改</h4><p>税收政策代表了 美国自 1980年代以来 里根革命 以来最激进改革</p><p><strong>极端关税 国内减税</strong></p><p>试图彻底重构国际贸易秩序 实现制造业回流</p><p>由全球化倡导者 到 “战略保护主义者 （美国优先）</p>
<h2 id="">美国税制结构</h2><h3 id="">美国三级征税体系</h3><h4 id="170">1、联邦税（70%）</h4><p>以个所得税为主题</p><p>关税本质上是一种<strong>消费税</strong>，具有显著的<strong>累退性</strong>，因为低收入者需要将其收入的更高比例用于购买商品</p><p>关税在宏观经济中会产生严重的<strong>无谓损失</strong>（Deadweight Loss），扭曲市场价格并引发贸易报复。在二战后美国主导的<strong>布雷顿森林体系</strong>和随后的<strong>关贸总协定</strong>（GATT/WTO）框架下，降低关税、推动自由贸易符合美国作为全球霸权国家的经济利益</p><p>现代关税是<strong>战略干预型关税</strong>。即便关税水平被推向极端，它在现代国家财政版图中也只能充当辅助性的功能模块，无法动摇以<strong>存量财富与流量收益</strong>（即所得）为核心的征税范式。</p><h4 id="2-18">2、州 （18%）</h4><p>以消费税（每个州不同） 和 使用税 为主体</p><p>消费税大概率另交</p><p>使用税 —— 汽车啥的</p><h4 id="321">3、地方：财产税（21%）</h4><p>以财产税为主体</p>
<h3 id="-">联邦政府 总收入</h3><p>个人所得税（49-51） 薪资税（34-36） —— 加起来超过 85 %</p><p>企业所得税 —— 占据总收入的 （9-11%）</p><p>其他收入（4-6%）</p>
<h3 id="-">联邦政府 总支出</h3><p>强制性支出：刚性民生保障（61-63） —— <mark class="rounded-md"><span class="px-1">国会不会争议</span></mark></p><ul><li>社会保险</li><li>医疗保健计划</li></ul><p>商议性支出：国防和非国防行政（24-26） 美国财政月 在9月</p><ul><li>国防支出</li><li>非国防支出：教育交通 科学研究 退伍军人福利 国际援助</li></ul><p>净利息支出 （11-13） <strong>国债的利息</strong> —— 来弥补财政赤字 也和 美元价值勾连</p>
<h2 id="">美国税制特点</h2><h3 id="">免税人口</h3><p>大约47% 的 人 无需缴纳任何联邦所得税</p><p>免税人口：在申报联邦个人所得税后 因收入未达到起征点或通过合法的税收抵免与扣除</p><p>最后导致其 联邦所得税义务为0或负 的 纳税单元</p><p>免税 主要局限于 <strong>联邦所得税区域</strong></p><h3 id="">先征收后退原则</h3><p>薪资扣除 和 预估税 确保联邦政府在纳税年度内获得持续的现金流</p><p>并于 次年春季通过年度汇算 清缴 向纳税人退还</p><p>保证避免政府在年度末期出现财政枯竭</p><h3 id="">全方位覆盖原则</h3><p>所有来源 无论该来源是否具有合法性（贪污 贩毒 诈骗） 即非法收入必须纳税</p><h3 id="">海外收入/财产必须纳税</h3><h2 id="--">联邦政府个税体系 与 经济发展</h2><p>就业率越高 —— 联邦财政收入越高 —— 福利救济支出越低 —— 财政赤字低</p><p>就业率越低 —— 收入越低 —— 支出越高 —— 赤字高</p><p>解决就业最大的产业体系：劳动密集型产业 ——&gt; 产业专业 ——&gt;  中美关系恶化（）</p>
<h2 id="">联邦税务警察</h2><p>1862 税务特工：搜查没收逮捕 早期的联邦刑事管辖权</p><p>1919年7月正式成立联邦税务警察（T-men）：一开始叫 情报小组 卧底行动是工作方式（曾规模比FBI还大）</p><p>美国“禁酒令”：用宪法禁止喝酒</p><p>阿尔·卡朋 —— 黑帮 情人节凶杀案</p><p>在禁酒令时期 T-men成为最腐败的一批联邦执法者（）</p><p>现代税务警察 IRS-CI</p><p>1978年正式更名为 国税局刑事调查局 规模第六位 全球执法</p><p><strong>税务调查政治化</strong></p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7497.HEIC" alt="4"/></p>
<h1 id="lecture-4--">Lecture 4  教育体系</h1><h2 id="">基础发展史</h2><h3 id="17-18-">殖民地时期（17-18世纪） ：宗教主导和教育萌芽</h3><p>清教徒 在 马塞诸塞州 建立殖民地  ——  政教合一</p><p>马塞诸塞：稳定的 村镇结构   教堂是城镇的中心</p>
<p>中南部 弗吉尼亚州的教育 （以农业经济作物种植业为主——工业大麻 损害土地）</p><p> “哪里能种地就住在哪里”</p><p>教育随自然形成的散落而不断搬迁 缺乏一种固定的教育结构</p>
<p>波士顿拉丁学校 —— 美国第一所公立学校 （拉丁文希腊文宗教经典）</p><p>《马萨诸塞学校法案》：要求一定体量城镇 必须 聘请一名专职教师</p>
<p>南方庄园经济教育：结构分化明显 教育发展相对滞后</p><p>种植园主可以聘请老师 然后进一步把人送到英国啥的留学</p>
<h3 id="">公立学校教育的扩展：从宗教到国民身份构建</h3><p>对于 生产力 的要求 提高！</p><p> 大规模公立学校 —— 为工厂培养出充足受过基础教育 具有组织性纪律性的 工人</p><p>霍瑞斯 “普通学校运动”：建立一套 <strong>普惠性 世俗化 标准化</strong> 的 小学教育体系</p><p>教育由税收支持 机会均等的教育给所有学童</p><p>目标是摆脱宗教控制  培养国家认同公共精神良好品行的现代公民</p><p><mark class="rounded-md"><span class="px-1">1852 《义务教育法》</span></mark> 8-14岁儿童必须入学接受教育</p><p>1918年 密西西比州 通过 —— 美国实现了义务教育的全国覆盖 全国性基础教育体系</p><p><strong>K-12 小学8 中学4</strong>  美国教育联合会 “十人委员会” —— 十二年教育制</p><p>加强构建 国家认同 的 政治功能</p><p>教育政治功能：促进民族团结的工具 免费公共教育的传统在美国思想中根深蒂固</p>
<h3 id="">南方废奴运动后的教育体系</h3><p>直到19世纪30年代  7个州制定《组织黑人识字法》</p><p>内战后 种族隔离政策 非裔建立全非裔学校</p><p>形成白人和非裔都支持的以种族为界限的“分离式” 教育现象</p><p>JIM CROW  南方诸州 19世纪末  制定《种族隔离法案》 南方诸州建立了两套平行的公立教育系统</p>
<p>1951 年 公立学校拒绝布朗的女儿就读离家近的学校</p><p>布朗联合其他非裔家庭集体起诉 最后要求各州“<strong>以谨慎的速度</strong>”取消种族隔离</p><p>布朗案虽然判决不完美 —— 但成为取消种族隔离制度的起点</p><blockquote><p><strong>“Right is given”</strong>   <mark class="rounded-md"><span class="px-1">权力是争取来的！</span></mark></p></blockquote>
<p>1957 阿肯色州 “小石城事件”</p><p>州长命令国民警卫军组织9名非裔学生入学  —— 艾森豪威尔 联邦政府 派遣101空降师到小石城 保护入学</p><p><strong>小石城事件 是 美国反种族歧视的重要里程碑</strong></p><p>（背景：作为二战首领 艾森豪威尔看到黑人在战争中的贡献和对国家的忠诚）</p><p>直至 1964年 美国颁布 《民权法案》 禁止</p>
<h3 id="">改革和多元化发展</h3><p>约翰·杜威 思想 —— 进步教育运动</p><p>主张教育应服务于学生的生活社会需求 注重培养学生的实践和创新 —— 设立初中</p>
<p>1957 苏联 发射 第一颗人造卫星 极大震撼了美国政界和社会</p><p>直接导致 进步教育运动模式衰落</p>
<p>1958年 《国防教育法案》美国教育的重大转折点</p><p>联邦政府首次的大规模干预教育 投入财政 —— 强化理工科教育 —— 先进科技高精尖</p>
<p>导致出现 抑郁 注意力缺陷 多动障碍 心理疾病</p><p>后来关系缓和冷战结束 ——  后工业化 —— “快乐教育” 人本主义教育</p>
<h2 id="">美国教育结构</h2><h3 id="k-12">K-12：大学前教育</h3><h4 id="">公立学校</h4><p>K-12 教育的主体 占全部学校的 87% 接纳了 85%以上的学校</p><p>录取标准：不能因为歧视等因素拒绝录取 —— 看  <strong>学区</strong></p><p>学区房 ： 隐形的种族隔离</p><p>资源分配不均 导致 公立学校之间的质量差距 进一步加剧了社会阶层固化</p>
<h4 id="">私立学校</h4><p>占 10%  接纳了约 10% 学生</p><p>经费来源：学费 捐赠 基金会 以及 资本市场盈利等</p><p>类型</p><ul><li>独立学校：独立董事会管理 课业水平高</li><li>教会学校：天主教学校 还学习宗教教义</li><li>寄宿学校：居住校内 既有教会 也有 世俗精英学校 跨州/国际学生</li><li>特殊理念学校</li></ul><p>平均教学质量明显高于公立学校</p><p>学费昂贵 <mark class="rounded-md"><span class="px-1">私立学校成为阶层分化和固化的重要标志</span></mark>  隐形社会隔离</p>
<h4 id="-homeschooling">家庭教育 Homeschooling</h4><p>父母或法定监护人以家庭为教学场所 规划和实施</p><p>LGBT —— 被灌输的观念 —— 家庭教育</p>
<h3 id="">高等教育：</h3><h4 id="">公立大学</h4><p>UCB：按学分交学费</p><p>早期：增地大学</p><p>联邦政府向各州提供公共土地 建立农业工程军事等实用学科的高等教育</p><p>向美国的工业化和农业现代化培养实用人才</p><p>“威斯康星理念”：大学应服务于州发展需求 注重实用学科教育 应用研究</p><blockquote><p> “把论文写在大地上”</p></blockquote>
<p>部分增地大学 ——&gt; 当今著名私立大学 —— MIT Cornell  / 公立大学 UCB  密西根大学安娜堡分校</p><p>MIT曾是联邦增地大学           Cornell 曾是纽约州的增地大学（常春藤 Ivy League）</p>
<h4 id="">私立大学</h4><p>占 美国高等教育机构的 25%  私人捐赠 基金会资助 也受到联邦政府巨额资助</p><p>学费极度高昂  招生标准不透明  让私立大学 更加 圈层化、精英化</p><p>对于财富与社会关系的思考</p>
<h4 id="">文理学院</h4><p>“小规模 高互动 寄宿制”  古典博雅通识教育</p><p>一个更加封闭的精英圈层 完全和现实世界脱节 Wellesley College</p>
<h4 id="">社区大学</h4><p>两年制专科教育 收学费低廉 入学门槛低</p><p>当时出现 是 应对 大量退役士兵 就业压力 杜鲁门建立</p><p>“转学功能” 职业教育 继续教育</p><p>资金来自于官方 规模量小</p>
<h2 id="">教育理念之争</h2><h3 id="">保守派</h3><p>教育责任在于个人——反对联邦政府干预教育</p><p>强调竞争和精英教育 —— 支持教育市场化 —— 重视传统价值观和道德教育（反对多元文化性别平等同性恋</p>
<h4 id="">激进派</h4><p>政府有责任促进公平——扩大教育干预  （有很多外部因素造成不平衡）</p><p>强调教育的社会功能 —— 重视多元化和个性化教育</p>
<p>保守派和激进派在教育理念之争的本质是</p><p>“谁是美国人” 以及 “美国应该成为何种社会”</p><p>这种争论触及了身份政治的核心而难以调和</p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7782.HEIC" alt="4-1"/></p>
<p>60年代 “伟大社会”  美国社会福利改革</p>
<p> <img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7783.HEIC" alt="4-2"/></p>
<p>教育部存废之争不再是行政效能问题 —— 而是 意识形态战争</p><p>美国政治极化不断加剧 教育部存废问题将长期持续存在 并成为 保守派和自由派永久争论的政治议题</p><p>保守派：社会达尔文主义</p>
<h3 id="">联邦管辖权的变迁</h3><p>20世纪80年代 美国教育质量下滑 —— 但由于地方政府责任教育 —— 无法形成统一的全国政策</p><p>小布什：《不让一个孩子掉队法案》 首次由联邦政府制定全国统一的学业考核标准
有政府权威性和强制力</p><p>最后学监学生家长教师校长联合考核作弊 压力大 部分教师离职</p><p>2015奥巴马</p><p>Trump ：激进的去监管化 与 市场化</p><p>推动 “教育券” 与 教育储蓄账户计划 彻底实现教育市场化 —— 让学校之间的竞争</p><p>限制公立学校开展“多元平等包容”  BEI diversity LGBT的教育</p><blockquote>
<p>美国社会阶级固化加速，低收入家庭难以通过教育实现社会阶层跨越
&quot;美国梦”正在逐渐褪色</p></blockquote>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7788.HEIC" alt="4-5"/></p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_7789.HEIC" alt="4-3"/></p>
<h1 id="lecture-5--">Lecture 5  美国公共卫生</h1><h2 id="">一、美国卫生和公众服务部的历史</h2><h3 id="1-">1、起源 从海事服务到军事公共卫生体制</h3><p>海员 流动性强   疾病传播风险高 ——  海事医院服务局</p><p>“公共卫生服务军团” —— 现代<strong>八大军种</strong>之一 （实际上 所以公共卫生算是一个军类体系）</p> 
<p>地方管地方 联邦管海关</p>
<h3 id="2-1935--">2、社会保障和公共卫生融合期 （1935- ）</h3><p>1930年代大萧条 —— 将 卫生教育福利 三大体系 纳入 <mark class="rounded-md"><span class="px-1">“联邦保障署”</span></mark> 的统一行政架构下</p><p>联邦政府权利 向 地方政府扩张</p><p>二战后 —— “卫生、教育与福利部” —— 使公共卫生部门拥有了联邦管辖权与独立财政预算权</p><p>20世纪60年代 林登·约翰逊  伟大社会</p><p>Medicare 老年医疗保险 —— Medicaid 低收入者医疗援助 两大制度</p><p>彻底改变了美国公共医疗体系与社会福利制度</p><p>1979 教育部分离  1980年 改名成 美国卫生与公共服务部（公共卫生 与 社会福利）</p><blockquote>
<p>美国公共卫生体系 本质 是 军事体系</p></blockquote>
<p>美国公共卫生服务军官团（USPHS） —— 长官 海军衔 四星上将</p><p>不受任何行政管理限制（如由各州政府颁发的医师执照.....）</p><p>公卫部队 解决 联邦制“分权管理” 与 公卫需要“集中应对” 的制度缺陷</p><p>平时为医 战时为军</p>
<p>美军八大军种 两个非战斗——海洋大气军 公共卫生军</p>
<p>美国总医官 （对疾病有指导性意见  对于全国性的医疗状态有决定权）</p><p>新冠期间 杰罗姆·亚当斯     政治与专业</p>
<h3 id="3-nih">3、美国国立卫生院 NIH</h3><p>自然科学基础研究两大基金：</p><ul><li>美国国立卫生研究院</li><li>美国国家科学基金（NSF）</li></ul><p>1930年 成立研究院 NIH 标志着联邦政府从传染病管控到支持科学研究的转变 国家构建科研体系</p><p>NIH 院内研究 院外研究（给各种高校医学院核心经费来源）</p><p>临床方面 —— （免费医疗 — 研究性治疗 具有不确定风险 未普及的实验性项目）</p>
<p>美国顶级名校医学院是自负盈亏科研运营实体  教研人员大多数是合同制聘用</p><p>“带资进校 付费上班”</p><p>内卷式学术资本主义 —— PI  （哈佛与研究团队 是 “共赢共生” 生态结构）</p>
<p>NIH 中美科技脱钩急先锋</p><p>2018 “中国行动计划”</p><p>25年 NIH 禁止 中国学者使用关键科研数据库</p>
<h3 id="4-fda">4、联邦食品药品管理局 FDA</h3><p>FDA ： 食品 药品 医疗器械 化妆品</p><p>“扒粪运动”</p>
<p>FDA 1938 明确要求 部分药品需要在 专业医师监督下使用</p><h4 id="1--">1、沙利度胺事件 —— 监管</h4><p>国会因此 通过 《联邦食品、药品和化妆品法案》</p><p>需要临期检测</p><h4 id="2fda--">2、FDA刑事调查与执法权 —— 调查</h4><p>旋转门 长期贿赂FDA官员</p><p>反而进一步成立 刑事调查办公室 —— 调查与食药监管相关的重大刑事犯罪 执法人员有联邦特工</p><p><mark class="rounded-md"><span class="px-1">空前执法权</span></mark></p>
<h3 id="5-cdc">5、疾病与控制中心 CDC</h3><p>准军事化体系 的 情报中心</p><p>EIS —— “流行病情报员” 朝鲜战争期间  检测可能的人为生物恐怖袭击</p><p>精英化 军事化部署模式</p><p>CDC在世界各国都设立了办事处</p><p>常年在Beijing 有 8位</p>
<p>美国疾控中心的伦理丑闻与信任危机</p><p>1932-1972 “塔斯基吉梅毒实验”（Tuskegee Syphilis Study）
 主持塔斯基吉实验项目首席专家约翰•卡特勒也在危地马拉的监狱、精神病院以及军营做同样实验，甚至手段更恶劣。该实验让健康的囚犯、精神病患者甚至上百名危地马拉士兵人为感染各类性病病毒，然后做不同药物效果对比实验。2010年丑闻才被公开，奥巴马被迫代表美国政府公开道歉，但是至今受害者或家属都没有得到美国政府赔偿</p><p>1976年代“猪流感疫苗计划”导致数以百计该疫苗注射者患上“格林-巴利
综合征”（GBS），多人瘫痪</p><p>2020年新冠疫情，CDC使用了设计缺陷的检测盒以及在口罩问题上的左右摇摆</p><p><strong>CDC本身的各种伦理丑闻，加上美国社会长期存在的基于宗教理念反科学“阴谋论”</strong>
<strong>导致CDC在推行疫苗时陷入巨大社会争议，美国疾控中心毁誉参半</strong></p>
<h2 id="">二、美国卫生和公众服务部的权力与政治</h2><h3 id="">利益集团游说</h3><p>监管俘获 —— 旋转门 聘请曾任职的官员担任游说说客 在 “非正式场合” 影响 FDA 官员决策</p><p>铁三角：制药业 医师协会 保险公司</p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8210.HEIC" alt="5-1"/></p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8214.HEIC" alt="5-2"/></p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8211.HEIC" alt="5-3"/></p>
<h1 id="lecture-6-">Lecture 6 美国医疗体系</h1><h2 id="">美国医疗体系和医学发展简史</h2><h3 id="">殖民地时期的医师和医院</h3><p>17世纪 最早出现 英国 是学习古典学 后续在医院里获得实践经验</p><p>内科医生 —— 不碰血  无需动手</p><p>早点 动刀动剪子做手术 ——  红白蓝标志（动脉静脉绷带） —— 中世纪欧洲理发师兼具任职</p><p>殖民地时期 北美条件很艰苦恶劣  内科大夫在英国 拥有上层地位收入—— 只有穷苦外科医生和药剂师</p><p>医生医治过程基本都是在病人家中完成的 “上门服务” 同时 还身兼多职以谋生</p><p>早年美国的医院 是 救助机构 针对的都是 将死之人（）</p><h3 id="">早期的医学教育</h3><p>学徒制 学徒给医师付费  传帮带</p><p>1765 成立医学院  从“技艺”到“学科”</p><p>19世纪 随着执业限制开放医学院职业准入门槛降至最低 —— 美国医学教育陷入黑暗 “买文凭”</p><p>1893 约翰霍普金斯大学医学院 ：确立四原则</p><h3 id="">现代美国医学教育</h3><p>录取：本科后教育</p><p>4+4 —— 模仿美国的精英 医疗治理</p><p>规培 野牛野马  ：住院医师规范化培训</p><p>（中国瞎学 aaaa  给当代年轻人 当作劳作力 鞭笞压榨）</p><p>中国 医疗培养时间长 —— （向大自由国）学了皮毛没学内核</p>
<h2 id="">美国医疗体系概况</h2><h3 id="">医院体系构成和分类</h3><h4 id="">公立医院</h4><p>盈利不用交税 但是承担为低收入者兜底的责任（不会有多的利润用来分红奖金啥的）</p><p>接受学生规培 是各种医疗卫生各种</p><h4 id="">私立非营利性医院</h4><p>“医疗事故豁免权”</p>
<h4 id="">私立营利性医院</h4><p>商业化运作 成为在医疗市场里的主导者</p><p>最著名 —— 美国医院总公司</p>
<h3 id="">医院职能与服务类型</h3><p>短期医院和长期医院（住院大于25天）</p><p>全科医院和专科医院（专注于特定疾病领域）</p><p>教学医院 （最极难杂症） 承担医学教育和前沿科学研究  美国医疗最高水平</p><p>精神类专科医院</p>
<h3 id="">医生和医院的关系</h3><p>医生的根 是 建立在独立性行医上</p><p>医生团体组织（工会 与医院方面 进行谈话）：医生和医院实现合作关系 —— 承包关系而非雇佣关系 （医院不用负担医生的福利成本）</p><p>责任告的话 会告到医院方面</p><p>医生医院合作组织：20世纪80年代 为了应对保险公司的强势地位</p><p>由医院与一个或者多个独立的医师团体 共同建立联盟 与 商业保险公司 签署医疗服务合同 医生保持独立性</p>
<p><strong>大部分问题来源于里根私有化 </strong>？？</p>
<h3 id="">护士</h3><p>护理是美国医疗体系规模最大群体  全美约有 RN 注册护士 在医生指导下 开药（420万） 近30万 高级执业注册护士 权限会更高 （APRN）</p>
<h2 id="">美国医疗体系运行机制</h2><h3 id="">美国独立诊所与分级诊疗体系</h3><p>独立诊所 集中于 初级诊疗 —— 包括 内科儿科家庭医学等 —— 分级诊疗体系的基础</p><p>独立的医师收入是最低的一批人</p><p>“家庭医师” 并非 私人医师</p><h4 id="">分级诊疗的层级框架</h4><ul><li>初级医疗：独立诊所或者社区医疗中心</li><li>二级医疗：初级诊疗后 患者被转诊到专科诊所或者社区医院 进一步</li><li>三级医疗与四级医疗：涉及高度复杂手术 与 急难病症</li></ul><h4 id="">超级复杂的医疗账单结算体系</h4><p>全球大部分国家 采用的 是 “单一支付”</p><p>美国 “多方支付” ：由保险公司（联邦和商业等等）先核算、保险支付与个人补差构成一套复杂且不透明的支付体系 —— “账单黑盒”</p><p>检查过程 CPT
疾病诊断代码 ICD-10</p><p>账单是在数周或数月后才交到个人手中</p><p>最后缴费的时候 尽量去 医院 讨价还价 争取折扣（本身就是故意多算的）</p>
<h2 id="">联邦制下的医疗管制</h2><h3 id="">联邦政府的监管权扩大</h3><p>Medicaid  Medicare （医疗补助 医疗保险）</p><p>二战之前 很少介入民用医疗</p><p>二战后 社会对公共卫生以及医疗保健的需求大幅度增加</p><p>约翰逊政府 实施 “伟大社会”计划  （其政治生涯的败笔就是越战）</p><p>1965年《社会保障法》 使美国医疗管理体系 发生根本性转变</p>
<h3 id="">医疗领域人道主义底线</h3><p>1985  禁止私立医院将无力支付 费用的 急诊病人或分娩期产妇 强行转往 公立医院的非人道行为</p><p>强制医院救治病人 但是并没有提供专项资金来协助这些人</p><p>为弥补急诊部分的损失 —— 医院往往 被迫提高针对商业保险患者或自费患者的收费标准</p><p>急诊极其昂贵</p>
<h3 id="">州政府的监管权：地方保护</h3><blockquote><p>人为制造医生的短缺</p></blockquote>
<p>对于穷州：保证了大夫愿意在穷州待下去</p><p>“碎片化监管” —— 阻碍医师自由流动，导致医疗服务价格的扭曲</p><p>州碎片式的管理严重阻碍 “远程医疗技术”的发展</p><p>紧急情况 有临时医师执照</p>
<h2 id="">美国的医疗保险</h2><h3 id="medicare">联邦医疗社会保险（Medicare）</h3><p>公民通过职业生涯缴纳薪资税 符合条件自动获得资格</p><p>65岁及以上老年人 （本人或配偶10年税收）；残疾人士；特定疾病人群（终末期肾病患者、渐冻症等等）</p><p>有限制（每月上限）</p>
<h3 id="-medicaid">联邦-州医疗社会保险（Medicaid）</h3><p>联邦与州共同出资建立救助贫困群体的公共医疗社会保险</p><p>根据各州人均收入水平 提供配套工资</p><p>针对 低收入家庭、孕妇、儿童及低收入残疾人</p><p>MAGA 红脖子 ：勤勤恳恳工作 但是处在 人均收入水平线上 一点点  最容易被“斩杀”的群体
很容易被意外影响 但是本身收入家底  但是不能 享受 Medicaid</p><p>核心标准是联邦贫困线 申请者需要接受资产验查</p><p>虽然穷 但是要 提供 劳动 社区服务</p>
<h3 id="">预算危机</h3><p>上述两部分+儿童医疗保险计划 = 28% 预算 （刚性支出）</p><p>Medicaid 平均占据了各州总预算的近 29%</p><p>大批移民 生孩子 和 医疗支出—— 预算危机问题</p>
<h3 id="">商业医疗保险</h3><h4 id="-hmo">医疗保健组织 HMO</h4><p>与指定的医院有合作</p><p>优势：医生医院锁定病患 以量换取低保费  劣势：在于患者丧失医疗选择权</p><h4 id="-ppo">优选医疗组织 PPO</h4><p>无需初级保健转诊即可以直接看专科医生</p><p>审查相对宽松</p><p>优势在于病患由医疗选择自由 劣势就是贵！</p>
<h2 id="">医疗医药与保险铁三角博弈</h2><p>医院、保险公司、药商</p><p>核心：高度封闭、信息极度不对称盈利网络</p><p>大型连锁医院 塑造 兼并小诊所 —— 区域垄断</p><p>保险公司 高额保费 + 各种理由拒赔或者少赔</p><p>制药商 利润率最高 且 不用直面患者  与前两者 有复杂的返利合作 多卖药（换取药品目录）</p><p>医药代表——医生</p>
<p>患者在为整个供应链的“隐形佣金” 买单</p>
<h2 id="">美国医疗的社会问题与国际争端</h2><h3 id="">私立医院的快速扩张</h3><p>美国 HCA 医疗集团 在人口增长迅速的大都会区 建立 密集的医院网点</p><p>形成终身的就医体系</p><p>美国HCA保健集团  锁死大家 （各种 保险 电子病历......）</p>
<h3 id="">财政支出与生命终点伦理</h3><p>不抢救（DNR） 和 临终关怀（HOSPICE） 协议</p><p>大部分的Medicare 的 受益人 都花在生命的最后一年</p><p>导致 节省政府预算与患者生命权冲突的 医学伦理之争</p>
<h3 id="medicaid">芬太尼与Medicaid</h3><p>芬太尼危机 美国公共卫生灾难之一</p><p>美国公共医疗保障体系的缺陷是造成 阿片类药物滥用的 根源 （止疼片镇定剂 上瘾性）</p><p>对底层 就是 用价格低廉的 阿片类止疼剂</p>
<h1 id="lecture-8-">Lecture 8 美国移民</h1><h2 id="">美国移民政策发展史</h2><h3 id="">早期开放与限制</h3><h4 id="">早期殖民地的移民</h4><ul><li>自由定居者</li><li>契约劳工</li><li>非洲奴隶</li></ul><p>在独立战争前 迁移过来的 欧洲白人中 2/3 都是 契约劳工</p><p>殖民地政府为吸引 ： 提供土地 —— 由地方主导的、以赠予土地的鼓励性移民政策</p>
<h4 id="">排他性宗教于意识形态控制</h4><p>马萨诸塞湾英格兰清教徒殖民地 —— 严格的宗教排他政策</p><p>维持 —— 山巅之城 （宗教同质性）</p>
<p>宾夕法尼亚殖民地  奉行 宗教宽容政策</p><p>吸引 大量德国重洗派教徒和苏格兰-爱尔兰人</p><p>成为 人口构成最多元 移民政策最宽容的 地区</p>
<h4 id="">《济贫法》与排斥“不受欢迎者”</h4><p>殖民地政府 都制定了 阻止“可能成为公共负担者”入境的法律</p><p>为 可能因贫困、疾病或残疾而依赖公共救济的乘客缴纳保证金</p><p>殖民地 还 极力抵制 英国本土 将 <strong>罪犯</strong> 作为“流浪者”送往北美</p>
<p>早在联邦政府成立之前 北美殖民地已经建立了一套基于<strong>宗教、经济阶层和身体状况</strong>的移民筛选机制</p><p>（与别的不同 美国本身就是移民建立起来的 管理是必然先于政府出现的）</p>
<h3 id="">建国初期的移民与种族界定政策</h3><h4 id="1790-----">1790 《归化法》 与  “白人至上” 法理根源</h4><p>“谁是美国人”  归化法 —— 任何“品行良好的自由白人” 在美居住满两年后 均可申请成为美国公民
（建国之初 核心 宗教 + 人种白人至上）</p><p>主体：自由白人</p><p>盎格鲁-撒克逊文化（新教） +  白人至上</p>
<h4 id="1798--">1798 年 《客籍法与镇压叛乱法》</h4><blockquote><p>授权总统 在 和平时期 无需审判 即可驱逐任何其认为对国家安全构成威胁的外国人</p></blockquote>
<p>法案被逐渐废除</p><p>但后续 出于政治或意识形态原因 ： 联邦政府权力能够对移民进行大规模恐吓或驱逐</p><p>根植于 美国成长的初期 —— 即 特朗普今日的根源</p>
<h3 id="--">第一次移民大潮 与 排外主义</h3><p>19世纪20年代 随着美国工业革命 + 西部扩疆急需海量廉价劳动力+蒸汽轮船普及</p><p>1840 “爱尔兰大饥荒” 导致 百万天主教 逃往美国</p><p>爱尔兰人 背井离乡 带着其祖父辈的棺材啥的 —— 极其抱团</p>
<p>本土排他主义的崛起</p><p>大量贫困 + 讲非英语 的 天主教爱尔兰和德国 移民涌入 ——&gt; 激起美国本土新教徒的极度恐慌</p><p>1850 美国人党（一无所知党）：主张严厉限制移民 + 禁止天主教徒和归化公民担任公职</p><p>后来被内战冲击解散</p><p>“本土文化”成为美国移民政策保守主义的根基</p>
<h3 id="--">《排华法案》与 开放大门 政策的终结</h3><p>19世纪70年代 大批华工（东海岸往西海岸） 被雇佣在美国修建铁路</p><p>美国东西海岸铁路合并</p><p>华工 吃苦耐劳 —— 收到当时同样作为劳动力的爱尔兰人所歧视</p><p>白人将失业问题全部归结为此</p><p>1882 —— 《排华法案》 明确禁止在美华人归化为美国公民 禁止中国劳工入境</p><p>《排华法案》 标志着 美国 早期开放移民时代 彻底终结</p><p>这是美国历史上第一次一句种族将一个也定的国家/民族群体全面拒之门外</p><p>催生了最早的 边境巡逻机制 驱逐出境程序 以及 “非法移民” 的 法律概念</p><p>在排斥移民问题上 赋予了联邦政府几乎不受司法审查的绝对权力　</p>
<h3 id="">配额制与“大门关闭”</h3><p>1890年 前后 来自于 东欧南欧的移民大幅增加 —— “新移民”</p><p>国会 认为 新移民 在 “治理道德同化能力（宗教）”上 本质 劣于 “老移民” ——“狄林汉委员会报告”</p><p> 社会达尔文主义 与 优生学 大行其道</p><p>《伟大种族的衰亡》 —— 种族主义 社会达尔文主义  北欧裔（西欧北欧 盎格鲁-撒克逊部分）白人的生物学优越</p><p>这种披着科学外衣的种族主义 为后来的 配额制度 提供了 理论背书</p><p>《移民法》 与  配额制</p><p>1917年 《移民法》 禁止移民入境的范围扩大到整个亚洲大陆</p><p>20世纪20年代 —— 社会问题 各种因素失业危机 —— 反移民团体 “3K党” + 孤立主义 对红色苏联恐慌盛行</p><p>1924年 新《移民法》确立了“民族本源配额制” 进行具有高度歧视性的 名额分配</p><p>全面禁止包括中国日本印度在内所有亚洲人 归化为 美国公民</p>
<h3 id="">大萧条与美国历史首次向外移民</h3><p>大萧条 失业导致美联邦大规模遣返 墨西哥人</p><p>移民苏联：由于苏联 一五完成 快速工业化增长时期</p><p>苏联驻美机构“苏美贸易公司”平均每天收到超过350份求职申请 —— 去苏人很多</p>
<h3 id="">第二次世界大战日裔美国人集中营</h3><p>日本人成为被限制移民的主要对象 禁止 日本人拥有农地、禁止出租房屋获利</p><p>（源于当时珍珠岛就有日裔美国人作为奸细）</p><p>太平洋爆发后 日本人全部被关进西部的集中营</p>
<h3 id="">二战后的现代移民政策</h3><p>1965年 《移民与国籍法》 统一的 基于“类别”的优先体系 —— 家庭团聚 + 技术人才</p><p>911后 —— 移民管理 从 “民事管理” 转向 “国家安全”</p><p>USCIS（移民局） CBP（海关及边境保护局） ICE（移民海关执法局）</p>
<p>特朗普 美国优先 0容忍</p>
<h2 id="">当代美国移民现状</h2><h3 id="">合法移民类型</h3><p>亲属移民（直系亲属 + 亲属优先类别）</p><p>技术移民 （EB-1 杰出人才 + EB-2 高学历或特殊技能人才）</p><p>工作签证 H1-B 非移民签证中最重要的类别 用于 聘用 “专业职位” 的外国人</p><p>难民+ 政治庇护+投资</p>
<h3 id="">非法移民/无证移民</h3><p>非法越界 + 签证逾期滞留</p><p>无证移民 从事低端 体力劳动 交税消费 但是 无法享受合法社会福利 面临着随时被遣返的风险</p>
<h2 id="">移民问题争论</h2><p>本质无区别 只是政策上的差异</p><p>民主党：补充劳动力短缺 促进经发 推动人口年轻化 拯救社保系统（替老人付） 增加税收 扩大福利资金来源 
多元文化融合</p><p>共和党：挤压本土底层 工人就业 拉低工资水平  滥用社会福利（emergency Medicaid） 公立学校/医院 不堪重负   人口增长过快 犯罪增加 动摇美国主流价值观与政治文化</p>
<h2 id="">从社会管理到国家安全</h2><h3 id="">建墙</h3><p>修建金属围栏</p><p>CBP 海关与边境执法局 的 执法力度 在过去 爆发增长</p><h3 id="">驱逐</h3><p>ICE 核心任务：在美国境内搜捕、拘留并遣返无证移民</p><p>CBP：国境线上防止无证移民越界的盾牌</p><p>ICE经常全美范围 开展 突击搜捕行动 —— 被捕者 被送往移民拘留 （一般是 私人监狱</p>
<h2 id="">社会撕裂：边界保护与城市庇护</h2><p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8914.HEIC" alt="8-1"/></p>
<h2 id="">移民问题本质：谁是美国人？</h2><p>美国国家认同危机：西班牙裔人口迅猛增长</p><p>墨西哥 天主教  这种 家庭观念强 生育多 不学习 不重视教育 主流群体</p><blockquote>
<p>盎格鲁-撒克逊-新教文化 是美国认同的核心</p></blockquote>
<ol start="1"><li>英语是美国国家认同的生命线</li><li>新教文化在独立战争前就是文化内核</li></ol><blockquote><p>移民的双语与双重认同将分裂美国内核</p></blockquote>
<p>语言分裂 认同模糊</p><p>美国 “合众为一”的国家座右铭的理想在面临着前所未有的挑战</p><p> 克林顿 —— 特朗普 种族主义者 社达</p>
<p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_8917.HEIC" alt="8-2"/></p>
<h1 id="lecture-9-">Lecture 9 种族与少数民族管理</h1><h2 id="">美国少数族裔的概念与划分</h2><h3 id="">种族、族裔与民族</h3><p>种族：根据生物表征  <strong>Race</strong> 肤色 发质 面部骨骼结构 群体分类 —— 长得像谁</p><p>族裔：均居文化习俗 与 原籍国属性、共同的文化遗产、语言、宗教信仰、饮食习惯历史记忆  Ethnicity —— 从哪里来 信仰什么 过怎么样的生活</p><p>民族： Nation 依据 心理认同与政治权力的结合划分 具有最高的自我管理权威 —— 你们如何管理所在区域</p>
<h3 id="">美国种族分布</h3><p>只统计 RACE</p><p>sex 生理 —— gender 心理的性别</p><p>Latino 西班牙人 No3   黑人 No2  白人 No1</p>
<h3 id="">少数族裔管理的分类</h3><p>原住民：美国印第安人和阿拉斯加原住民 + 夏威夷原住民或其他太平洋岛民</p><p>移民少数族裔：非洲裔、拉丁裔白人、亚裔 、  混血族裔、其他族裔</p>
<h3 id="">美国族裔“三多”格局</h3><p>多种族：从 “白人多数”到“平均数” ： 估计到2045年左右 进入平均数社会 即没有一个种族可以占据超过半数</p><p><em>改变 社区面貌 还 深刻影响 政党选民基础</em></p><p>多信仰 ： 信仰极其复杂  传统价值观出现裂痕</p><p>多矛盾： 所有社会矛盾源于 <strong>资源竞争与认同危机</strong></p><ol start="1"><li>种族冲突：“黑命贵”</li><li>排外主义： 9·11 后 针对穆斯林 + 疫情期间对亚裔的歧视</li><li>文化战争： 围绕 堕胎、控枪、平权法案 等 争论</li></ol><blockquote><p>本质：争夺 对于 什么是美国 谁是美国人 的 定义权 ——  对资源的分配</p></blockquote>
<p>很难形成一种心理价值的认同</p>
<h2 id="">美国原住民管理</h2><h3 id="">美国印第安人</h3><h4 id="">殖民地建立与印第安人人口浩劫</h4><p>“原住民” <strong>不能乱用</strong> （政治问题  是在中国）</p><p> 殖民者带来的天花、麻疹、流感等流行病</p><p>早期殖民与印第安人发生长期战争 （主要的 系统性的扩张） —— 被迫内迁</p><h4 id="--">昭昭天命：西进运动 与 “血泪之路”</h4><p>19世纪 美国政府 坚信扩张领土是 上帝 赋予的使命  “<strong>Manifest Destiny</strong>”</p><p>1830 安德鲁·杰克逊 总统  强行将居住在密西西比河以东印第安人驱逐到西边</p><p>美国政府 有组织、制度化掠夺 原住民土地 迁移被称为 “血泪之路”</p><h4 id="">系统性种族灭绝</h4><p>19世纪中后期 西进运动 —— 美国军队与当地印第安部落 长达数十年的“大平原印第安战争”</p><p>系统性屠杀印第安人 还灭绝当地野牛缺乏食物导致弹尽粮绝</p><p>1890年  “Wounded Knee Massacre” 屠杀了最后抵抗的妇女儿童 标志着 长达几个世纪的印第安武装抵抗以最悲壮的场面终结 ——  当作敌人</p><h4 id="--">同化政策 文化灭绝 塑造“忠诚”</h4><p>从“物理消灭”到“文化同化”</p><p>“印第安寄宿学校” 儿童从父母身边强制性 禁止说母语 穿传统服饰 进行宗教仪式</p><p>（文化灭绝政策 系统性消灭 原住民的语言和传统）</p><p>“半主权”自治管理模式</p><p>1924年 《印第安人公民法案》 承认 印第安人美国公民身份</p><p>1973年 美国印第安人运动（AIM）抗议者 重新 占领了 伤膝河  要求赋予部落真正自治权</p><p>20世纪末 正式确立“部落自觉”政策 承认部落作为“国内依附性民族”的半主权地位</p><h4 id="-----">印第安人主权 对 印第安人 的 “分离性” 管理</h4><p>在印第安人保留地 给予印第安人 self- determination 权力： 保留地“自决 自治” 地位“半主权 半独立”</p><blockquote><p>本质：<strong>自生自灭</strong></p></blockquote>
<p>雇佣 Navajo 语言 印第安人 为 密码兵 Navajo士兵展现出极大忠诚 + 为美军胜利立下汗马功劳</p>
<h4 id="">对印第安人推行的忠诚教育</h4><ol start="1"><li>学校（英文教学）</li><li>美国政治教育</li><li>培养精英</li><li>政治参与</li></ol><p>Navajo  说英文 信基督</p>
<h4 id="">联邦设立具体部门管理与塑造“忠诚”</h4><p>内务部：印第安人事务部</p><p>卫生与公共卫生服务部：印第安卫生局</p><p>教育部：原住民教育局</p><p>联邦住房局：公共和印第安人住房办公室</p>
<h4 id="--">制定保留地制度 与 《印第安人法》</h4><p>联邦政府 全权处置 —— 必要时候 可以撤销印第安人保留地</p><p>联邦政府 不断削减预算 （对印第安人的医疗福利） 渗透与原住地的管理</p><p>介入司法、部落司法屏障弱化</p><p>设置印第安人事务管理局警察 BIA 警察 —— 借助强制力量 铁腕镇压分裂种族分裂力</p>
<h3 id="">阿拉斯加原住民</h3><h4 id="">石油发现与政策的改变</h4><p>正式建州 —— 选择土地作为州有资产 —— 与原住民传统生存领地发生冲突</p><p>北冰洋沿岸发现 北美最大油田 为建石油管道 —— 《阿拉斯加原住民索赔解决法案》：取消保留地、区域性原住民公司、可以获取股份分红</p><h4 id="">生存与管理的冲突</h4><p>虽解决土地产权与石油开发的冲突 让一部分原住民获得商业利润 但是传统部落 原住民 面临破产或失去土地</p><h3 id="">夏威夷原住民</h3><p>州政府+联邦政府管辖  美国公民身份和政治权利</p><h3 id="">太平洋岛屿原住民</h3><p>美属萨摩亚：属美国管辖但无美国身份 无投票权</p><p>关岛、美属维尔京群岛：总督制 无投票权议席</p><p>北马里亚纳群岛；美国托管地 较大内政自主权</p>
<h2 id="">美国移民少数裔管理（美国穆斯林）</h2><h3 id="">美国穆斯林群体的形成</h3><p>19世纪以前主要来自 从非洲被贩卖到北美的黑奴 —— 本土非裔穆斯林的主要群体 占如今的穆斯林群体1/4</p><h3 id="">当代穆斯林</h3><h3 id="911-">911恐怖袭击后 美国穆斯林的处境</h3><p>伊斯兰文化 与 美国主流文化存在极强的异质性  与主流社区天然隔离</p><p>911后 出现针对 穆斯林群体仇恨犯罪 来自于部分宗教团体、政治人物、极端保守人士</p><h3 id="911">911后美国政府的穆斯林政策</h3><h4 id="">宗教和解</h4><p>全力防止 国家层面 激化 宗教意识形态与国家认同之间的冲突和分裂</p><p>小布什 强调 那部分 是 极端穆斯林啥的</p><p>促进宗教和解 强调 多元文化 族群宽容 与 文化包容性</p><h4 id="">移民政策</h4><p>小布什与奥巴马政府改革完善移民法案</p><p>特朗普颁布直接针对穆斯林的行政令与旅游禁令</p><h4 id="">强化穆斯林学生爱国主义教育</h4><h4 id="">政治参与</h4><p>鼓励参与社会服务</p><p>培养爱国的穆斯林领袖</p><h4 id="">暴力与怀柔</h4><p>《爱国者法案》 对特定群体合法的“执法恐怖”</p><p>保护穆斯林免受社会不公平待遇 但拒绝给予穆斯林特权！！！（<strong>值得学习</strong>）</p>
<h2 id=""><mark class="rounded-md"><span class="px-1">分离、忠诚；美国少数族裔管理的总原则</span></mark></h2><p>分离 是对不用族群实施自我管理权利</p><p>忠诚 是对不同族群强制性构建的国家认同</p><p>是<strong>较为先进的做法</strong> 法律权利是平等的</p>
<h1 id="lecture-10-">Lecture 10 美国土地管理</h1><h2 id="">一、美国土地管理演变的历史</h2><h3 id="1">1、殖民时期与建国初期的土地制度</h3><h4 id="">英国王室特许证</h4><p>根据英国法律 北美土地归属于英国王室 —— 授予殖民公司 贵族庄园主 或者 作为赏赐</p><p>在南部 只要移民到此地 就可以直接获得定额土地 在新英格兰地区 宗教等有土地分配权</p><h4 id="">美国独立战争本质：谁拥有土地</h4><p>普遍定居者在事实上缺乏土地所有权 —— 新旧殖民者之间的矛盾</p><p>1763 《公告线》 禁止殖民地居民以西扩张 着雨 殖民者以土地扩张为财富源泉的目标发生根本性矛盾 —— 有限土地资源的竞争</p><blockquote><p>土地所有权的争夺成为美国独立战争的根源 而税收只是导火索</p></blockquote>
<h4 id="">建国初期：土地私有化快读开发阶段</h4><p>新生的灭国面临巨额债务 缺乏直接征税权 前期名义上有关税 但还是很局限 南北战争后才有个税</p><p>西部广袤的公共土地 Public Domain 成为了最核心的资产</p><p>联邦政府通过土地出让与赠予、土地私有化、刺激移民定居、推动国土扩张并增加财政收入</p><p>联邦政府 ——&gt; “地产中介”</p><p><strong>1784 国会 《西北领地组织法》 规定西部领地达到一定标准 应作为“平等”一员加入联邦</strong></p><p><strong>确立西部土地归联邦政府法律基础 否定过去“宗主国-殖民地”模式 构建联邦制的制度架构内核</strong></p><p>州与州一开始就是平等</p><h4 id="">西进运动：国土急剧扩张阶段</h4><p>19世纪中叶以前 出售公有土地 单价虽低 但是赤贫移民负担沉重</p><p>为刺激详细扩张并认同联邦政府管辖权 1862 《宅地法》 年满 缴纳手续费 申获得160英亩公共土地
只要在此地居住并耕种满5年 —— 获得完整的土地所有权</p><p>彻底摒弃了以增加联邦政府直接收入的商业拍卖 免费赠送土地稳固农场制度</p><h4 id="">后果</h4><p>早期土地分配高度依赖地方自治和私人开垦 —— 分散的土地利用与管制模式</p><p>为应对私有化带来的损害 此后联邦法院的判决总是趋于符合公共利益的方向</p><p>各州和地方政府将土地管理纳入“警察权力”管辖权下 —— 复杂的城市<strong>分区制（Zoning）</strong></p><p>“征用与补偿” 公私利益冲突 + 法律诉讼</p><h3 id="2">2、从无序扩张到现代管理</h3><h4 id="">无序扩张的终结</h4><p>19世界末 西部可变卖和无限制开发的公共土地 趋于耗尽</p><p>西部生态环境脆弱 东部农业模式在西部无法持续</p><p>1891 《森林保护法》 标志着联邦政府从鼓励扩张向管控约束转变</p><p>从而打破“地方自治优先”，确立联邦政府在全国土地公共利益的最高权威管辖权</p><h4 id="">现代管理体系建立</h4><p>剩余公共土地 处于 无政府状态 导致 严重过度放牧 为争夺水源与草场 长期暴力对抗</p><p>《泰勒放牧法》彻底结束 无序开发 —— “放牧区” 设立 建立放牧许可制度并收取<strong>管理费</strong></p><p>正式关闭了公共土地的免费赠予制度 开始终结《宅地法》私有化时代</p><p>1946 美国土地管理局（Burean of Land Management BLM）</p><p>联邦政府通过 “警察权力”确立管理自然资源的合法性</p><h3 id="3">3、多元治理与可持续发展阶段</h3><p>20世纪60年代末 土地被定义为联邦政府永久性战略自然资源</p><p>1976 《联邦土地政策与管理法》 —— 彻底终结以《宅地法》为代表的土地私有化时代</p><p>BLM从负责土地拍卖 转变成 保护与监管土地资源的管理机构</p>
<h2 id="">二、美国土地管理的宪法基础：警察权力与正当权利</h2><h3 id="1">1、个人权利、公共利益与美国宪法</h3><blockquote><p><strong>美国宪法中 没有 “私人财产神圣不可侵犯”</strong></p></blockquote>
<p><mark class="rounded-md"><span class="px-1">shell not 负向法律原则 说不可以做的 法无禁止皆可为  <strong>人为解释因素占比很大 消极法律原则</strong></span></mark></p>
<p>1791 第五修正案  如果没有公平补偿 任何人无权将私人财产用于公共用途</p><p>公共美德 为了追求公共福利而牺牲个人利益的能力 是 宪法制定者初衷之一</p>
<h3 id="2">2、国家警察权力与正当法律程序原则</h3><p>宪法意义下 警察权力保护四大公共利益：<mark class="rounded-md"><span class="px-1">公共安全 公共健康 公共福利 公共道德</span></mark></p><p>政府有权对公民的自由与财产权进行合理限制的权力  —— <strong>可以不做出公平补偿的</strong></p><p>程序性正当程序：要求政府在作出影响公民生命与财产权的决定，必须遵循公平和固定的法定程序</p><p>土地管理 通过正常法律程序 为公共利益 可合法使用暴力管理方式</p>
<h2 id="">三、联邦、州与地方政府的土地管辖权</h2><h3 id="">联邦管辖权</h3><p>美国联邦政府拥有最高监管权 也是 最大土地所有者</p><p>内政部 农业部 国防部 三大系统内</p><h3 id="">州管辖权</h3><p>各州依据其自然地理条件 经济结构 历史传统 —— 制定本州土地利用 土地税收 与 土地流转 的法律法规 —— 确立统一的红线标准</p><p>各州有独立的 物权法体系 规定土地所有权登记、转让合同的生效要件以及土地征收权的程序</p><p>州政府将具体的城市规划、分区管理等权力 下放</p><h3 id="">地方政府管辖权</h3><p>地方政府 直接影响美国社会 家庭 与 个人</p><p>最直接机构 通过具体的条例 规划 细则 直接影响</p><p>地方政府制定本地土地分区管理 税收 公共出租屋 收容所 垃圾处理等等</p><p><strong>HOA 社区自治委员会 权力极大！ </strong>类似 “物业”</p><h3 id="">联邦与州的土地管辖权争夺</h3><p>内华达州（85归联邦）—— 军事基地 —— 各级政府与居民 同 联邦政府发生长期冲突</p><p>20世纪70年代 “萨奇布拉什叛乱” 西部各州主张应与东部同等政治地位</p><p>东部州保留土地权 联邦应当将土地还给西部州</p><p>1979年 内华达州等等 单方面宣布 “土地归还法案” —— 联邦最高法院 “平等地位原则” 仅仅适用于政治权利，不适用联邦必须放弃公共领地财产权</p><p>“三权分立” 不等于 “三权分裂” 遇到问题 三权联邦还是一伙的（）</p>
<h2 id="">四、城市土地分区与农村土地保护</h2><h3 id="">美国土地管理</h3><p>总原则：土地使用要符合公共利益，免受私有土地挟持公共利益</p><p>私有土地 “无害利用” 原则</p><p>有形侵占：直接侵占土地极其所属物</p><p>无形侵占：噪音 异味 等等</p><p>非法妨害：对土地使用不当 
公共健康 、 公共安全 、 公共道德 、 公共美感</p><h3 id="">城市土地的分区管制法</h3><p>纽约  “美丽城市”  社会抗议</p><p>1916 《分区管理法》 美国历史上第一步全面规范土地分区利用和管理的法案</p><p>核心：所有土地占有使用和处置必须按照政府统一规划</p><p>累积使用原则 —— 按照土地等级 住宅 商业 工业区</p><p>高级可以我那个低级区域延伸 禁止反向延伸 土地分区管理法对于私有住宅规定极为严格的管理条例</p><h3 id="">农业用地管理与保护</h3><p>美国农业工地总面积约为 55亿亩</p><p>农业用地关系着粮食安全与生态保护 也是 美国农业贸易与国力的根本保障</p><p>设定最低基准线 禁止其余侵蚀农耕地 保证农业 大规模地块分区</p><p>防止农业用地被分割而丧失规模效益和生产能力</p><p>联邦采取 农业补贴等 激励措施</p><h3 id="">土地与土地资源保护</h3><h4 id="-">美国国家公园体系 及其保护</h4><p>1872 国会设立 “黄石国家公园”</p><p>总统可以通过行政命令是直接设立“国家纪念地”</p><h4 id="">生物多样性：野生动植物与鱼类保护</h4><h4 id="">土地极其附属物保护条款</h4><p>土地用途 无权开发地下矿藏 附着于土地流动的动态资源的管控是土地管理的难点</p><p>对于私人雨水收集美国部分州收到一定限制（干旱州防止私人大规模蓄水）</p>
<h2 id="">五、土地征用争议：公共利益与公共补偿的冲突</h2><h3 id="">征用权的宪法基础</h3><p>征用权力  原则 无论处于公共使用或者该财产威胁了公共福利 联邦和州政府都拥有强制征收权力</p><p>eminent domain 征用权力</p><p>程序：只要合理补偿 都可以征用</p><p>实践：为保护公众健康和安全 禁止某种危险活动时 无论这种禁令如何 都不构成需要补偿</p><p>警察权力与征用权力的联系与区别</p><p>警察权力：消除公害  维护公共秩序底线 无需做出经济补偿</p><p>征用权力：增进福祉 强制转化成为公共用途</p><h3 id="">从公共使用到公共目的</h3><p>政府有权界定什么是公共利益 法院不应在具体的规划细节上越俎代庖</p><p>赔了夫人又折兵 —— 凯洛案</p>
<p>核心矛盾：联邦与西部州土地产权之争，私人财产与公共利益冲突，征用从 公共使用 扩展 公共目的争议 联邦法院的判决总是趋于符合公共利益的方式</p>
<h1 id="lecture--11-">Lecture  11 美国能源与环境政策</h1><p>世界上最危险的石油泄漏 2010年墨西哥</p><h2 id="">美国能源政策发展史</h2><h3 id="191973">从自由放任到战略调控（19世纪末——1973年）</h3><p>1859年 美国第一口油井在宾州开采</p><p>当时普遍 认为 国内拥有无限能源 —— 无需制定政策 鼓励私人企业勘探开采 促进市场繁荣</p><p>19世纪末——内燃机 的 石油时代（电力时代）</p><p>约翰·洛克菲勒 建立 石油帝国  去铁路化 发展其支持的汽车产业（让石油成为主要） 宣传 肢解铁路公司</p><p>1911 美国最高法院 依据 反垄断法 拆分其公司</p><p>联邦政府从监管市场开始介入能源领域</p><p>《矿产租赁法》 1920 转向“有偿租赁” 全面监管公共土地的能源矿产</p><p>近海能源开采权之争 —— 联邦与州 争夺 近海所属权</p><p>1953年 最终规定 <strong>各州拥有离岸3到10英里的海底资源</strong></p>
<p>近海油气资源控制权  获得近海油气资源控制权 成为美国联邦政府重要的战略储备与战略资源</p><p>富裕时代—— 美消费和生产建立在“廉价无上限” 能源基础上</p><p>1973 第四次中东战争  —— OPEC 对 支持以色列的西方国家实施石油禁运</p><p>1973 石油危机 引发严重经济衰退与通货膨胀 —— 政治与社会危机</p><p>（当时之前美国对于此没有节制的社会意识！！！）</p><p>从“鼓励消费”到“保障供应安全” 标志美国能源公共政策体系开始建立 为联邦监管与安全审查奠定法理基础</p><h3 id="">全面建立能源政策</h3><p>1973 尼克松制定能源独立计划 目标到1980年实现能源自给自足</p><p>全国限速 夏令时（希特勒）  增加联邦对于能源研发的资助 配给的备用权力</p><p>1977 卡特成立 <strong>能源部 </strong>—— 二战后最大规模政府改组  所有能源管理职能部分（国家实验室 电力调控 核武器）</p><p>都 整合到 能源部</p><p>标志着美国能源政策正式进入集中管理时代</p><p>里根 放松管制 —— 能源私有化 取消国家对清洁能源补贴 —— 石油天然气价格市场化</p><p>小布什 能源供应多元化 —— 鼓励使用 油气煤核能 、能源基础设施现代化 、开发北极保护圈内油气资源 、加速推动页岩油气革命（从石油进口 走向 自足 到 出口大国）</p><p>奥巴马 全面能源战略 —— 支持页岩油气持续开发 、 低碳化转型 、 太阳能、 风力发电、清洁电网计划</p><p>特朗普 化石能源主导 —— 退出巴黎协定 能源独立 废除清洁电网、 恢复煤炭开采、 推动石油出口强化国家影响力，美国在全球能源体系中的主导性</p><p>拜登 清洁能源主导 —— 全面推动清洁能源产业 限制在联邦土地开发油气  向绿色工业转型</p><p>特朗普 2️⃣ Make 化石能源 Great Again —— 再次退出 巴黎  反对各项与气候变化有关的政策全部取消</p>
<h2 id="">能源企业、游说与美国政治</h2><h3 id="big-oil">大石油（Big Oil）与游说政治</h3><p>Big Oil 指一个 由 石油 化工 行业协会 公关公司 及 相关 游说主题构成的 庞大政治生态</p><p>游说手段</p><ol start="1"><li>竞选捐款（政治献金）</li><li>资助智库与大学、发布页岩油气可行性研究报告</li><li>操纵“伪草根运动” 代表传统行业广大工人利益 保障就业 动员传统能源企业工人进行施压 —— <strong>基本盘</strong></li></ol><h3 id="">旋转门机制（在美合法）</h3><p><strong>美国能源政治常态化职业路径：</strong></p><p>高级行政官员、国会议员在离职后进入大型能源企业与协会 担任高薪游说顾问</p><p>能源企业高管 通过 政治任命 进入内阁部门 担任要职</p><p>影响：</p><p><strong>规制俘获 ：就是 为支撑其的利益集团 制定 相关的 国家决策 的 行为 </strong> —— 核心</p><p><strong>利益纽带</strong></p><p><strong>合法的信息 权力 利益 交换</strong></p>
<h3 id="">“科赫兄弟”的游说与旋转门政治</h3><p>旋转门与政治现金 —— 白宫 70% 的 高级官员 都和 Koch 有关</p><p>资助接受其资金的大学和研究机构 开展 否定气候变化的研究</p><p>“繁荣美国” 基层政治组织 宣扬自由市场 保护美国就业</p>
<p>蓬佩奥 ： 特朗普第一任总统最后一位国务卿</p><p>离职前 中国对其进行制裁 凡是与有制裁的人有关的公司都不能与中国做交易</p><p>学会干预 制裁 美国官员</p>
<h3 id="">美国两党能源政策</h3><p>本质两党基础并没有不同 不同的仅仅是对待清洁能源的态度</p><p>当代美国能源政策的基础还是<strong>依托丰富的传统能源 总体上持续依赖化石能源</strong></p><p>都没有反对在本土开采化石煤炭等传统能源</p>
<h2 id="">美国环境政策的历史发展</h2><h3 id="-2050">从野蛮利用走向监管（ 20世纪50年代以前</h3><p><img src="https://cdn.jsdelivr.net/gh/APhysickui/typora-images/img/IMG_9838.jpeg" alt="11-1"/></p><h3 id="">联邦实施环境监管权力确立</h3><p>《空气污染研究资助法》 以提供资金 支持科学研究与技术手段缓解 空气污染 首次联邦政府在空气领域采取立法</p><p>1965 《机动车空气污染控制法》 联邦政府设定全国统一的排气标准 （技术型标准）</p><p>成为联邦获取环境监管权的标志性法律</p><p>Rachel Carson《寂静的春天》 提醒滥用杀虫剂对环境有害</p><p>美国环境保护 EPA —— 美国环保署</p><p>老布什：排污权交易 政府设定总排放上限   将限额作为一种商品</p>
<h2 id="">美国能源与环保政策下的产业</h2><p>页岩油气开采——地下水污染；土壤与生态破坏；地质风险</p><p>三哩岛核电站 —— 离纽约很近  第一个关闭的核电站</p><p>现在由于 AI与云计算运营 恢复运行 供电计划于2028年恢复运行 老旧基础上进行重启</p><p>从机械到智能</p>
<p>中国拖美国脚脖子 美国卡中国脖子</p><p>AI —— 实际背后都是 物理世界 能源竞争 具身智能</p>
<h1 id="lecture-12-">Lecture 12 美国犯罪管理与控制</h1><h2 id="">一、从地方自治到大监禁</h2><h3 id="">犯罪管控体系发展</h3><p>北方：守夜人执法体系 —— 保护工商业 应对又外来移民、贫困阶层带来的治安问题</p><p>本质上是 <strong>付费机制</strong> 不仅打击罪犯 对底层群体进行管控和规训</p><p>南方：奴隶管控队 —— 保护奴隶制 防止淘宝 行使治安只能</p><p>职业体系建立： 政府公务员体系 ——到20世纪  通过考试与选拔 建立 警察公务员</p>
<h3 id="">犯罪管控的正当程序体系的建立</h3><p><strong>米兰达警告</strong> ：防止警察通过心理施压/刑讯逼供 —— 将刑事司法管控传统的</p><p>“犯罪控制模式” （注重结果）——&gt; “正当程序模式”（注重过程）</p>
<p>法律与秩序 1968 （各种民权运动 政治混乱）</p><p>保守派认为治安恶化是自由派削弱刑法震慑功能纵容的结果</p><p>尼克松 ： 联邦政府开始大规模干预本属地方管辖的社会治安领域</p>
<p>严厉打击犯罪 1981年 里根被刺杀后</p><p>里根政府开始将犯罪治理预防与罪犯的“矫正” 转向以 严刑峻法彻底剥夺犯罪能力为目标</p>
<h3 id="">大监禁确立</h3><p>1994年 克林顿政府实施跨党派政策 制定《暴力犯罪控制与执法法案》</p><p>批准大量联邦资金 资助警察 巡逻逮捕 修建更多监狱 演唱暴力重刑犯实际服刑期</p><blockquote><p>强化检察官裁量权 从法官转到检察官  导致轻罪犯人被长期羁押 （冲业绩行径）</p></blockquote>
<p>实施“<strong>三振出局法</strong>”：规定累犯第三次犯罪 将面临 25年至终身监禁的严厉刑罚 最重导致 监狱很多人</p>
<p>结果：美国以展全球不到5%的人口 关押了近全球 1/4 的囚犯 成为全球监禁率最高的国家</p>
<h2 id="">二、美国犯罪类型与现状</h2><h3 id="">主要类型</h3><p>白领犯罪</p><p>主要集中在公司账务、投资 、操纵股市和价格</p><p>最著名：2001 安然公司丑闻</p><p>更加危害国家经济秩序 最严重可能导致 经济/金融危机</p>
<p>无受害者犯罪 （吸毒 卖淫 等等 ）</p><p>街头犯罪 （砸玻璃等等旧金山 、 零元购）</p><p>仇恨犯罪（宗教 性别 信仰 种族等等）</p>
<h3 id="">犯罪现状与趋势</h3><p>数据显示 美国犯罪率 下降</p><p>美国人亲身感受 犯罪率在上升</p>
<h2 id="">三、美国犯罪的社会根源</h2><p><strong>经典犯罪学派</strong></p><p>1、源于 犯罪者生理、心理或基因等个人缺陷，犯罪控制的重点是对危险个体的识别、隔离与治疗</p><p>2、失业、贫困、住房、城市化进程对犯罪产生绝对性作用 重点是解决上述问题</p><p>3、家庭结构与街头文化：某种经济来源 社交网络 防御手段等隐性社会规则</p><p>4、教育不平等  “失败 - 缺乏竞争力 - 就业困难 - 边缘化 - 犯罪”  恶性循环</p>
<p><strong>毒品</strong>：大麻</p><p><strong>枪支泛滥</strong>：已经超越传统犯罪边界 成为 公共治理危机</p><p><strong>人口分布与犯罪</strong>：城市犯罪率远远高于郊区和农村</p><p><strong>种族与犯罪率</strong>： 监狱中 依旧是 美国白人占比最多实际上</p><p>不仅非洲裔美国人 被逮捕的 比例过高 在监狱中人口也不成比例 （39.2%）</p><p>被捕的非洲裔美国人比白人更有可能最终被监禁</p><p>种族貌相问题 也会 影响到其他少数群体 成为美国中东裔穆斯林 关注的一个问题   而拉美裔 面孔 往往和贩毒联系在一起</p><p>弗洛伊德案的影响：I can&#x27;t breath</p><p><strong>青少年犯罪</strong>：美国青少年 10-19岁 和 20-29岁 两个阶段</p><p>美国贫困社区教育资源极度匮乏 造成“从学校到监狱的监管”</p><p>美对于犯罪认知：过于严苛 “坡滑效应”  —— 防止“骆驼鼻子”</p><p>嫉妒严苛的零容忍校规：将校园问题形式化，导致过早过度被贴上“少年犯”标签 成为未来起点</p><p>“校园毒品” 也是</p>
<h2 id="">四、美国司法体系的制度症结与异化</h2><p>1、控辩交易 Plea Bargaining</p><p>“大监禁” 导致刑事案件 爆炸性增长  “正当程序 公正审判 ”—— 程序 成本极度高昂</p><p>维持司法流程效率 构建辩诉交易  先是“主动认罪 大幅会 帮助减刑” —— 催生花钱减刑免刑司法腐败</p><p>2、监狱工业复合体</p><p>里根：公共服务自由化 —— 监狱外包给私人企业</p><p>CoreCivie 和 GEO 集体 最大的私人监狱集体 也是上市公司</p><p>更倾向于关押 青少年犯 （有家庭为其支付费用）</p><p>3、保释金金融化 Bail Bond</p><p>地方拘留所 与 保释金贷款公司 —— 利益复合体</p><p>对于寻求保释金但缺钱 的 犯罪嫌疑人 提供贷款 家庭分期/资产抵押方式 = 保释金 来 取保候审</p>
<p>4、陪审团制度</p><ol start="1"><li>Due Process of Law</li><li>陪审团的规则</li></ol><p>坦白从宽抗拒从严</p><p>司法成本：钱从哪里来</p>
<h2 id="">美国犯罪管控的争议</h2><p>保守派：以暴制暴和预防性拘留 “小罪零容忍” 主张保留死刑</p><p>自由派：去刑事化与社会矫正 并非天然道德问题 而是 各种社会根源 对于小型犯罪 将刑事司法资源集中于应对真正有威胁的恶性暴力犯罪  主张各种 感化会  主张废除死刑</p>
<h1 id="lecture-13-">Lecture 13 毒品与枪支</h1><h2 id="">一、美国双重管理危机</h2><p>阿片类药物滥用成瘾 与 枪支泛滥暴力常态化</p><p>A：每年因为滥用 合成类 阿片药物致死率全球最高 芬太尼（很难把控剂量）</p><p>枪支致死率高于交通事故</p><p><strong>美国的毒品与枪支管理困境的背后是同一套逻辑</strong></p>
<h2 id="">二、美国毒品管制历史</h2><h3 id="1">1、鼓励大麻种植（殖民时期）</h3><p>1611 英国殖民者 培植第一株大麻 （尤其是弗吉尼亚）</p><p>起初是因为 大麻的纤维 可以用来制作 帆船绳索 —— 战略物资</p><p>1619 弗吉尼亚立法会议颁布《大麻种指令》 要求每个农民都必须种植大麻（教会教堂）</p><p>大麻对土地破坏强 —— 不断换居住地 随着土地作物资源而转移 —— 教育发展一般</p><p>1762 正式再次确立大麻在美国的合法地位</p><h3 id="2--20">2、毒品合法时期  20世纪之前</h3><p>由于具有 镇痛、镇静作用  19世纪末  大麻、鸦片、吗啡和可卡因等 合法的</p><h3 id="3">3、毒品管制起点</h3><p>第一次世界大战后 大量的负伤退役军人 通过 吸毒来减轻伤痛</p><p>20世纪初 很多美国人 以精神娱乐为目的开始 吸食毒品 —— 大量劳动力缺乏足够的精力从事体力工作</p><p>墨西哥裔工人开始抢占廉价劳动力市场 部分美国人失业 大萧条时期更严重</p><p>美国当局认为是受外来移民带来的吸食毒品的影响</p><p><code>早期禁毒：基于种族歧视</code> 而非认为是毒品本身/社会内部的问题</p>
<p>禁毒两派观点：</p><ol start="1"><li>妥协派：无法全面禁毒 控制供给与需求 —— 给予成瘾者低剂量毒品满足其需求</li><li>禁毒派：给予道德与犯罪考虑 除部分医疗用途之外 应绝对禁止毒品</li></ol><h3 id="420">4、20世纪早期州政府禁毒政策</h3><p>华盛顿特区成为最早禁毒区域</p><p>1913 加州 成为 美国最早最激进的禁毒州</p><p>州各类禁毒法令 —— 对毒品认知基本相同</p><h3 id="5">5、联邦政府禁毒政策</h3><p>早期联邦政府认为指需要禁止国内种植和国外走私 —— 皆以解决</p><p>美西战争 夺取菲律宾 —— 菲律宾岛内毒品种植和消费严重 迫使美国必须强化禁毒法律和行动</p><p>《哈里森法》美国联邦第一部禁毒法律 禁止非医学 更多针对国外进口 而非国内（） 切断了供给侧</p><p>造成美国形成巨大的地下毒品网络 美国相应将社会管控医学问题 推向 犯罪管理 —— 毒品与犯罪</p><p>1932  联邦政府《统一州麻醉品法》 转向全球统一管理</p><p>1937 《大麻税法》 联邦政府正式全国管制大麻</p><p>二战期间 战争对应工业大麻需求激增 —— 再次泛滥 —— 毒品问题猖獗</p><p>联邦政府 Hale Boggs 最严苛两部禁毒法案</p><p>《博格斯法》（规定毒品犯罪最低刑期）</p><p>《麻醉品控制法》强化了犯罪法律的惩戒</p>
<h3 id="6">6、联邦政府禁毒政策转变（全球大文革）</h3><p>“红旗插遍全球”</p><p>国内 反主流文化运动 吸毒成为青年反叛的标志 吸毒回潮</p><p>美国 禁毒摇摆期</p><p>70年代 尼克松掀起 “反毒战争”  威胁中断对土耳其军事援助迫使土耳其政府承诺打击对美走私海洛因</p><p>拉丁美洲 成为 对美走私毒品 来源地  ——  墨西哥成为美国最主要的大麻供应地</p>
<p>美国缉毒局 DEA 1973</p><p>“委内瑞拉总统夫妇（就是DEA抓的）安的毒品名头”</p>
<p>福特政府  <strong>“与毒品共存”</strong> 的政策  大麻不再被视为毒品而放松管制 主要针对更强的毒品管控</p>
<p>里根 再次进行 “禁毒战争”  以禁毒为名 公然介入他国政府内政！</p><p> “成为美国外交国际关系的核心”</p>
<p>后来由于成本很高 —— 将禁毒纳入“公共卫生领域” 注重毒品的预防和成瘾治疗 —— 大麻合法化高涨</p><p>“公共卫生”禁毒模式：起源于欧洲 进行戒毒教育以减少毒品的危害 去政府设立的“注射点”（专业的来</p>
<p>小布什时期 试图在法律惩戒和公卫模式之间寻求平衡</p><p>奥巴马 与毒品共存的公卫模式成为 主要模式 （政府配给一定剂量在特定注射点）避免更多延伸问题</p><p>特朗普 一个是强化毒品法律惩戒  另一个是州本身 由于财政压力 越来越多的州政府承认大麻合法化</p><p>杜特尔特 菲律宾总统 过于“” 只要发现有人吸毒 —— 可以直接消灭！—— 人权问题</p><p>拜登 联邦政府层面松动管制 获得大量年轻群体和非法移民群体的支持</p>
<h2 id="">三、美国禁毒政策的争论</h2><h3 id="">公共政策领域之间争论</h3><p>犯罪学派 —— 大监禁——成本问题、脸谱化种族问题</p><p>公卫学派 —— 国家无法消除</p><p>市场学派——地下黑市 引发更大规模的犯罪和公共卫生危机</p><p>政治一定要有共识 不然最后一定会走向极化</p>
<h2 id="">四、美国枪支管控</h2><h3 id="1">1、美国“枪支文化”传统</h3><p>历史渊源与传统：保卫家庭 + 独立战争</p><p>客观：地广人稀 乡村警力不足的补充</p><p>“枪支” 对于美国人来讲 也是成瘾的 —— 类似宠物/兄弟的存在</p><h3 id="2">2、美国枪支管控政策发展历史</h3><p>美国第二宪法修正案 ：人民持有与携带武器的权利 不得予以侵犯</p><p>1934 《国家枪支法》  通过课税和枪支登记 —— 对“高度危险”的武器实施管控</p><p>1929年芝加哥 “情人节大屠杀” 引发全美恐慌</p><p>1968年《枪支管制法》 马丁路德金与肯尼迪相继被刺杀</p><p>新的《枪支管制法》 确立枪支许可制度  对于持枪身份有限制 背景调查 但私下里的交易依旧很容易</p><p>1993 《布雷迪法案》 确立国家犯罪背景调查系统 要求枪支在销售前必须通过联邦数据库核查购枪者背景 —— 但是实际在现实中依旧很轻松进行交易</p><p>1994 禁售部分枪支（禁止大规模强杀伤力的武器） 只是控制枪</p><p>2022 限制公民在公共场所携带手枪的法律必须符合美国的“历史与传统” 支持公民持枪 且在符合规定下公共场所持枪 —— 极大提高了联邦政府/州政府未来制定任何创新性控枪法案 奠定法律门槛</p>
<h3 id="3----">3、美国枪支管控的“枪击-愤怒-争议-枪击-愤怒”政策的恶性循环</h3><p>核心 —— “木桶原理” ：没有统一的法案</p><p>实际上政策取决于对枪支管控最弱的那个州的法案</p><blockquote><p><strong>控枪政策碎片化管理</strong></p></blockquote>
<h3 id="4">4、美国枪支管控理念分歧与利益集团</h3><p><strong>个人权利</strong> 受宪法第二修正案保护</p><p>Everytown for Gun Safety 强化弹夹容量与自动步枪管控</p><p>本质上   <mark class="rounded-md"><span class="px-1">控枪并非禁枪</span></mark>  （即使是最liberal的人）</p>
<h3 id="5">5、无法控枪的管理逻辑</h3><p><strong>不同的移民群体 —— 实际上相互群体之间没有情感的、没有很强的公共认同，相处是有底线的</strong></p><p> 实际就是移民的逻辑 ！！！  竞争是没有底线的</p><p><strong>资源争夺导致社会冲突</strong></p><p><strong>缺乏情感渊源导致屠杀 —— 毫无心理负担</strong></p><p><strong>警察权力权威是最稳定基础 保障秩序—— 以暴制暴</strong></p><p><strong>民间拥有枪支构成警察暴力执法合法性</strong></p>
<h2 id="">结论</h2><p>1、禁毒与禁枪是一个系统管理体系，美国联邦制结构下的各州法律体不统一，导致
“木桶效应”，任何一州的法律底线降低将导致全国管理失效
2、利益集团利用缺乏政治与社会共识，绑架国家决策和立法
3、共存是美国管理的共同逻辑，“与吸毒、枪支、病毒共存”，只要不危及资本集团的根本利益，其他都可以“共存“
4、美国民主共和两党在强制管理问题上本质没有区别，“控枪”而非“禁枪”
5、允许持枪，才是警察可以合法开枪的前提，<strong>移民国家必须构建警察合法开枪的权力才能确保社会基本秩序</strong></p>
<h1 id="lecture-14-">Lecture 14 美国贫穷与社会福利</h1><h2 id="">一、美国贫困的标准与现状</h2><p>绝对贫困：根据经济发展与物价水平 联邦政府计算出<strong>刚性收入基准线</strong></p><p>相对贫困：中位数 家庭收入在全社会收入中位数以下的家庭 （家庭 8万🔪）</p><p>深度贫困：每天可支配生活费低于3.20美元 群体</p>
<p>阶段性贫困：由于突发性事件 失业、家庭结构破裂、重大疾病导致的工作中断和高昂医疗帐单（可能会恢复过来、也有可能被彻底斩杀）</p><p>长期贫困：个人/家庭 长达数年 甚至 数十年间 持续处于贫困线下  <strong>往往伴随着跨代际的传递效应</strong></p>
<p>谁是美国的穷人：</p><p>1、种族：人数上是白人最多 但是 非裔、西裔、原住民 是贫困比例最高的群体</p><p>2、性别分类：女性贫困率高于男性  一方面是女性单亲 高离婚率 高未婚率 贫困女性化；另一方面是就业歧视  —— 女性贫困也和儿童贫困息息相关</p><p>3、年龄分类：美国48.9%的儿童都处于贫困线以下以及低收入家庭  申请 可以有free lunch（公立学校）</p><p>但是所谓 Free Lunch 由两大集团 控制 —— 但如今 高糖分 疫情中还有孩子突然在家里吃饭的负担也出问题</p><p>4、工作分类：最低工资位 7.25 美元  从事餐饮、仓储、家政、护理等服务业岗位的人 <strong>全职甚至多份工作</strong></p><p>收入依旧在贫困线之下</p><p>5、地理分类：经济转型导致大都市的内城区 衰败 ； 随着传统采矿业 制造业 和 传统农业的衰落 阿巴拉契亚山区、南方腹地出现的贫困带  《乡下人的悲歌》</p>
<p>贫困新趋势</p><p><strong>工作贫困群体（ALICE Line）</strong>“资产有限 收入有限 但仍在就业的群体” 为<strong>“隐形贫困群体”</strong></p><p>收入高于 联邦贫困线 但缺乏有效的经济安全保障 是最主要呗 “斩杀线” 击中的群体</p><p>一旦掉下去 很难再恢复了</p><p><strong>K型经济</strong>   疫情后经济朝着两个方向发展 导致出现两个不同的群体 基尼系数越来越大</p><p>高科技与资本持有者 更加富裕</p><p>传统产业从业者则越来越贫穷</p><p><strong>零工经济兴起</strong> 数字平台 算法派单 和 共享经济 为特征的 零工经济兴起</p><p><code>表面的经济繁荣之下 掩盖的 脆弱收入来源</code></p>
<h2 id="">二、美国贫困形成的原因</h2><h3 id="1">1、导致美国贫困的现实因素</h3><p><strong>教育不平等</strong>：高度依赖财产税制的 K-12 公立教育、严重分化的公私教育质量 以及缺乏客观统一的高等教育录取标准 形成“出生即终点” 的 社会结构</p><p><mark class="rounded-md"><span class="px-1">最核心的根本原因</span></mark></p><p>高考在中国就是一种很底层的政治</p><p><strong>因病致贫</strong> 美国人均医疗支出 高达 13000刀 尽管有Medicaid做兜底 但准入条件严苛</p><p>一次突发性疾病 —— 被迫跌入贫困线以下</p><p><strong>成瘾剂量</strong> 酗酒 阿片类药物滥用 导致 劳动能力丧失 家庭破裂</p>
<h3 id="2">2、导致美国贫困的理论流派</h3><p><strong>自由主义</strong>：缺乏教育就业机会职业培训 ； 歧视导致机会不平等</p><p><strong>保守主义者</strong>：健康的人贫穷是因为懒；经济发展有大量的机会；政府福利不能改变贫穷 反而鼓励偷懒和滥用权力</p><p><strong>激进主义</strong>：资本主义制度加剧贫困；需要贫穷 大量剩余劳动力必须自愿从事低收入肮脏工作；中产对跌入贫穷的恐惧则会更加勤奋 屈从于上层阶级的制度安排</p>
<h2 id="">三、美国福利政策发展史</h2><h3 id="120">1、自由放任与地方救济（殖民地——20世纪前</h3><p>中世纪 国家/王室 没有提供社会福利的责任</p><p>英国 1601 《济贫法》 Poor Law 第一个规定政府提供社会福利责任的法律 <strong>也规定健全人必须工作</strong>（重要）</p><p>早期殖民地 模仿 济贫法 建立各自 社会福利制度</p><p>福利属于地方政府的管辖权</p><p>南北内战结束后 国会成立 “难民 自由人 遗弃土地管理局”</p><p>联邦政府首次正式提供全国性社会福利的开端</p>
<p>随着近代工业  19世纪末 —— 社会达尔文主义 大行其道</p><p>将生物进化论 生搬硬套到 人类社会上 主张 适者生存 社会应该抛弃失败者</p><p>在社达视角下 政府对穷人的社会福利不仅无效 还有害  认为社会福利会破坏市场的竞争法则与国家竞争的活力</p><p>这种极端崇尚个人责任 抑制政府作用的行为是卑劣的</p>
<h3 id="2">2、进步主义时代的福利制度</h3><p>经济危机导致劳资关系进一步恶化 贫穷问题愈发成为社会冲突核心问题</p><p>经济周期带来的贫困无法归咎于个人道德的失败</p><p>各州政府被迫开始建立有限的普惠式社会福利制度 （地方政府）</p><p>多数州 最多 《母亲养老金法案》 —— 为单亲母亲 提供 微薄的公共资助 各州也逐步建立工人伤残资助</p>
<h3 id="3">3、联邦政府建立福利制度开端</h3><p>大萧条 + 苏联完成了社会主义 —— 美国联邦政府开始介入到联邦体系</p><p>1935年《社会保障法》 社会保险 与 社会救助 的双结构 奠定了现代美国福利体系的基本结构</p>
<h3 id="4">4、联邦政府“伟大社会”福利体系建立</h3><p>民权运动 60年代 全面揭开了南方非裔美国人真实贫困问题</p><p>林登约翰逊 构建 伟大社会 计划 正式向贫困宣战</p><p>改善教育体系</p><p>Medicaid  医疗补助（救急）和 Medicare 医疗保险（长期交 会有保险）</p><p>制度化食物券 —— 补充营养援助计划 SNAP前身</p>
<h3 id="5">5、联邦政府福利体系重组</h3><p>陷入“滞胀”危机 财政赤字 —— 里根时代</p><p>认为“福利依赖”  加剧贫困 破会啊了核心家庭结构 鼓励了未婚先育 摧毁了个人责任感与工作伦理</p><p>—— Welfare Queen</p><p>《1981年综合预算调节法》 大幅削减了各种社会救助预算 设立非常严格的审查资格</p><p>试图将决定权下放地方 —— 拉开了美国福利国家收缩与重组的序幕</p>
<h3 id="6-20">6、美国有限福利国家制度 20世纪末</h3><p>克林顿 《个人责任与工作机会协调法》</p><p><strong>社会福利从 权利 退化为 有限临时救助</strong></p><p><mark class="rounded-md"><span class="px-1">确立了“工作福利”原则</span></mark>  领取现金救济后两年内必须参加工作或政府制定的工作培训 社区服务</p><p>规定使用联邦现金援助的累积时间 终身不得超过60个月（部分特殊除外） 为杜绝过度依赖</p>
<h2 id="">四、美国福利体系的结构</h2><h3 id="1-social-insurance">1、社会保险 Social Insurance</h3><p>普惠性 全民覆盖</p><p>资金来源工薪税  每个人都交！！！</p><p>无需经济状况调查 所有到达法定退休年龄  领社会保障金与加入联邦医疗保障啥的</p><h3 id="2">2、社会救助</h3><p>社会保险 防范所有纳税人不可抗力的衰老与疾病</p><p>社会救助 则是为那些无法通过 劳动力市场 获得足够资源的极端弱势群体提供最后的生存兜底</p><p>资金来源于 政府税收 但受惠人有限</p><p>社会救助需要 资产审查 有骗保</p><p>“真救助”/“养懒汉”</p><p>主要包括：</p><p>Medicaid 与 儿童健康保险计划 CHIP、SNAP 补充营养援助计划 食品券、住房援助计划、现金救助</p>
<h2 id="">五、美国贫穷与福利体系政策争议</h2><h3 id="">自由主义：</h3><h6 id="--">贫困——系统性机会不平等 经济结构转型 系统性歧视</h6><h6 id="-----">大政府纠正市场分配失灵 立法 提高最低工资 对富裕阶层征收累进税 重新调配 建立全民医保</h6><h3 id="">保守主义：</h3><h6 id="-----">福利依赖 代理懒惰 限制干预边界 个人责任的回归 社会救助资格与强制就业 技能培训严格挂钩</h6><p>迫使个体重新融入劳动力市场 个体尊严 通过市场竞争</p><h3 id="">地域差异！！！</h3><p>联邦垂直 社会保障金与联邦医疗保险 Medicare 等少数项目由 联邦政府垂直管理 绝大多数关系到低收入群体切身利益 的公共援助项目 Medicaid 等等 都是 联邦提供资金 地方各州自行实施 的管理模式</p><p>州政府 福利准入 资产审查及救济标准的自由裁量权 ——  各州差异很大！</p><p>州政府鼓励符合条件的本州居民申请SNAP 促进地方零售 拿官方的钱</p>
<h3 id="">福利悬崖效应</h3><ol start="1"><li>“福利悬崖”效应（Benefits Cliff Effect）是指当低收入家庭通过工作使总收入略微超出某项福利资格线，<strong>该家庭将面临相关福利被“全额撤销”，进而导致其整体净可支配收入出现灾难性的断崖式下降，即“斩杀线”</strong></li><li>“福利悬崖”效应的制度漏洞将低收入者推入了一个理性的“低薪陷阱”：为了维持家庭基本的医疗、食品和住房安全，他们不得不主动拒绝晋升机会或限制工作时间，以确保其收入始终保持在福利红线之下，形成<strong>工作贫困现象（Working Poor）</strong></li><li>一些企业利用这个漏洞，故意压低工作薪酬，让员工收入处于贫困线下，鼓励员工申请联邦医疗食品补助，从而大幅度降低企业成本（例如沃尔玛） 不用交医疗保险</li></ol><h3 id="">种族排斥与数字鸿沟</h3><p>系统性种族不平等导致实际福利受益者与宏观预测不匹配</p><p>不同种族获批速度与数量不同</p><p>全面推行在线申请—— 贫困 乡村地区 遭遇数字鸿沟</p>
<h3 id="">沉重的社会福利赤字</h3><p>占预算的 一半</p><p>美国国债 占 GDP 124%</p>
<h1 id="">总结</h1><p>美国是三种制度混合的国家</p><p><strong>高层按资分配</strong></p><p><strong>中层按劳分配</strong></p><p><strong>底层按需分配</strong></p>
<p>趋势？</p><p>上层 海量财富</p><p>底层享有福利保障 而且美国底层的 劳动力价值还是很昂贵的</p><p>中层阶级 不得不承受 K型经济的撕裂</p>
<p><strong>理解美国取决于观察美国的视角</strong></p><p>美国社会：马赛克vs大熔炉？</p>
<p><strong>财富分化 + 族群政治 ——&gt; 成为美国政治的死结</strong></p>
<h1 id="">期末复习</h1><p>“没有名词解释 —— 更多考察的是理解”</p><p>考察主线还是资金和警察暴力对美国公共政策的影响（还有移民国家导致的情感缺失对国家的影响）</p><p>还有联邦政府的力量逐渐渗透到地方和基层</p><p> Medicaid 和 Medicare</p><p>联邦大手 —— 渗透到基层</p><p>美国整个国家 核心就是移民 最简单的管理 —— 就是看相互之间有没有情感 —— 没有情感 社会就会很可怕</p><p>背后就是一套 相互之间根本没有情感 的恐怖现实 社会富裕还好 一旦下行 就会出现大问题</p><p>考验观察一个国家社会 之间关系 ：最好的时刻 就是 无政府时刻  发生各种天灾人祸</p><p>所以实际靠的是 暴力警察机制   “警察国家”</p>
<p>两条线是联邦政府权力扩张和警察、税收的影响</p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/American-Politics-and-Public-Policy#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/American-Politics-and-Public-Policy</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/American-Politics-and-Public-Policy</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 28 Jun 2026 07:40:06 GMT</pubDate></item><item><title><![CDATA[# 日本武士到底是怎么样的群体？]]></title><description><![CDATA[<div><blockquote>该渲染由 Shiro API 生成，可能存在排版问题，最佳体验请前往：<a href="https://akuiro24.xyz/posts/default/paperofjapanesecultureandfilm">https://akuiro24.xyz/posts/default/paperofjapanesecultureandfilm</a></blockquote><div><p>在这个学期中，我主要看的是几部经典的日本武士电影，包括黑泽明的《七武士》、山田洋次的《黄昏的清兵卫》和《武士的一分》，还有<a href="https://zh.wikipedia.org/w/index.php?title=杉田成道&amp;action=edit&amp;redlink=1">杉田成道</a>的《最后的忠臣藏》。这几部电影主要是聚焦于武士这一群体进行故事的展开，从战国晚期，到后江户时代，通过这一部部风格不同的电影，更像是一个个小窗户，打开得以窥见日本武士这一特殊群体的复杂又多变的不同人生，更从深处折射出那一个个时代的社会的模样。</p><p>实际上我第一部接触到的有关日本武士的电影其实并不是《七武士》，而是看了黑泽明导演的另一部经典之作——《罗生门》，其中的武士的角色给我留下很深的印象。这么一位“体面”的人，会因保全自己的尊严面子而说谎决斗，会因武士道德观放弃失贞的妻子，会因懦弱自私而诋毁避战。实际上可以感受到所谓西方社会所说的“神性”，就是高高在上、不食人间烟火，拥有着一套近乎完美无缺的行事准则。他似乎不愿卷入人世间的纷争，带着某种理想化的、不可触及的距离感。</p><p>但这种印象随着我看完《七武士》后就发生了改变，在《七武士》中，实际上黑泽明导演更多的为观者展示出武士的“人性”。在整整的三个多小时的过程中，感触最深的地方有两处：</p><pre class=""><code class="">   一是农民与武士之间的关系的转变——从最初的隔阂到后来的信赖，在农民与武士的不断对话互动中，以一种“平视”的视角，进行对于武士形象的“去神圣化”与“人性化”。武士们不再是遥不可及的守护者，而是与农民同吃同住，共同面对生死，拉近武士与普通百姓的距离，更多展现出他们身上所有的人性光辉。</code></pre><p>二则是其中一位“武士”菊千代，一个用行为诠释到底如何才叫武士的农民之子。菊千代，出身农村却渴望成为一位武士，过上受人尊敬的生活。他有来自农村的人性，会说粗鲁的话，会用自己的狡黠缓解紧张，会因为自己的真诚在武士们发现被农民欺骗的时候为农民发声解释缘由，同时，他在整个故事的进程中不断向岛田勘兵卫学习如何成为一名真正的武士，即不断掌握武士道的真谛——真诚勇敢、正直睿智、友谊忠诚、乐观善良，以及最重要的，对于正义的追求与捍卫。实际上，我更愿意这样说：菊千代既不是存粹的农民，也不是传统的武士，但是他既有对于农民的怜悯，又有对武士的忠义，他是人性与神性的结合体，一个怀揣赤子之心，用自己的同理心与勇气诠释武士内核究竟为何的形象。</p><p>看完《七武士》后，最后的结局有一句话“我们又打输了，赢的是农民”，对于这句话更多是一种深刻的社会现实折射。它预示着武士阶级的没落与旧秩序的消亡，农民继续耕种生活，农民看到丰收的未来，但是武士呢？他们不清楚自己的未来该往何处，去往何方？他们的迷惘不由得让我对于和平时代的武士生活产生了好奇。</p><pre class=""><code class="">   于是我就去欣赏了山田洋次的武士三部曲中的两部，《黄昏的清兵卫》和《武士的一分》，和山田洋次一致的风格一样，这两部电影并没有过多的展示武士们宏大的战斗场面，而是将核心放在了对于生活在和平的江户时代的下层武士的清贫琐碎日常的展现。《黄昏清兵卫》里的井口清兵卫、《武士的一分》中的三村新之丞，一位是粮仓出纳员，一位是试毒工作。清兵卫一个人支撑整个家庭，为了照顾母亲与女儿每每一下班便匆匆赶在黄昏前赶回家，编虫笼换钱；新之丞因失明失去工作，生活陷入绝境，妻子为谋生出卖了自己。</code></pre><p>山田洋次用细腻和极具生活气息的镜头语言，揭示了在进入相对和平的江户时代后，武士（尤其是底层武士）的日常生活。在江户时代，是武士“等级森严”“社畜”化的时代。武士在这个阶段出于统治的稳定性要求，被严格的分成不同的等级，这种家格等级造就的阶层社会使得底层的武士生活的异常的艰辛，武士的尊严与准则不准许他们去从事别的劳动，大多的底层武士都是靠着低薄的工资度日，就像现代的社畜一般，按部就班的完成工作，过着清贫的生活，同时恪守武士道的各种准则。</p><pre class=""><code class="">   当社会变得稳定和平，武士的军事职能逐渐弱化，名义上武士已经失去了立身之本，武士的光环开始褪去，武士阶层逐步走向没落，但我在这两部却看到两位纯粹的武士，让我意识到只要武士道还在，武士就不会消失的，武士真正难得可贵的从来不是他们赖以生存的武力，而且那一份坚韧与责任。武士的尊严从来不只是体现在战场的英勇，更是对于主公的忠诚，对于弱小者的保护，对于逆境的斗争，对于不公的勇气，对于家庭的担当。武士的价值投射于点点滴滴，也让我对于武士道有了更人性化的理解。这两部电影也从更深刻的视角下，对武士的生活进行“去浪漫化”的描绘，即使是武士阶层，也都是都有血有肉，有着丰富情感的人组成的，也是会有生存压力与身份困境的，相信会引发大众观者的不少共鸣。</code></pre><p>最后我看的是《最后的忠臣藏》，这个影片是基于赤穗事件，围绕着失踪者进行展开的故事，讲述了一个忍辱负重抚养主君的遗孤的故事。</p><p>影片的最高潮，也是最令我震撼之处，是在可音出嫁之时，那些曾受过大石恩惠的人们，一路前来报恩送嫁的场景。这让我对于“忠诚”两个字有了更加复杂的思考。两位幸存下来的赤藩武士，两位都肩负了太多，他们内心的挣扎与痛苦，这长达17年的漫长而艰难的隐忍，支撑他们坚持下来的到底是什么？我想，是武士对于主君的忠诚，更是武士对于使命的坚守。他们活下来的每一天，都饱受社会舆论的唾弃与内心的谴责，但这每一天，也是忠诚的另一种诠释。他们不仅仅是知晓武士道精神的武士，更是行动上的巨人，用自己的隐忍与牺牲，践行了自己的所坚守的信念与精神。</p><p>电影中的忠诚是在一种更特殊的情况下对于观者的发问：“当你所坚持的正义、忠诚同时意味着背负骂名，意味着放弃个人的幸福甚至是生命的时候，你还会不会坚守？”我相信每个人都会每个人的回答，我无意比较不同的选择，但我选择钦佩<a href="https://zh.wikipedia.org/w/index.php?title=瀨尾孫左衛門&amp;action=edit&amp;redlink=1">濑尾孙左卫门</a>和<a href="https://zh.wikipedia.org/w/index.php?title=寺坂信行&amp;action=edit&amp;redlink=1">寺坂吉右卫门</a>两位武士。</p><p>这一发问，也是对于传统日本武士道中的“绝对忠诚”的反思，随着社会的改变与发展，在集体主义与传统道德的巨大压力下，现代社会的人们好像更容易受到外界的影响，人体该如何面对这些的时候做出自己的选择，以及这些选择背后隐藏的巨大的代价的影响？</p><p>这部电影带着我们进一步去反思传统道德观和武士道精神在现代的现实意义，也从侧面展示出前代的道德准则会在不同的时代面对不同的伦理难题和现实困境。还有，在武士道中的忠诚，实际上更多的是只针对于私人意义上的忠诚，就是所谓“私忠”。这一点需要辩证的看待“忠诚”，需要去承认在践行忠诚上，这些武士做到了极致，但也必须看到，这“私忠”所造成的结果可能是多样化的。因此，个人更加认可“公忠”，对于自己的信仰和道德观念忠诚，无论面对何种困境，敢于去坚守自己的本心，这才是“真正的忠诚”。</p><p>回顾这些经典的影片，不只是看到了不同武士的生活与故事，更多是窥见了超越刀剑、超越生死、超越生活的武士精神。这些影片展示了多维度的武士世界——武士不仅是武功高强，手持刀剑厮杀的战士，也是一位位有感情有血肉有逆境的人。他们也会面对不公、失败、怀疑、动摇、无奈、挣扎、挑战，但是他们依旧坚守，守着自己的尊严与责任，守住经受多重考验的忠诚，守好了内心深处的武士道。这些优秀的作品共同构成了日本武士在大众文化中不断演变深化的形象，就像从神性到人性，从战斗到日常，从传统到反思，这些都一步步构筑起了我们对于古代日本武士群体复杂而富有层次的认知。</p></div><p style="text-align:right"><a href="https://akuiro24.xyz/posts/default/paperofjapanesecultureandfilm#comments">看完了？说点什么呢</a></p></div>]]></description><link>https://akuiro24.xyz/posts/default/paperofjapanesecultureandfilm</link><guid isPermaLink="true">https://akuiro24.xyz/posts/default/paperofjapanesecultureandfilm</guid><dc:creator><![CDATA[akuiro]]></dc:creator><pubDate>Sun, 28 Jun 2026 07:37:50 GMT</pubDate></item></channel></rss>