Article ID Journal Published Year Pages File Type
5429508 Journal of Quantitative Spectroscopy and Radiative Transfer 2011 16 Pages PDF
Abstract

Rational functions are frequently used as efficient yet accurate numerical approximations for real and complex valued functions. For the complex error function w(x+iy), whose real part is the Voigt function K(x,y), code optimizations of rational approximations are investigated. An assessment of requirements for atmospheric radiative transfer modeling indicates a y range over many orders of magnitude and accuracy better than 10−4. Following a brief survey of complex error function algorithms in general and rational function approximations in particular the problems associated with subdivisions of the x, y plane (i.e., conditional branches in the code) are discussed and practical aspects of Fortran and Python implementations are considered. Benchmark tests of a variety of algorithms demonstrate that programming language, compiler choice, and implementation details influence computational speed and there is no unique ranking of algorithms. A new implementation, based on subdivision of the upper half-plane in only two regions, combining Weideman's rational approximation for small |x|+y<15 and Humlicek's rational approximation otherwise is shown to be efficient and accurate for all x, y.

Research highlights► Function arguments spanning many orders of magnitude. ► No approximation good for all arguments, but two subregions sufficient. ► Line center: just a few evaluations, accuracy more important than speed. ► Combination of two rational approximations: Weideman and asymptotic Humlicek. ► Code performance is system dependent, no unique ranking of algorithms.

Related Topics
Physical Sciences and Engineering Chemistry Spectroscopy
Authors
,