Gauss-Kronrod 求积算法理论 [blog/gausskronrod/theory]
Gauss-Kronrod 求积算法理论 [blog/gausskronrod/theory]
给出如下机械求积公式:
$$ \int^b_a \rho(x) f(x) dx \approx \sum^n_{k = 0} A_k f(x_k) \tag{1} $$
其中 $x_k$ 称为求积节点,$A_k$ 称为求积系数。
如果某个求积公式对于次数不超过 m 的多项式均能准确成立,而对于 m + 1 次的的多项式不准确成立,则称该公式具有 m 次代数精度。
具有最高代数精度 (2n + 1) 次的机械求积公式叫 Gauss 型求积公式,相应的求积节点叫 Gauss 点。
为了能够探索 Gauss 型求积公式的节点和系数的形式,引入以下理论:
用 n 次 Lagrange 插值多项式 $L_n(x)$ 近似被积函数 $f(x)$ 得到:
$$ I_n(f) = \int^b_a L_n(x) dx = \int^b_a \sum^n_{ j = 0} f(x_j) l_j(x) dx $$ $$ I_n(f) = \sum^n_{ j = 0 } f(x_j) \int^b_a l_j(x) dx \tag{2} $$
式 $(2)$ 称为插值型求积公式,其求积系数 $A_j = \int^b_a l_j(x) dx$ 。
定理 1 设有插值型求积公式 $(2)$,其求积节点 $x_j, j = 0, 1, ..., n$ 是 Gauss 点的充分必要条件是
$$ \omega_(n + 1) (x) = \prod^n_{k = 0} (x- x_k) $$
与任何不超过 $n$ 次的代数多项式在 $[a, b]$ 上带权 $\rho(x)$ 正交。即任意 $p \in \Phi_n[a, b]$,有
$$ (\omega_{n + 1} , p) = \int^b_a \rho(x) \omega_{n + 1}(x) p(x) dx = 0 $$
令 $p(x)$ 取不同值,可以用待定系数法解得求积节点和求积系数。此处计算过程略去。取积分区间为 $[-1, 1]$,权函数 $\rho(x)=1$ 根据选择的不同的节点数量,可以解得固定的节点和系数。再通过积分区间变换,即可扩展到任意闭区间上进行求解。下面需要解决积分余项的问题,即分析误差以确保达到指定精度。
通过计算 n 阶高斯求积和 2n + 1 阶高斯求积,并将差值用作误差估计是可行的。然而,这并不是最优的,因为勒让德多项式(高斯求积的节点)的零点对于不同的阶数来说永远不会相同,因此必须执行 3n + 1 函数求值。Kronrod 考虑了如何将节点交织成高斯求积的问题,以便可以重用所有先前的函数求值,同时提高可以精确积分的多项式的阶数。这允许提供后验误差估计,同时仍然保持指数收敛。Kronrod 发现,通过将 n + 1 个节点(根据 Legendre-Stieltjes 多项式的零点计算)添加到 n 阶高斯求积中,他可以对 3n+1 阶多项式进行积分。
同理,可以取积分区间为 $[-1, 1]$,权函数 $\rho(x)=1$ 根据选择的不同的节点数量,可以解得固定的 Gauss-Kronrod 求积法的节点和系数。