TY - JOUR
T1 - Calculation of Fresnel integrals of real and complex arguments up to 28 significant digits
AU - Zaghloul, Mofreh R.
AU - Alrawas, Leen
N1 - Publisher Copyright:
© 2023, The Author(s).
PY - 2023
Y1 - 2023
N2 - We present numerical algorithms for efficient and highly accurate computations of Fresnel’s sine and cosine integrals S(z) and C(z) for real (z = x) and complex (z = x + iy) arguments. The algorithms are based on series expansion for small values of |z|, expansion in Chebyshev subinterval polynomial approximations for intermediate real values (y = 0), toggled with sum of half-integer order Bessel functions for complex arguments, together with asymptotic series expansion for large values of |z|. The present algorithms, implemented in a Fortran elemental module, can be run using any of the single, double, or quadruple precision arithmetic. Results from the present code have been benchmarked versus comprehensive data tables, generated using Maple, Mathematica, and Matlab symbolic toolbox. Compared to a maximum of 16 significant digits in the literature, the present algorithms can calculate S(x) and C(x) up to 28 significant digits in the range xϵ[0, 106] and S(z) and C(z) to the same accuracy in the domain where |S(z)| and |C(z)| each is less than the largest finite floating point number in the precision under consideration with ∣argz∣<π2 or more specifically 3×10-4<|yx|<2×103 for S(z) and 4×10-4<|yx|<2.2×103 for C(z).
AB - We present numerical algorithms for efficient and highly accurate computations of Fresnel’s sine and cosine integrals S(z) and C(z) for real (z = x) and complex (z = x + iy) arguments. The algorithms are based on series expansion for small values of |z|, expansion in Chebyshev subinterval polynomial approximations for intermediate real values (y = 0), toggled with sum of half-integer order Bessel functions for complex arguments, together with asymptotic series expansion for large values of |z|. The present algorithms, implemented in a Fortran elemental module, can be run using any of the single, double, or quadruple precision arithmetic. Results from the present code have been benchmarked versus comprehensive data tables, generated using Maple, Mathematica, and Matlab symbolic toolbox. Compared to a maximum of 16 significant digits in the literature, the present algorithms can calculate S(x) and C(x) up to 28 significant digits in the range xϵ[0, 106] and S(z) and C(z) to the same accuracy in the domain where |S(z)| and |C(z)| each is less than the largest finite floating point number in the precision under consideration with ∣argz∣<π2 or more specifically 3×10-4<|yx|<2×103 for S(z) and 4×10-4<|yx|<2.2×103 for C(z).
KW - Fortran
KW - Fresnel integrals
KW - Special functions
UR - http://www.scopus.com/inward/record.url?scp=85171262092&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85171262092&partnerID=8YFLogxK
U2 - 10.1007/s11075-023-01654-2
DO - 10.1007/s11075-023-01654-2
M3 - Article
AN - SCOPUS:85171262092
SN - 1017-1398
JO - Numerical Algorithms
JF - Numerical Algorithms
ER -