Faddeeva function

The function arises in various physical problems, typically relating to electromagnetic responses in complicated media.

For large real x: In some applications, it is necessary to know not only the original values of the Faddeeva function, but also its derivative (e.g. in Non-linear least squares regression in spectroscopy).

Its derivative is given by:[6][7] This expression can also be broken down further in terms of changes in the real and imaginary part of the Faddeeva function

Basically, this requires knowledge about the real and imaginary part of the product

The Faddeeva function occurs as meaning that it is a convolution of a Gaussian with a simple pole.

[8] It appears as nameless function w(z) in Abramowitz and Stegun (1964), formula 7.1.3.

[10] Early implementations used methods by Walter Gautschi (1969–70; ACM Algorithm 363)[11] or by J. Humlicek (1982).

Weideman (1994) proposed a particularly short algorithm that takes no more than eight lines of MATLAB code.

[15] Two software implementations, which are free for non-commercial use only,[16] were published in ACM Transactions on Mathematical Software (TOMS) as Algorithm 680 (in Fortran,[17] later translated into C)[18] and Algorithm 916 by Zaghloul and Ali (in MATLAB).

[21] This implementation is also available as a plug-in for Matlab,[20] GNU Octave,[20] and in Python via Scipy as scipy.special.wofz (which was originally the TOMS 680 code, but was replaced due to copyright concerns[22]).

For fast but still accurate calculation of plasma dispersion function

, the J-pole Pade approximation is found to be useful,[23] i.e., For J=8, one can use 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))*, where * denotes complex conjugate.

, one can use A coding of the above J-pole approach and comparison with an accurate plasma dispersion function can be found.

[24] Comphensive coefficients to rapid computation of the plasma dispersion function with rational and multi-pole approximation are also available.

Faddeeva function on the complex plane