昂贵函数与贝塞尔权重的径向积分

计算科学 正交 一体化 特殊功能 数字
2021-12-08 11:11:49

我需要计算积分

I=0Rf(r)Jn(znmrR)rdr

在哪里Jn是个nth第一类贝塞尔函数,znm是它的mth零和f(r)是一个实函数,有点类似于Jn(但不一样,它相当复杂,通常涉及与Jn2有时exp(Jn))。

作为f(r)非常昂贵,并且必须多次评估这个积分,我正在寻找最好的(非常快,但仍然相当准确)数值方法来解决它。目前,我正在使用 11 分的梯形规则。但我正在研究其他方法,例如 Clenshaw-Curtis 和 Gauss-Kronrod(低阶)。

但我想知道是否有一种特别适合这种积分的方法,特别是考虑到它类似于计算汉克尔变换所需的方法。

1个回答

对于汉克尔变换,可以将这些方法分为四大类:

  1. 基于数值求积。
  2. 基于傅里叶的。
  3. Bessel 渐近扩展为正弦和余弦。
  4. 投影切片方法。

以下论文很好地概述了这些方法(方法的类型):

根据这篇论文(第 3 页,第 4 节):

梯形法则的主要缺点是计算效率低。...发现梯形方法几乎总是与任何其他测试方法一样可靠。...我们发现它可以作为测试更有效算法的基准。

所以,两个方向是可能的:

  1. 要么找到更有效的数值求积规则。
  2. 跟随 Hankel 类变换方向。

事实上,这个积分非常类似于n阶汉克尔变换。但是,我认为这里的一个主要并发症是f(r)不仅极其昂贵,而且是振荡的,并且可能是高度振荡的。在给定的公式中,f(r)几乎是一个黑盒,具有一些实际上很糟糕的已知属性。许多用于评估汉克尔变换的标准技术使用以下事实:f(r) 最终是单调的。

因此,我会研究用于高振荡积分的 Filon 型正交方向。但我认为你必须使用一些关于行为的知识f(r)让它工作。那是关于方向 1。以下参考资料(以及下一部分的参考资料)将有助于一般理解:

对于方向 2,我建议尝试开发某种形式的投影切片方法我个人不知道为您的积分开发的这种类型的现成方法。

以下参考资料可能有用(也适用于 Filon 正交):

另一个值得尝试的有趣方法(我偶然发现这篇论文是写这个答案的主要动机)是应用梅林变换。但是,如果它需要太多的评估,它可能不值得f(r)首先: