Gauss 数值积分

整理一下关于 Gauss 数值积分公式的内容,包括公式的推导以及数值计算两部分。

Gauss 数值积分公式推导

对于标准积分区间 的数值积分公式,节点和系数的选取有 个自由度,至多可以达到 阶的代数精度。

Proposition

无论节点和系数如何选取,上述形式的数值积分公式不可能具有 阶的代数精度。

Proof

构造 次多项式

显然有

因此不可能具有 阶代数精度。

那么,是否可以选取合适的 使得代数精度达到 次? 答案是肯定的,这种调整所有节点和系数以达到最优代数精度的数值积分称为 Gauss 数值积分。

下面正向推导 Gauss 数值积分公式:考虑由这些节点组成的 次多项式

对于任意不超过 次的多项式 ,都可以通过 进行带余除法,得到下式

其中商式 和余式 均为至多 次的多项式,那么代入数值积分公式得到

如果要求数值积分达到 阶代数精度: ,那么必须满足两个条件:

  1. 第一个条件,因为 不再和 相关,因此必须确保

  2. 第二个条件,要求 ,即对于至多 次的多项式需要精确成立。

第一个条件说明, 是和任意 多项式都正交的一个特殊的 次多项式

单独的正交条件只能将 确定到非零常数倍;结合前面首项系数为 的约定,就可以唯一确定 。 它的所有零点 也随之确定。(可以保证 不含重根,所有 个根都落在 内部,见下文的正交多项式) 从而可以确定数值积分公式的所有节点。

第二个条件,可以针对上述 个节点进行拉格朗日插值:对于不超过 次的多项式 ,插值得到的 次多项式等于自身

因此

取积分系数

那么就可以得到一个完整的在积分区间 的 Gauss 数值积分公式

其中积分节点 满足

系数为

这里先假设已知 的具体取值,那么对于 区间的 Gauss 数值积分公式

这个公式达到了最优的 阶的代数精度,并且有如下性质:

  1. ,系数和为 ,直接取 即可得到。

  2. 系数严格为正 ,可以取 为拉格朗日基函数的平方,此时积分大于零,数值积分结果为 ,数值积分精确成立,因此

  3. 积分节点和系数都具有对称性: ,因为作代换 时,积分公式形式应保持不变。

对于一般区间 的数值积分,可以通过变量代换转化为 的积分

从而利用 区间上的 Gauss 数值积分公式即可

只需要注意多了一个变换系数,即两个积分区间的长度之比。

正交多项式

在积分区间 上,记 为不超过 次的多项式组成的线性空间,定义两个多项式的内积

称多项式 正交,如果

可以构造 维空间 的一组正交基 ,称这些多项式为正交基,如果满足

可以使用 Gram-Schmidt 正交化来得到 个两两正交的多项式,还可以通过如下具体的递推公式得到一组首一的正交多项式。

Proposition

如下递归定义的多项式序列是两两正交的, 为首一的 次多项式,进而前 个可以组成 的一组正交基。

其中

可以证明正交多项式的零点分布满足如下性质:

Proposition

如果 次非零多项式 与任意不超过 次多项式都正交,那么 所有零点落在 ,并且不含重根,或者等价描述为: 变号 次。

Proof

反证: 若在 只变号 次,不妨设 变号,这里 严格单增

定义 次多项式

满足 不变号,因此

但是 是不超过 次的多项式,根据条件 应当与 正交,矛盾。

这个命题保证了可以通过正交多项式 ,计算得到所需的数值积分节点 ,它们全都落在 ,并且两两互异。

在积分区间 和标准内积定义下,递推公式得到的正交多项式序列称为勒让德多项式。勒让德多项式前几项为

勒让德多项式还有其它常见定义,例如 Rodrigues 公式:

这里采用 的约定,与前面的首一多项式 相差非零常数倍,不影响正交性和零点。

注意到 Legendre 多项式 的零点为 的零点为 ,可以得到两个具体的 Gauss 数值积分公式 (对应为 )

带权 Gauss 数值积分和正交多项式

前文中考虑的都是如下形式的积分和对应的数值积分

现在考虑加权积分

其中的权函数 上可积、几乎处处非负,且不几乎处处为零,即

因此 可以视作权函数 的特例。

