Skip to content

等距采样与奇端点积分 ​

这份终点把“数值很接近”推进为三个不同的判断:周期网格究竟混进哪些频率;一个双边级数应该在哪个尺度计算;有限个奇端点积分样本能否给出包含真实积分的区间。每份保证都必须指明它控制的是哪一项误差。

学习入口是采样尺度与奇端点积分路线。三个新接口为Poisson求和、指数梯形和双指数求积。下载标准库精确程序与对应结果,可在本机指定输出路径复算;证书的真实端点是有理数,小数只用于阅读。

进入双指数积分的严格证书前,先复习全纯函数在复域内的定义。变换后函数在实轴上衰减很快,尚不能保证离散误差;还要证明它在给定条带内全纯,并核对边线积分与一致衰减。补齐这项先验后,再按下面四个任务分别检查采样与积分预算。

任务一:十一点为什么足够,十点为什么不够 ​

取周期函数

fr(x)=1−r21−2rcos⁡x+r2,r=12,

目标是它在一个周期的平均值。要求给未平移和半步平移网格的精确误差,找出未平移规则达到绝对误差 10−3 的最小节点数,并解释为什么两层网格相同不构成一般证书。

有限和的精确证书 ​

Poisson核的常数系数为一,所以真实平均为一。令

QN(s)=1N∑j=0N−1fr(s+2πjN).

有限频率过滤保留 k=mN,于是

QN(0)−1=2rN1−rN,QN(π/N)−1=−2rN1+rN.

代入 r=1/2,只需比较整数分数:

2210−1=21023>11000,2211−1=22047<11000.

误差随 N 严格下降,所以最小整数确为11。十一点半步平移的误差为 −2/2049,符号相反;不能把移位相位从求和公式中删掉。

若改用 f(x)=1−cos⁡(16x),八点和十六点未平移网格都只采到零,真实平均却为一。它仍是非负整函数。要使用条带误差界,必须带入实际上界 M;本例可取 M=1+cosh⁡(16a),这个量随条带宽度迅速增长。两次输出一致没有提供这份先验。

任务二:Gaussian的慢尺度与平移符号 ​

计算

Θ(c)=∑k∈Ze−π(k+c)2/100

在 c=0 和 c=1/3 的值。要求先选择收敛快的一侧,再证明这两个值分别位于10的哪一侧。只报很多位“10.000…”无法回答符号问题。

同一量的快尺度表达 ​

Poisson求和与Gaussian变换给

(1)Θ(c)=10(1+2∑m≥1e−100πm2cos⁡(2πmc)).

令 q=e−100π。保留 m=1 后,得到

Θ(0)=10+20q+R0,Θ(1/3)=10−10q+R1,

其中都可用

(2)|Rj|≤20e−400π1−e−500π.

对 c=0,全部非零频率贡献为正,所以 Θ(0)>10。对 c=1/3,式(2)严格小于 10q,因为 2e−300π+e−500π<1;于是 Θ(1/3)<10。

公开程序用640位二进固定分母的向外舍入区间分别计算快尺度,并在空间侧真的相加 k=−100,…,100 共201项,另外加上两条不同的平移尾界。两侧的包含区间相交,且每个区间都独立确定相对于10的符号。结果中首个修正约为 7.3012×10−136 与 −3.6506×10−136;这些小数不是证书,精确有理端点才是。

空间尾也可以直接核验。对 a>0,b>0,有

∑j≥0e−a(b+j)2≤e−ab21−e−a(2b+1).

截断于 |k|≤100 后,正、负两尾分别取 a=π/100、b=101+c 和 b=101−c。平移不为零时,不能默认两尾相等。

如果只要求 10−12 精度,甚至无需保留首个修正。由 3<π、8/3<e,两种平移都满足

|Θ(c)−10|≤20(3/8)3001−(3/8)900<10−12.

不过这个对称粗界不再记录位于10哪一侧;要回答更精细的问题,就必须保留相位和有符号首项。

任务三:用81项认证一个端点发散的积分 ​

考虑

I0=∫−11dx1−x2.

要求返回绝对误差小于 10−10 的有限证书,包括离散误差、尾部截断和函数评估。不能直接将端点代入被积函数。

三份预算怎样拼接 ​

采用 a=π/2、ϕ(t)=tanh⁡(asinh⁡t),变换后为

