多变量的数值积分

计算科学 数值分析 傅立叶分析
2021-12-07 02:10:11

x=(x1,x2,,xn)[0,1]nf(x):[0,1]nC成为这些变量中的函数。

这个迭代积分是否有递归方案?

[0,1]ndxif(x)

如果n=10我打破[0,1]分成 100 个段,我们有1020积分加起来。必须有更聪明的方法。


事实上,我希望整合的功能是 Unitary 群的Haar 测度

U(n)f(A) dA=1n![0,2π]nj<k|eiθjeiθk|2f(θ1,,θn) dθ12π  dθn2π

2个回答

对于具有许多变量的集成,蒙特卡洛方法通常是一个不错的选择。它的误差随着O(N)其中 N 是选择的等分布点的数量。当然,这对于存在高阶方法的低维(1D 和 2D)空间是不利的。然而,这些确定性方法中的大多数都在更高维度上获取大量点。例如,一阶一维方案是O(N)在 2D 和O(N14)在 3D 中。蒙特卡洛方法的优势在于误差收敛与空间维度无关。无论你的空间是 1D 还是 100D,它都是O(N).

但是,由于它是概率性的,因此您需要使用一定数量的点对其进行多次积分,以找到标准偏差和误差估计值。

稀疏网格正交是一种在更高维度上集成的替代方法。

求积依赖于评估特定“最佳”点处的函数值的加权和。传统的求积在更高维度上使用张量积网格结构,这意味着随着维度的增加,您必须在呈指数增长的点数处评估函数。

稀疏网格正交的技巧是,您可以使用张量积网格的一小部分子集获得相同的阶数精度(在渐近意义上)。您选择的稀疏点最终将是那些精确整合高达所需总度数的单项式的点。随着维度的增加,计算节省(与张量积网格相比)显着增加。

但是,您应该注意这种方法的缺点。

  1. 如果您的函数不平滑(或者不能很好地被多项式函数逼近),则此方法效果不佳。
  2. 虽然稀疏网格正交的精度阶数可能相当于张量积网格,但相对精度可能要差得多。这是因为稀疏网格的精度阶数前面的常数可能非常大。
  3. 稀疏网格适用于相对较小的维度。但是有一个维度,之后您可能最好使用另一种方法(如蒙特卡罗或其变体)。

有关稀疏网格的更多信息,我推荐 Burkardt 的Sparse Grids in High Dimensions如果您对生成稀疏网格的代码感兴趣,您可能需要考虑这些 matlab 文件