寻找满足复合中点法误差界的合适点列$(x_j^N)_{j=1}^N$
嗨,我来帮你分析这个问题。首先你用等距点$\frac{j}{N}$行不通的核心原因是$f_\alpha(x)=x\alpha$在$x\to0+$时的奇异性(当$\alpha<1$时,导数会无界),等距网格下靠近0的区间会贡献过大的误差,无法达到$O(N^{-2})$的收敛阶。我们需要自适应的密化网格,让靠近0的区间更细,抵消奇点的影响。
思路:变量替换+幂次网格
我们可以通过变量替换把原函数的奇异性消除,再对应回x变量的网格:
先做变量替换:令$t = x^{\frac{\alpha+1}{2}}$,则$x = t^{\frac{2}{\alpha+1}}$,求导得$dx = \frac{2}{\alpha+1} t^{\frac{1-\alpha}{\alpha+1}} dt$。
代入原积分:
$$I[f_\alpha] = \int_0^1 x^\alpha dx = \frac{2}{\alpha+1} \int_0^1 t dt$$
你看,原积分转化成了对线性函数$t$的积分,而线性函数用中点法是精确无误差的!对应到x变量的网格:如果我们在t变量下取等距点$t_j = \frac{j}{N}$($j=0,1,...,N$,$t_0=0$,$t_N=1$),那么映射回x变量的点就是:
$$x_j^N = \left( \frac{j}{N} \right)^{\frac{2}{\alpha+1}}$$
这个点列的特点是:靠近0的地方,点的密度非常高(比如当$\alpha$接近-1时,$\frac{2}{\alpha+1}$会很大,$x_1=(1/N)^{\text{大指数}}$会非常小),正好抵消$f_\alpha$在0附近的导数奇异性。
误差验证
我们来验证这个点列的误差阶:
- 对于第一个区间$[0, x_1^N]$,中点法的误差是:
$$\left| \int_0{x_1N} x^\alpha dx - x_1^N \cdot f_\alpha\left( \frac{x_1^N}{2} \right) \right| = \left| \frac{(x_1N){\alpha+1}}{\alpha+1} - x_1^N \cdot \left( \frac{x_1^N}{2} \right)^\alpha \right|$$
代入$x_1N=(1/N){\frac{2}{\alpha+1}}$,计算得这部分误差是$O(N^{-2})$,正好符合要求。 - 对于其他区间$[x_j^N, x_{j+1}N]$($j\geq1$),由于$x_jN$已经远离0,$f_\alpha$在这些区间上足够光滑,加上网格的密化策略,每个区间的误差都是$O(N{-3})$甚至更高阶的小量,求和后总误差仍然被$O(N{-2})$主导。
总结
选择点列$x_j^N = \left( \frac{j}{N} \right){\frac{2}{\alpha+1}}$($j=0,1,...,N$,其中$x_0N=0$,$x_N^N=1$),就能满足你要求的误差界$|I[f_\alpha] - M_{\textbf x^N}[f_\alpha]| \leq C_\alpha N^{-2}$,其中$C_\alpha$是只和$\alpha$有关的常数。
备注:内容来源于stack exchange,提问作者Minerva

