User:Agalst/sandbox

Функция Фаддеевой, или Функция Крампа - это масштабированная комплексная дополнительная функция ошибок.
 * $$w(z):=e^{-z^2}\operatorname{erfc}(-iz) = \operatorname{erfcx}(-iz)

=e^{-z^2}\left(1+\frac{2i}{\sqrt{\pi}}\int_0^z e^{t^2}\text{d}t\right).$$ Связана с интегралом Френеля, интегралом Доусона и функцией Войта. It is related to the Fresnel integral, to Dawson's integral, and to the Voigt function. Функция часто возникает при решении задач с малыми волнами, распространяющимися через максвелловскую плазму, а именно она появляется при исследовании проводимости плазмы. Отсуда получаются выражения для дисперсии, откуда идет второе название как функция плазменной дисперсии (однако это название иногда используется для функции $$Z(z)=i\sqrt{\pi}w(z)$$, введенной Fried и Conte ).

Функция также используется для анализа электромагнитных волн типа используемых в АМ радиовещании. Groundwaves are verticaly polarised waves propagating over a lossy ground with finite resistivity and permittivity.

Действительная и мнимая части
Обычно раскладывается на действительную и мнимые части как
 * $$w(x+iy)=V(x,y)+iL(x,y)$$,

где V и L - так называемые действительная и мнимая функции Войта, так как с точностью до множителя V(x,y) - Voigt profile.

История
Функция была затабулирована Фаддеевой и Терентьевым в 1954. . В Abramowitz and Stegun (1964), формула 7.1.3 появляется как безымянная функция w(z). Судя по всему, название функция Фаддеевой было введено Poppe и Wijers в 1990; Ранее она была известна как функция Крампа (скорее всего в честь Christian Kramp).

Самые первые расчеты использовали методы Gautschi (1969/70; ACM Algorithm 363) или Humlicek (1982). Более эффективный алгоритм был предложен Poppe и Wijers (1990; ACM Algorithm 680). Weideman (1994) в свою очередь предложил особенно короткий алгоритм, занимающий не более 8 строк кода в Matlab. Zaghloul и Ali указали на недостатки предыдущих алгоритмов и предложили новый (2011; ACM Algorithm 916). Еще один алгоритм был предложен Abarov и Quine (2011/2012).

Алгоритмы для расчета
Два программных кода, бесплатных для некоммерческого использования, (и, следовательно, не Free and open-source software), были опубликованы в ACM Transactions on Mathematical Software (TOMS) как Algorithm 680 (на языке Fortran, позднее портированного на C ) и Algorithm 916 Zaghloul и Ali (на MATLAB).

Gnuplot вклюает в себя C-реализацию алгоритма Humlicek: быстрого, но с достаточно низкой точностью. Бесплатная/открытая C++ реализация, полученная комбинацией Algorithm 680 и Algorithm 916 (используюцая разные алгоритмы для разных z) также доступна под лицензией MIT License. Эта реализация так же доступна как plug-in для Matlab, GNU Octave, и в Python через пакет Scipy как  (который изначально был кодом TOMS 680, однако позднее заменен во избежание нарушений авторских прав ), и помещен в библиотеку на языке C libcerf.

Используемая литература
Category:Gaussian function Category:Analytic functions