Skip to main content
QUICK REVIEW

[论文解读] On the Fourier expansion method for highly accurate computation of the Voigt/complex error function in a rapid algorithm

Sanjar M. Abrarov, Brendan M. Quine|arXiv (Cornell University)|May 7, 2012
Image and Signal Denoising Methods参考文献 3被引用 14
一句话总结

本文提出了一种基于简化傅里叶展开的算法,用于高精度且快速计算Voigt函数与复误差函数。通过重构近似以最小化冗余运算,并利用向量化数组计算,该方法在保持机器精度的同时,相较于Weideman的算法实现了超过5倍的加速,尤其适用于大规模数组处理。

ABSTRACT

In our recent publication [1] we presented an exponential series approximation suitable for highly accurate computation of the complex error function in a rapid algorithm. In this Short Communication we describe how a simplified representation of the proposed complex error function approximation makes possible further algorithmic optimization resulting in a considerable computational acceleration without compromise on accuracy.

研究动机与目标

  • 开发一种计算高效、不牺牲精度的Voigt函数与复误差函数算法。
  • 通过简化近似结构,优化傅里叶展开方法以实现更快的执行速度。
  • 在需要大规模数组处理的光谱线加宽与离子体物理模拟中实现高性能计算。
  • 通过最小化重复的指数运算并利用向量化操作,降低计算开销。
  • 证明算法简化可在不损害数值精度的前提下实现显著加速。

提出的方法

  • 复误差函数通过具有高斯包络系数的傅里叶级数展开进行近似。
  • 通过分离n=0项,重构原始求和,得到简化后的解析形式,从而减少计算冗余。
  • 简化形式将函数表示为包含(−1)^n e^{iτₘz}项与z的有理函数之和,支持高效的向量化实现。
  • 该算法仅使用三个主要数组:A = τₘz,B = e^{iA},C = A.*A,每个输入数组仅计算一次。
  • 采用MATLAB风格的逐元素运算,实现高效向量化,其中指数运算(B)对总运行时间的贡献不足6%。
  • 该方法避免对e^{iτₘz}使用有理近似,因其计算成本即使在τₘ和N值降低时也保持可忽略不计。

实验结果

研究问题

  • RQ1是否可对复误差函数的傅里叶展开方法进行简化,以在不损失精度的前提下减少计算开销?
  • RQ2在大规模应用中,向量化数组运算能在多大程度上加速Voigt函数的求值?
  • RQ3与Weideman的算法及算法680相比,简化后算法的计算性能如何?
  • RQ4当高精度非必需时,降低τₘ和N对精度与性能有何影响?
  • RQ5是否可对指数运算步骤进行优化,使其不再主导总计算时间?

主要发现

  • 当处理超过3000万个元素的数组时,简化算法相比Weideman的算法实现了超过5倍的加速。
  • 在处理大输入数组时,该算法比原始近似(1)快两倍以上。
  • 在τₘ = 12且N = 23时,指数运算(B = e^{iA})的计算成本占总运行时间不足6%。
  • 数值结果与算法680在最后一位小数上完全一致,证实了机器精度的准确性。
  • 当τₘ和N分别降低至9和12时,可获得额外加速,且在非极端精度要求的应用中精度未受影响。
  • 该方法实现了快速、高精度的Voigt函数计算,适用于大规模光谱线加宽模拟。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。