Skip to main content
QUICK REVIEW

[論文レビュー] A FORTRAN Package for Efficient Multi-Accuracy Computations of the Faddeyeva Function and Related Functions of Complex Arguments.

Mofreh R. Zaghloul|arXiv (Cornell University)|Jun 4, 2018
Numerical Methods and Algorithms被引用数 2
ひとこと要約

この論文では、複素変数の Faddeyeva 関数 w(z) および関連する特殊関数(erf(z)、erfc(z)、erfcx(z)、Z(z)、Daw(z)、Fresnel 積分)の高精度で効率的な計算を実現する Fortran パッケージを提示する。MATLAB や Mathematica との比較によるベンチマークを用いて高精度を保証し、特に低精度領域において既存の Fortran や C++ 実装と比較して最大 5× の高速化を達成している。

ABSTRACT

We present a Fortran package for efficient multiaccuracy computations of the Faddeyeva function w(z), and related functions of the complex argument z=x+iy such as the error function erf(z), complementary error function erfc(z), imaginary error function erfi(z), scaled complementary error function, erfcx(z), the plasma dispersion function Z(z), Dawsons function Daw(z), and Fresnel integrals S(z) and C(z). Depending on the case studied, targeted accuracy, and the precision used, efficiency improvements up to more than a factor of five, compared to the Fortran version of Algorithm 916 are obtained. Compared to the free/open source package developed in C++ at the Massachusetts Institute of Technology (MIT) and depending on the case studied, the present algorithm can be up to a factor of two faster for the 13 significant-digits accuracy and up to a factor of five faster for the four significant figures accuracy. The accuracy of computing other related special functions is assessed through comparison with results obtained from the Mathematica software package and the Matlab Special Functions of Applied Mathematics (SFAM) in the symbolic toolbox.

研究の動機と目的

  • 複素変数に対する Faddeyeva 関数 w(z) および関連特殊関数の効率的かつ高精度な計算を可能にする Fortran ベースのソフトウェアパッケージの開発。
  • 複数精度レベルにおける既存の Fortran や C++ 実装との比較において、計算効率の向上。
  • Mathematica や MATLAB の SFAM ツールボックスなどの確立された記号計算ツールを用いた結果の検証により、高精度を確保。
  • 制御された精度を要する科学的・工学的応用分野に広く対応するための複素特殊関数の計算を支援。

提案手法

  • 複素変数の評価に適したアルゴリズム的改善を活用した、Fortran を用いた Faddeyeva 関数 w(z) 及び関連関数の最適化されたアルゴリズムの実装。
  • 数値的安定性と高速性を確保するため、複素平面の異なる領域に特化した漸近展開、有理近似、級数展開の使用。
  • 4 から 13 桁の有意数値精度までをカバーする複数精度レベルへの対応を実装し、各精度ターゲットに最適化されたパフォーマンスを実現。
  • さまざまな入力領域で精度を維持するための誤差制御メカニズムおよび精度に配慮した計算戦略の統合。
  • パフォーマンス向上の定量的評価のため、Algorithm 916 の Fortran 版および MIT の C++ オープンソースパッケージとのベンチマーク比較。
  • Mathematica や MATLAB の記号計算ツールボックスによる出力と照合することで、計算結果の妥当性を検証。

実験結果

リサーチクエスチョン

  • RQ1Fortran において、複数精度レベルにわたる Faddeyeva 関数評価の計算効率をどのように向上させられるか?
  • RQ2Fortran 版 Algorithm 916 や MIT の C++ オープンソース実装と比較して、どの程度のパフォーマンス向上が達成できるか?
  • RQ3erfc(z)、erfcx(z)、Z(z) などの関連特殊関数を計算する際、提案パッケージがどの程度の高精度を維持できるか?
  • RQ4特に漸近的・振動的領域において、アルゴリズムは複素平面のどの領域でも効果的に動作するか?
  • RQ5高精度の記号計算システムと照合した場合、パッケージは一貫性があり信頼性の高い結果を提供できるか?

主な発見

  • 提案された Fortran パッケージは、ターゲット精度や精度に応じて、Fortran 版 Algorithm 916 よりも 5 倍以上の高速化を達成している。
  • 13 桁の有意数値精度を求める場合、MIT の C++ オープンソース実装よりも最大 2 倍の高速性を示している。
  • 4 桁の有意数値精度を求める場合、同様の C++ パッケージと比較して最大 5 倍の性能向上が達成されている。
  • erfc(z)、erfcx(z)、Fresnel 積分を含む関連関数の計算値は、Mathematica や MATLAB の SFAM ツールボックスの結果と一貫していることが検証された。
  • 急速な振動や漸近的挙動を示す領域を含む、複素平面全体にわたり高い数値的安定性と精度を維持している。
  • ユーザーが精度レベルを動的に選択可能であり、最小限のパフォーマンスペナルティで効率的な多精度計算が可能である。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。