数值积分中的高斯求积法
我们先从数值积分的核心需求说起:在实际计算中,很多函数的定积分(即
\[ \int_{a}^{b} f(x) \, dx \]
)无法用牛顿-莱布尼茨公式求出精确的解析解(例如原函数找不到或过于复杂)。数值积分的任务,就是用有限的采样点(节点)处的函数值,构造一个加权和来近似这个积分值。
第一步:从机械求积公式到代数精度
最简单的数值积分方法是矩形法和梯形法。它们可以统一写成一个更一般的形式,称为机械求积公式:
\[\int_{a}^{b} f(x) \, dx \approx \sum_{k=0}^{n} A_k f(x_k) \]
其中 \(x_k\) 是预先选定的积分节点(\(a \leq x_0 < x_1 < \dots < x_n \leq b\)),\(A_k\) 是对应的求积系数(权重)。
我们如何衡量一个求积公式的好坏?一个关键指标是代数精度。如果某个求积公式能对所有次数不超过 \(m\) 的多项式精确成立(即近似等号变成严格等号),但对至少一个 \(m+1\) 次多项式不精确,则称该公式具有 \(m\) 次代数精度。例如,梯形法(用两个端点)具有1次代数精度,能精确积分一次多项式(直线)。
第二步:提高精度——从等距节点到最优节点
对于给定的节点数 \(n+1\),我们自然希望得到最高的代数精度。如果节点 \(x_k\) 固定(比如等距分布),可以通过解方程组确定权重 \(A_k\),使得公式对尽可能低次的多项式精确。这种固定节点(如等距)下得到的最高代数精度是 \(n\) 次。这就是牛顿-柯特斯公式家族(包括梯形法、辛普森法等)。
但是,如果不固定节点位置,把 \(x_k\) 和 \(A_k\) 都作为待定参数,我们就有 \(2n+2\) 个自由度。理论上,可以让公式对 \(2n+1\) 次多项式精确成立。这就是高斯求积法的核心思想:通过精心选择节点位置,将代数精度从 \(n\) 次大幅提升至 \(2n+1\) 次。这意味着对于给定数量的函数计算(\(n+1\) 次),高斯公式能达到最高的代数精度,从而对光滑函数通常具有极佳的收敛性。
第三步:如何找到这些最优节点?——正交多项式的零点
高斯求积节点 \(x_k\) 的选择,与正交多项式紧密相关。考虑带权积分:
\[\int_{a}^{b} \omega(x) f(x) \, dx \approx \sum_{k=0}^{n} A_k f(x_k) \]
其中 \(\omega(x) \geq 0\) 是权函数(例如在区间 \([-1, 1]\) 上,\(\omega(x) = 1\) 对应于勒让德多项式,\(\omega(x) = 1/\sqrt{1-x^2}\) 对应于切比雪夫多项式)。
关键定理指出:使上述公式具有 \(2n+1\) 次代数精度的节点 \(x_k\),正是与权函数 \(\omega(x)\) 及区间 \([a, b]\) 对应的 \(n+1\) 次正交多项式的零点。同时,权重 \(A_k\) 可以通过求解线性方程组或使用已知公式得到,且所有权重 \(A_k > 0\),这保证了数值稳定性。
第四步:标准区间与常用高斯公式
为了应用方便,通常先将一般区间 \([a, b]\) 通过线性变换映射到标准区间。最常用的是:
- 高斯-勒让德求积:区间 \([-1, 1]\),权函数 \(\omega(x) = 1\)。其节点是勒让德多项式 \(P_{n+1}(x)\) 的零点。这是计算普通定积分的首选。
- 高斯-拉盖尔求积:区间 \([0, \infty)\),权函数 \(\omega(x) = e^{-x}\)。用于计算半无限区间上的积分。
- 高斯-埃尔米特求积:区间 \((-\infty, \infty)\),权函数 \(\omega(x) = e^{-x^2}\)。用于计算全无限区间上的积分。
第五步:实际计算与误差估计
对于积分 \(I = \int_{a}^{b} f(x) \, dx\),实际步骤如下:
- 根据区间和权函数选择对应的高斯求积类型(通常为高斯-勒让德)。
- 确定节点数 \(n+1\)。节点和权重有现成的表格或库函数可查。
- 将节点从标准区间变换回 \([a, b]\),并计算函数值 \(f(x_k)\)。
- 计算加权和 \(\sum_{k=0}^{n} A_k f(x_k)\) 作为积分近似值。
误差分析表明,高斯求积的误差项与 \(f^{(2n+2)}(\xi)\) 在某点的值有关。对于充分光滑的函数,误差随 \(n\) 增大而指数级衰减,收敛速度极快。实践中,常通过比较不同 \(n\) 下的结果来估计精度。
总结:高斯求积法通过在积分区间内最优地选择非均匀分布的节点,实现了给定计算量下的最高代数精度。它的理论基础是正交多项式,其高效性源于对光滑函数积分误差的快速收敛性,是科学计算中最为重要和常用的数值积分技术之一。