
ファデエバ関数またはクランプ関数は、スケールされた複素相補誤差関数である。
これは、フレネル積分、ドーソン積分、およびフォークト関数と関連しています。
この関数は、複雑な媒体における電磁気応答に関連するさまざまな物理的問題で発生します。
- これは、マクスウェル分布に従う プラズマ中を伝播する小振幅波に関する問題であり、特に、分散関係が導かれるプラズマの誘電率に現れるため、プラズマ分散関数と呼ばれることもある[1] [2] (ただし、この名前は、 Fried and Conte、1961 [1] [3 ]によって定義された再スケールされた関数Z ( z ) = i √ π w ( z )の代わりに使用されることもある)。
- アモルファス酸化物の赤外線誘電率関数は共鳴(フォノンによる)を持ち、単純な調和振動子では当てはめるには複雑すぎる場合がある。ブレンデル・ボルマン振動子モデルは、ガウス分布を持つわずかに異なる周波数を持つ振動子の無限の重ね合わせを使用する。[4]積分応答はファデエバ関数で表すことができる。
- Faddeeva 関数は、AM ラジオで使用されるタイプの電磁波の解析にも使用されます。[要出典]地上波は、有限の抵抗率と誘電率を持つ損失のある地面上を伝播する垂直偏波です。
- ファデエバ関数は温度変化に伴う物質の中性子断面積の変化も記述する。 [5]
プロパティ
実数部と虚数部
実部と虚部への分解は通常次のように表される。
- 、
ここで、V(x,y)はVoigtプロファイル(前因子まで) であるため、VとLは実数と虚数のVoigt関数と呼ばれます。
符号反転
符号反転引数の場合、次の両方が適用されます。
そして
ここで、* は複素共役を表します。
相補誤差関数との関係
虚数引数で評価されたFaddeeva関数は、スケールされた相補誤差関数()に等しくなります。
- 、
ここで、erfcは相補誤差関数です。大きな実数xの場合:
派生語
いくつかのアプリケーションでは、Faddeeva関数の元の値だけでなく、その導関数も知る必要があります(例:分光法における非線形最小二乗回帰)。その導関数は次のように与えられます:[6] [7]
この式は、Faddeeva 関数との実数部と虚数部の変化に関してさらに分解することもできます。基本的に、これには積 の実数部と虚数部に関する知識が必要です。上記の定義を利用すると、導関数は次のよう におよびに関する偏導関数に分割できます。
- そして
- そして
これらの偏導関数の使用に関する実際の例については、ここを参照してください。
積分表現
ファデエバ関数は次のように発生する。
つまり、これは単純な極を持つガウス分布の畳み込みです。
歴史
この関数は、1954 年にVera Faddeevaと NN Terentyevによって作表されました。[8] Abramowitz と Stegun (1964) の式 7.1.3では、名前のない関数w(z)として表示されます。 Faddeeva 関数という名前は、1990 年に GPM Poppe と CMJ Wijers によって導入されたようです。[9] [より良い出典が必要]以前は、これはクランプ関数として知られていました (おそらくクリスチャン クランプにちなんで)。[10]
初期の実装では、Walter Gautschi (1969–70; ACM Algorithm 363) [11]や J. Humlicek (1982) による方法が使用されていました。[12] Poppe と Wijers (1990; ACM Algorithm 680) は、より効率的なアルゴリズムを提案しました。[13] JAC Weideman (1994) は、 MATLABコードで 8 行以内の非常に短いアルゴリズムを提案しました。 [14] Zaghloul と Ali は、以前のアルゴリズムの欠陥を指摘し、新しいアルゴリズムを提案しました (2011; ACM Algorithm 916)。[2] M. Abrarov と BM Quine (2011/2012) は、別のアルゴリズムを提案しました。[15]
実装
非商用利用に限り無料で使用できる2つのソフトウェア実装[16]が、 ACM Transactions on Mathematical Software (TOMS)にアルゴリズム680(Fortran [17]で、後にCに翻訳)[18]とZaghloulとAliによるアルゴリズム916(MATLAB [19])として公開されました。
アルゴリズム 680 とアルゴリズム 916 の組み合わせから派生した無料のオープンソースの C または C++ 実装 (異なる z に対して異なるアルゴリズムを使用)もMITライセンス [20] の下で利用可能であり、ライブラリパッケージlibcerf [21] としてメンテナンスされています。この実装は、Matlab [20]、GNU Octave [20]のプラグイン
としても利用可能であり、 PythonではScipyとして利用できます(これは元々 TOMS 680 コードでしたが、著作権の問題により置き換えられました[22] )。
scipy.special.wofz
プラズマ分散関数を高速かつ正確に計算するためには、J極パデ近似が有用であることがわかっている。[23]すなわち、
J=8 の場合、b1= -0.017340112270401 - 0.046306439626294i、b2= -0.739917811220052 + 0.839518284620274i、b3= 5.840632105105495 + 0.953602751322040i、b4= -5.583374181615043 -11.208550459628098i、c1= 2.237687725134293 - 1.625941024120362i を使用できます。 c2= 1.465234091939142 - 1.789620299603315i; c3= 0.839253966367922 - 1.891995211531426i; c4= 0.273936218055381 - 1.941787037576095i; b(5:8)=(b(1:4))*; c(5:8)=-(c(1:4))*,
ここで、*は複素共役を表す。上記の近似は上面に対して有効である。実軸に弱く近い、すなわち下面の実軸から遠くない場合でも、上記の近似は有効である。 を正確に計算するには 、次を使うことができる 。
上記のJ極アプローチのコーディングと正確なプラズマ分散関数との比較が見つかります。[24]有理近似と多極近似によるプラズマ分散関数の高速計算のための包括的な係数も利用可能です。[25]
参照
参考文献
- ^ ab Lehtinen, Nikolai G. (2010年4月23日). 「誤差関数」(PDF) . Lehtinenウェブページ - スタンフォード大学. 2019年10月8日閲覧。
- ^ ab MR Zaghloul および AN Ali、ACM Transactions on Mathematical Software 38(2)15 (2011)
- ^ Richard Fitzpatrick、「プラズマ分散関数」、プラズマ物理学講義ノート、テキサス大学オースティン校(2011/3/31)。
- ^ Brendel, R.; Bormann, D. (1992). 「非晶質固体の赤外線誘電関数モデル」. Journal of Applied Physics . 71 (1): 1. Bibcode :1992JAP....71....1B. doi :10.1063/1.350737. ISSN 0021-8979.
- ^ 「OpenMC Windowed Multipole」 2020年6月1日. 2020年12月20日閲覧。
- ^ Avetisov, Slava (1995). 直接および周波数変調線形のスペクトル解析のための最小二乗フィッティング手法(PDF) (レポート). ルンド大学物理学部。
- ^ 「Faddeeva(またはFaddeyeva)関数 - 7.10 導関数」。数学関数のデジタルライブラリ。米国国立標準技術研究所。2010年。 2022年6月23日閲覧。
- ^ VN Faddeevaおよび NN Terent'ev: Tables of values of the function for complex argument. Gosud. Izdat. Teh.-Teor. Lit. 、モスクワ、1954 年; 英語訳、Pergamon Press、ニューヨーク、1961 年。未検証の引用、 Poppe および Wijers (1990)からコピー。
- ^ 2012年10月時点のGoogle Scholarにおける最古の検索結果。
- ^ 例えば、Al'pert, Space Science Reviews 6, 781 (1967)では、FaddeevaとTerent'evを参照して式(3.13)が示されています。
- ^ Poppe and Wijers (1990)の参考文献 3 および 4 を参照。
- ^ J. Humlicek, J. Quant. Spectrosc. Radiat. Transfer 27, 437-444 (1982).
- ^ GPM Poppe および CMJ Wijers、ACM Transactions on Mathematical Software 16、38-46 (1990)。
- ^ JAC Weideman、SIAM J. Numer.アナル。 31、1497-1518 (1994)。
- ^ SM AbrarovとBM Quine、Appl. Math. Comp. 218、1894-1902(2011)およびarXiv:1205.1768v1(2012)。
- ^ 「ソフトウェア著作権通知」。; したがって、それらはフリーソフトウェアやオープンソースソフトウェアという意味では無料ではない。
- ^ http://www.cs.kent.ac.uk/people/staff/trh/CALGO/680.gz [リンク切れ]
- ^ 「衝突式」NASA . 2023年4月10日閲覧。
- ^ Mofreh R. Zaghloul および Ahmed N. Ali、「アルゴリズム 916: Faddeyeva 関数と Voigt 関数の計算」、ACM Trans. Math. Soft. 38 (2)、15 (2011)。プレプリントは arXiv:1106.0151 で入手可能。
- ^ abc Faddeeva パッケージ、無料/オープンソースの C++ 実装、2012 年 10 月 13 日にアクセス。
- ^ 「Libcerf [MLZ Scientific Computing Group]」.
- ^ 「SciPy の複雑な erf コードは無料/オープンソースではありませんか? (Trac #1741) · Issue #2260 · scipy/scipy」。GitHub。
- ^ Xie, Hua-sheng (2019年11月). 「BO: プラズマ波と不安定性解析のための統合ツール」. Computer Physics Communications . 244 :343–371. arXiv : 1901.06902 . doi :10.1016/j.cpc.2019.06.014. ISSN 0010-4655.
- ^ XIE、Hua-sheng (2024-04-14)、hsxie/gpdf 、 2024-04-15取得
- ^ Xie, Huasheng (2024-07-01). 「プラズマ分散関数の高速計算:有理多極近似と精度の向上」AIP Advances . 14 (7). arXiv : 2404.18719 . doi :10.1063/5.0216433. ISSN 2158-3226.
