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 -