voigt_hwhm - Half width at half maximum of Voigt's function
#include <cerf.h>
double voigt_hwhm ( double sigma, double gamma );
The function voigt_hwhm returns the half width at half maximum of the function voigt.
The function voigt returns Voigt's convolution
voigt(x,sigma,gamma) = integral G(t,sigma) L(x-t,gamma) dt
of a Gaussian
G(x,sigma) = 1/sqrt(2*pi)/|sigma| * exp(-x^2/2/sigma^2)
and a Lorentzian
L(x,gamma) = |gamma| / pi / ( x^2 + gamma^2 ),
with the integral extending from -infinity to +infinity.
Errors are given in units of eps = 2^-53 = 1.1e-16, as relative deviations from high-precision reference values.
For 0.25 <= gamma/sigma < 16, voigt_hwhm uses a piecewise Chebyshev approximation generated by ppapp, whose error analysis (Wuttke and Kleinsorge, see REFERENCES) bounds the relative error by 2.2 eps; the largest deviation found at the 576 generated test points in this range is 1.8 eps. Below and above that range, series expansions around the Gaussian and the Lorentzian limit are used, for which no theoretical bound exists yet; the relative error was found below 2.0 eps at 1152 generated test points for 0.03 <= gamma/sigma < 128 and at random points for 1e-8 < gamma/sigma < 1e8. Rescaling both arguments by a common factor adds at most one rounding.
voigt(3)
Homepage: https://jugit.fz-juelich.de/mlz/lib/cerf
Joachim Wuttke, "Power series for the half width of the Voigt function, rederived", J. Numer. Anal. Approx. Theo. 54, 345-356 (2025), https://doi.org/10.33993/jnaat542-1640, derives the series expansions used for small and large gamma/sigma.
Joachim Wuttke and Alexander Kleinsorge, "Algorithm 1062: Code generation for piecewise Chebyshev approximation", ACM Trans. Math. Softw. 52, 13 (2026), https://doi.org/10.1145/3805698, explains the piecewise polynomial approximation used for intermediate gamma/sigma and derives its error bound.
Joachim Wuttke, Forschungszentrum Juelich.
Please report bugs to the maintainer:
Joachim Wuttke <j.wuttke@fz-juelich.de>
Copyright (c) 2018-25 Forschungszentrum Juelich GmbH
Software: MIT License.
This documentation: Creative Commons Attribution Share Alike.