“求积公式提供代数精度与误差泛函的语言,Richardson 外推解释相邻网格差怎样在渐近展开成立时转成误差估计。自适应求积进一步让面板宽度随局部难度变化,而不是在整个区间同步加密。”
形式陈述 ​
自适应求积的输入包括
在每个候选子区间
估计局部误差。系数
以自适应 Simpson 为例,令
所以可采用
作为校正值。若递归实现把父区间绝对容差分给两个子区间,叶区间的估计和便控制全局预算;相对容差则应根据当前全局积分尺度统一判断,避免每个近零局部积分各自使用不稳定的相对分母。
细分过程形成一棵递归树。若最终接受
停止时应检查全部已接受区间的误差估计和是否不超过
这仍是估计器意义下的达到容差,不是严格可验证上界。若达到最大深度、相邻浮点端点中点等于端点、函数返回 NaN/无穷,或误差估计随细分不下降,算法必须返回未达容差状态并保留当前结果与剩余误差。
直觉 ​
固定复合网格把相同数量的样本分给平坦区和困难区;自适应方法先用一对近似询问“这一小段是否已经解释得够好”,只在答案不一致处继续花函数求值。它优化的是信息分配,而不是让单个求积公式突然拥有更高代数精度。
局部规则差像两把分辨率不同的尺子。它们若给出接近结果,通常说明当前尺度下看不到更多结构;但若两把尺子的采样点恰好都绕过同一窄特征,一致只代表共同失察。
例子与边界 ​
考虑
平坦区的粗、细 Simpson 值很快一致,靠近
若峰窄到所有初始和子区间采样点都没有命中,
端点奇性和不可积函数还会让递归不断追向端点。最大深度可以阻止死循环,却不能把发散积分变成收敛结果。可靠接口应报告“疑似奇性或未达容差”,而不是返回一个看似稳定的小数。
浮点细分也有几何下限。当中点舍入为端点时,新区间不再缩小;继续递归只会重复相同函数值。该状态必须在递归前检测,并作为分辨率耗尽退出。
推论与应用 ​
误差估计区分可计算指示量与真误差,本页的规则差正是这一原则在求积中的实例。Gauss–Kronrod 通过嵌套节点复用函数值,adaptive Simpson 通过面板加倍复用端点和中点;两者都需要各自的误差模型,不能只把“高阶减低阶”当作严格界。
结果报告应包含容差、累计估计、叶区间数、总求值数、最大深度和退出状态。若用户需要数学上可验证的包含区间,还须引入区间算术或带证明的误差界,普通自适应差值不足以承担该规格。
参考资料
- Robert Piessens, Elise de Doncker-Kapenga, Christoph W. Überhuber, and David K. Kahaner, QUADPACK: A Subroutine Package for Automatic Integration, Springer, 1983.
- NIST Digital Library of Mathematical Functions, §3.5: Quadrature.
- Philip J. Davis and Philip Rabinowitz, Methods of Numerical Integration, 2nd ed., Academic Press, 1984.