带权的 Gauss 数值积分公式形如

带权积分对应的带权内积定义为

与前文相同的分析可知,记 ,那么 需要满足

次多项式 需要在带权内积的意义下,与任意至多 次多项式都正交。

的正交多项式一样,把内积取为带权内积就可以得到不同带权内积意义下的正交多项式。(正交多项式在不同的定义下可能会差一个系数,未必保证首项系数为

例如取权函数为

对应的正交多项式称为(第一类) Chebyshev 多项式

前几项依次为

Chebyshev 多项式 的零点有显式表达式

并且积分系数也很有特点,全都是同样的值

因此可得 个点对应的 Gauss-Chebyshev 数值积分公式

这个公式很有特点,除了显然的三角函数背景之外,积分系数一样也意味着乘法计算量显著减少。

在权重 时,正交多项式为 Legendre 多项式,此时的 Gauss 数值积分公式也称为 Gauss-Legendre 数值积分公式。

Gauss 数值积分公式的误差

Proposition

对于 的带权 Gauss 数值积分公式

,则存在 ,使数值积分的误差

Proof

进行 Hermite 插值, 个条件,得到一个 次的插值多项式 ,有插值误差

注意到 Gauss 数值积分公式对于 是精确成立的,再利用插值性质可以得到如下等式

因此数值积分误差

Gauss 数值积分表的计算

现在关注如何用数值方法获取 Gauss-Legendre 和 Gauss-Lobatto 积分公式的节点和权重

与上一节不同,这里使用记号 表示权重,使用 表示标准区间上的积分节点,下标 开始。

这里使用的 Legendre 多项式定义如下

后续的递推关系为

满足正交性

Remark

这里使用的 Legendre 多项式和上一节的定义不同,存在常数倍的差异,这不影响正交性,但是影响一些公式的具体形式。

Legendre 多项式有非常多的特殊性质,例如:

  1. 对于奇数 是一个奇函数;对于偶数 是一个偶函数。

  2. 在两个端点处的值具有如下规律

  3. Legendre 多项式的导函数在 满足如下关系

这些性质可以直接用递推关系归纳证明。

由于 Legendre 多项式具有特殊的对称性(偶函数和奇函数交错),这导致下面各种节点和权重的计算也保持了明显的对称性:节点序列关于原点对称,对称节点的权重对应相等。

考虑如下特征值问题

它的特征值为 ,对应的特征向量为 Legendre 多项式

在下文中,Gauss 型积分公式的节点和权重的计算其实都可以归结为求特殊多项式的所有零点。本文中的做法是直接猜测一组合适的初值,然后通过牛顿迭代求出所有根。 除此之外,还有一类数值算法(The Golub-Welsch algorithm),它的思路是利用多项式的递推关系构造一个对应的方阵,使得目标多项式的所有零点恰为这个方阵的全部特征值,进而可以利用求特征值的各种数值算法进行求解。

Gauss-Legendre 数值积分表

理论推导可得,对于使用 个节点的 Gauss-Legendre 积分

个节点恰为 Legendre 多项式 个实根,对应的权重 可以使用如下公式计算

Remark

这个公式的推导参考 Hildebrand, F. B. 的 Introduction to Numerical Analysis. New York: McGraw-Hill, pp. 323-325, 1956.

可以使用牛顿法求解 的所有根,使用如下公式计算导函数值

更新公式为

采用的初值为 Chebyshev 节点加上一组小扰动,Chebyshev 节点为

加上的小扰动为

Gauss-Lobatto 数值积分表

理论推导可得,对于使用 个节点的 Gauss-Lobatto 积分

个节点为如下 次多项式的所有根

内部节点为 的所有 个实数根。 对应的权重表达式为

可以使用牛顿法求解 的所有根时,需要计算 以及它的导数 ,可以利用如下公式计算:

  1. 函数值:导函数满足如下公式

    因此

  2. 导数值:根据前面的特征值问题,恰有

因此牛顿迭代的更新公式可以整理为

牛顿迭代采用的初值为 Chebyshev-Gauss-Lobatto 节点

Remark

虽然前面的导函数关系对于 无意义,但是这里 就是 的根,初值已经直接包含了 ,上述牛顿迭代的公式对于 也保持不变,因此没有问题。