我有一个函数使得
是有限的,我想近似这个积分。
我熟悉积分的正交规则和蒙特卡罗近似,但我发现在无限域中实现它们存在一些困难。在蒙特卡罗的情况下,如何对无限区域进行采样(尤其是在对积分贡献更大的区域未知的情况下)?在正交情况下,我如何找到最佳点?我是否应该简单地修复以原点为中心的任意大区域并应用稀疏正交规则?我该如何去近似这个积分?
我有一个函数使得
是有限的,我想近似这个积分。
我熟悉积分的正交规则和蒙特卡罗近似,但我发现在无限域中实现它们存在一些困难。在蒙特卡罗的情况下,如何对无限区域进行采样(尤其是在对积分贡献更大的区域未知的情况下)?在正交情况下,我如何找到最佳点?我是否应该简单地修复以原点为中心的任意大区域并应用稀疏正交规则?我该如何去近似这个积分?
在一维中,您可以使用替换积分将无限区间映射到有限区间,例如
其中是在某个有限范围内趋于无穷大的函数,例如:
然后,您可以对修改后的有限积分使用任何常规数值求积例程。
多个变量的替换有点棘手,但这里有很好的描述。
的表达式中提取一个指数预因子,将其转换为,然后使用高斯正交规则(或高斯 Kronrod)作为权重。如果是平滑的,这通常会产生出色的结果。
在中,同样适用于权重,并且可以找到适当的容积公式,例如,在 Engels 的书中,数值求积和容积。
对于一维求积,您可以查看有关Quadpack的书(这是一本经典的老歌,但仍然与一维求积非常相关)以及算法 QAGI 中使用的技术,这是一种无限范围的自动积分器。
另一种技术是双指数求积公式,Ooura 很好地实现了无限区间。
对于容积,您可以查阅Ronald Cools的容积公式百科全书。
如果您还记得求积是如何工作的,那么您还将知道一种近似无限积分的方法。即:对于求积,你用类似的东西来近似你想要积分(或分段多项式),你可以分析地写下积分。你得到从通过插值点插值 - 这将是你的正交点。
对于无限积分,一种方法使用完全相同的想法。例如,您可以尝试使用更简单的函数在整行上与插值的多项式在多个点上。然后有计算积分的简单公式。插值点的选择遵循与通常的正交推导类似的逻辑。