g0(t)=acosh⁡tcosh⁡(asinh⁡t).

取 h=1/10,N=40,L=Nh=4。双指数页已经逐式证明:闭条带半宽 d=π/6,每条边线的 L1 常数可取32;实尾由 8eπ/4e−(π/4)e4 控制。因此可使用纯有理预算

(3)E0=64(8/3)30−1+22(3/8)37.

这两项分别来自无限梯形离散误差和全部未算尾项,不是根据最后一个样本猜测的误差。

程序将81项有限和算成区间 [l0,u0],其宽度小于 10−60,再返回

[l0−E0,u0+E0].

最终半宽小于 1.065×10−11,所以满足所要求的 10−10。有限和中点显示为 3.1415926535897932384119…,但不得把显示出来的全部位数都宣称正确;本次通用预算只保证最终区间所表达的精度。

独立闭式核验用 x=sin⁡θ,得到 I0=∫−π/2π/2dθ=π。程序另以Machin恒等式和交错级数包住π,确认整份π区间落在上述积分证书内。

精确函数值怎样取得 ​

程序只依赖Python标准库的整数与有理数。每次区间运算都向外舍入到分母 2640 的网格;乘法取四个端点积的最小值、最大值,除法拒绝跨零分母。

计算指数时,先将非负参数除以 2j,使其不超过 1/2。Taylor多项式的余项用首个删去项及其后比例上界控制,再反复平方恢复原参数;负参数用正区间的倒数。π由

π=16arctan⁡(1/5)−4arctan⁡(1/239)

与交错级数余项包含。该恒等式可先用有理正切加倍和减法核成正切为一,再用角度范围选定 π/4 的分支。结果不依赖平台浮点指数或打印精度。

任务四:修改输入后重新核常数和节点对称性 ​

分别处理

I2=∫−11x21−x2dx,J=∫−11dx(5−x)1−x2.

两个输入在实轴上都不大于原来的 f0,但这不允许同时照搬原复条带常数,也不允许默认变换后的函数为偶函数。

x²迁移:实尾不变,复域常数增大 ​

变换后 g2=g0ϕ2。实轴 |ϕ|≤1,所以原尾界仍有效;复条带上仅证明 |ϕ|<4,于是两条边线各用 512=16⋅32。改取 h=1/12,N=48,仍有 L=4,可用

E2=1024(8/3)36−1+22(3/8)37.

97项有限和加此预算,最终半宽小于 4.775×10−13。独立换元给 I2=∫−π/2π/2sin2⁡θdθ=π/2,完整π/2区间也被包含。

非偶迁移:复域有界,但不能折叠左右节点 ​

这次 gJ(t)=g0(t)/(5−ϕ(t))。在实轴上 5−ϕ(t)>4,所以实尾界降为原来的四分之一。在同一闭条带中,|ϕ|<4 给

|5−ϕ(z)|≥5−|ϕ(z)|>1.

分母无零点,且 |gJ(z)|≤|g0(z)|;边线常数仍可用32。因而保留 h=1/10,N=40,预算为

EJ=64(8/3)30−1+112(3/8)37.

实际81项证书的半宽小于 1.065×10−11。

但 g0 是偶函数,ϕ 是奇函数,故 gJ(t) 与 gJ(−t) 的分母不同。把正节点贡献机械乘二将算错。公开程序故意尝试这种错误折叠,并验证其所得区间与真实值区间分离,不能通过认证。

最后独立求闭式。令 x=cos⁡θ,再令 u=tan⁡(θ/2),得到

J=∫0πdθ5−cos⁡θ=∫0∞2du4+6u2=π24.

程序用整数平方根直接包住 24,不通过浮点开根。中点约为 0.64127491508093204776145…;实际误差仍以有理区间为准。

验收边界 ​

一次合格复算应同时返回网格、边线常数、解析预算、有限和区间及总包含区间。程序普通与优化运行必须给出相同结果;模型编号、步长或窗口不属于已经证明的合同,应明确拒绝,而不是把已知常数套到陌生输入。

下列变化需要重新分析:删去平移相位;让最近复奇点进入条带;以首个尾样本代替整条尾;把端点舍入成±1后再计算奇异函数;将非偶输入左右合并;把有限网格测试当成任意函数的全称保证。源码中的有限回归检查与正文的解析证明共同支撑本次三个积分模型,没有声称解决任意黑箱积分。