均匀网格把同样的计算量分配给每个位置,但函数可能只在一小段区域变化剧烈。自适应积分先估计每块误差,再把计算集中到尚未满足要求的区间。
本章以 lecture note 第 5.12 节为主要依据,沿用 、、绝对误差估计 与容许误差 。 和 是为推导引入的辅助记号。讲义的算法接受 ;本文还明确给出 Richardson 修正选项,并在实验中使用该修正。不把经验估计写成严格保证[1][1] S. Rojas, “Lecture Notes on Computational Mathematics,” 2025. Course lecture note distributed with MTH2051; local source course-lecture-notes.pdf., [2][2] M. U. School of Mathematics, “MTH2051: Introduction to Computational Mathematics: Course Lecture Notes and Study Workbooks,” 2026. Monash University course materials and study workbooks, Semester 2, 2026., [3][3] R. L. Burden and J. D. Faires, Numerical Analysis, 9th ed. Brooks/Cole, Cengage Learning, 2011.。
粗块、细块与分母十五
令 、。粗块 Simpson 值为
把区间一分为二,定义
粗计算使用三个点,细计算新增两个四分点。
若 ,在收缩的区间上且相关导数一致有界,则
所以修正值
具有局部误差 。沿用讲义,以 作为绝对误差的数值估计;它不是精确误差。
在中点做 Taylor 展开至五次项,余项为 。积分与 Simpson 对次数至多三的项精确,对称性消去五次项,四次项给出
两个半块分别贡献长度 的项。其中心的四阶导数平均与 相差 ,所以
因此粗误差首项是细误差的十六倍。相减得 。除以十五并修正,即得结论。需要 才有这里的七次余项控制;仅凭通常的 Simpson 定理,不能自动推出这个强余项。
讲义第 5.12 节把两半块误差相加后印成分母 ;由 可知,正确分母是 。因此粗细首项之比为十六。这里沿用讲义的 记号,但系数与符号以以上推导为准。
分母十五估计的是两块细 Simpson 的总误差。它不是单独一块的误差,也不是修正值的严格上界。区间尚未细到渐近规律有效时,这个估计可能漏掉重要特征。
分配容许误差
给当前块分配绝对容许误差 。若 ,接受修正值;否则分别递归左右半块,各分配 。
从根区间的 出发,每次将父块额度平分,所有末级区间的额度之和始终为 。
最初只有一个额度 。一次分裂将一个数 替换为 ,不改变总和。对分裂次数归纳即可。
如果每个末级区间的真实误差确实不超过各自额度,则三角不等式保证总误差不超过 。算法检查的却只是 ,所以额度守恒本身并不证明真实误差达标。
若另有已证明的局部四阶导数界 ,可以对未修正的细 Simpson 值使用
证明是对两个半块分别使用单块误差界再相加。这样的导数界才提供严格保证,与仅从两个数值差得到的估计有不同的证据要求。
递归算法与采样复用
算法 1 自适应 Simpson 的递归步骤
Require: 区间 ,已缓存 ,额度 ,剩余深度
1:计算两个四分点的函数值
2:,
3:
4:if then
5:return
6:end if
7:if then
8:return
9:end if
10:递归左半区间,缓存对应函数值,额度 ,深度
11:递归右半区间,缓存对应函数值,额度 ,深度
12:return 两个子结果之和及合并状态
接受状态表示估计检查通过;达到限制表示估计尚未达标就停止。调用者不能把后一种情况包装成成功。实际实现还要检查非有限函数值,以及中点或四分点是否由于浮点分辨率不足而与端点重合。
网页实验缓存已有采样:递归一次只新增两个函数值。若最终有 个末级区间,二叉树共有 个访问节点,每次访问新增两个值,连同最初三个,调用总数为 。树节点数的证明是:每次分裂让末级区间数增加一,并让总节点数增加二。
交互实验:网格如何适应函数
这个交互图需要启用 JavaScript。
先选光滑指数函数,再选窄峰。调整容许误差,查看末级区间边界、函数调用数、估计之和以及真实误差。将最大深度降到零,可以直接检查“达到限制”的状态是否保留下来。
平方根在端点不满足本章的光滑性要求。算法仍可能给出有用的结果,但这里的渐近证明不能直接解释其全部表现。
为什么估计可能完全漏掉误差
在 上取
粗块与细块的所有采样都为零,所以 。算法对任意正的 都会立即接受并返回零。然而
五个采样点就是多项式的根。多项式非负,在其他位置严格为正,所以积分正。精确常数可由展开平方后逐项积分核验;例如未平方的积为
平方并对各单项式使用 ,即得所列分数。这个例子甚至是光滑多项式,说明仅有光滑性并不能保证第一次粗网格的估计已经可信。
实验中的“采样漏掉的正多项式”就是这个例子。还可把它乘上任意正常数,让实际误差任意增大,而采样结果仍全为零。这证明只靠有限个函数值,不附加函数类别或导数界,就不能提供普遍的严格积分误差保证。
怎样解释结果
同时保留近似值、估计误差、函数调用数和停止状态。已知断点或尖峰位置时,先分段比盲目递归更可靠。需要严格保证时,采用可证明的导数界或区间方法;只需要高效近似时,仍应比较不同初始分段和其他公式的结果。
至此,六章形成一条连贯路线:差分和求积来自局部多项式,复合公式累积局部误差,外推消去已有误差项,Gauss 用正交性选择节点,自适应方法根据局部估计分配计算量。每种改进都需要自己的数学条件。
其他公式的自适应估计
讲义第 5.12 节也讨论一般 阶公式。令 为粗块近似、 为两半块近似;这是区分网格的辅助记号。若相同首项模型使 ,相减即有
每块采用 点 Gauss 公式时,复合精度阶数为 ,分母相应为 。这个估计仍依赖光滑性和首项模型;不能因更换求积公式,就把差值估计当成真实误差界。
参考文献
- [1] S. Rojas, “Lecture Notes on Computational Mathematics,” 2025. Course lecture note distributed with MTH2051; local source course-lecture-notes.pdf. ↩
- [2] M. U. School of Mathematics, “MTH2051: Introduction to Computational Mathematics: Course Lecture Notes and Study Workbooks,” 2026. Monash University course materials and study workbooks, Semester 2, 2026. ↩
- [3] R. L. Burden and J. D. Faires, Numerical Analysis, 9th ed. Brooks/Cole, Cengage Learning, 2011. ↩
评论