评估具有许多独立周期且没有闭合形式的振荡积分

计算科学 正交
2021-12-10 08:45:03

我所知道的大多数振荡积分方法都处理形式为 的积分 ,其中很大。

f(x)eiωxdx
ω

如果我有一个形式为 其中是振荡函数,其根只能近似知道,但某种渐近形式 是已知的,频率都不同(和 -线性无关),那么我该如何评估这个积分?

f(x)g1(x)gn(x)dx,
gk
gk(x)eiωkx
ωkQ

的情况不同,多项式积分是未知的,因此我无法为构造一组多项式插值并积分准确的插值。eiωxxagk(x)f(x)

在我的确切问题中,是贝塞尔函数,积分区域是我现在使用的方法是对根之间的区间积分贡献求和,直到某个截止 ,然后对大的渐近展开该算法的时间复杂度是的指数,因为它涉及扩展乘积,每个乘积都有个渐近项,给出gkJ0(ωkx)f(x)=xα[0,)[xk1,xk]Mgk(x)xng1gnrrn总条款;修剪太小的术语不会减少足够的运行时间以使其对大可行。n

欢迎启发式非严格的答案、建议和参考。

2个回答

我研究过有固定相点的更简单的积分。我发现了两种效果很好的方法。

一种是引入一个依赖于相位函数的指数阻尼因子,如果你愿意的话,这是一种人工粘度。

另一种技术(其中有多个统计阶段点)在以下内容中进行了描述:

Tuck, EO, Collins, JL 和 Wells, WH,“关于船舶波浪及其光谱”,船舶研究杂志,11-21 页,1971 年。

该方法将指数衰减因子应用于被积函数,在该被积函数中它会迅速远离统计数据。相位点,但在不完整的地方保留被积函数。

那是我没主意了!

只要您对被积函数的振荡部分的根(或极值)有准确的值,朗文方法(如我在此答案中所述)仍然适用。您所要做的就是使用您最喜欢的求积方法评估一组在根之间具有间隔的积分,并将这些积分视为一些交替级数的项。然后,您可以使用任意数量的收敛加速方法(Euler、Levin、Weniger 等)来“求和”这个交替级数。

例如,在这个 math.SE 答案中,我评估了一个无限积分,其振荡部分是两个贝塞尔函数的乘积。