梯形规则与高斯正交:我错过了什么?

计算科学 一体化
2021-11-29 20:56:52

我现在正在阅读一篇批评一种方法的论文,因为它使用梯形规则,而不是“像高斯求积这样的更高级的求积规则”......

高斯求积法则要求,给定N,计算一堆权重和节点。在知道这些权重和节点之后,积分可以计算为一个简单的和wif(xi).

好的。

但站在脚上,没人知道什么wixi是。他们需要计算。这需要时间。

另一方面,您可以直接应用梯形规则。如果使用统一网格,则可以立即计算节点和权重,因此唯一真正的计算开销是实际评估总和。

那么我在这里错过了什么?为什么这里还有辩论?我们不是总是更喜欢梯形规则,因为权重和节点更容易计算吗?

举个例子,在 R 中,我可以计算所需的节点和权重N使用函数 的点高斯求积gauss.quadn=212=4096gauss.quad(4096)在我的计算机上大约需要一整秒的时间来计算。

相比之下,如果我们要在均匀网格上计算梯形规则所需的评估点,则需要 0.01毫秒!.

那么我错过了什么?当梯形规则的准确度略低且速度快一百万倍时,“高级正交规则”有什么大不了的?

4个回答

你想要的答案有多准确?

评估您的功能的成本是多少?如果成本很高,那么您不想使用具有太多节点的规则。

你想求积多少次?如果必须重复多次,例如在有限元方法中,计算高斯规则的权重/节点的成本将无关紧要,因为它只需执行一次,并且更高的准确性将得到回报。

基于这些问题,对于您的特定应用程序,使用更快的方法。

在精度与成本方面,梯形方法最适合周期函数。对于其他类型的函数,高斯规则预计会更好,不包括计算权重/节点的成本。

您的主要假设是错误的:

但是站在脚上,没有人知道 wi 和 xi 是什么。他们需要计算。这需要时间。

“没有人知道”权重和点是什么是不正确的:它们被制成表格,不再需要计算。我们也不使用 4096 点——我们将积分区间细分为更小的区间,然后使用 4 点或 6 点或可能 8 点的高斯求积——你可以在每本数值分析教科书中查找权重和位置16位精度。换句话说,我们使用高斯积分的方式与我们使用梯形规则的方式非常相似:它只是更准确!

一个典型的用例是当您可以使用固定的少量节点时,例如n=4要么n=10. 在这种情况下,您对代码中的权重进行硬编码,并且基本上免费获得比梯形规则更高的精度。

没有足够的信息来确定对原始论文的批评是否值得!

通常,除非我们能够获得可靠且准确的误差估计或不太大的误差界限,否则近似是无用的。当被积函数不够平滑时,我们这样做的能力就会受到影响。高级求积对被积函数的平滑度要求较高,而梯形法则等简单方法对被积函数的平滑度要求较低。完全有可能原始论文处理的函数不够平滑,无法支持使用高阶方法。

在实践中,当我们缩小步长时,我们的后验误差估计的准确性会受到舍入误差的影响。这对于低阶方法来说不是真正的问题,但对于高阶方法来说是一个重要问题,即使被积函数是无限可微的。

另一方面,批评完全有可能是值得的。通常,每个函数评估都比查找正交节点和计算权重所需的少量算术运算要耗时得多。