Abstract
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 \(\mid \mathit{\arg}\ z\mid <\frac{\pi }{2}\) or more specifically \(3\times {10}^{-4}<\left|\frac{y}{x}\right|<2\times {10}^3\) for S(z) and \(4\times {10}^{-4}<\left|\frac{y}{x}\right|<2.2\times {10}^3\) for C(z).
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The solutions of many differential and integral equations, modeling physical phenomena and processes, are generally expressed in terms of special functions. These functions gather a great variety of challenging mathematical expressions including highly transcendental functions and integrals, and their notation has been consolidated over time. Numerical evaluation of special functions has been an active field of research since the introduction of computers into science in the 1950s with associated technical challenges underlining many foundational problems in scientific computing.
For their vast array of applications and their concrete standardized definitions, once a trustworthy algorithm and implementation are devised for any of the special functions, it typically lasts for decades. For example, single- and double-precision computer codes developed in the last few decades of the last century are still widely used [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]. Developing such algorithms can be a devious task of analyzing and combining a variety of different approximation schemes with a bewildering array of pitfalls and “corner cases” where approximations fail or numerical instabilities demand careful transformations. As a result, only a limited set of highly efficient implementations are available for many functions, and for some functions, there are no libraries at all. It is worth noting that there are libraries and software packages for arbitrary precision calculations of several special functions (i.e., to any number of digits), but these typically use extremely slow series methods and are impractically inefficient for large-scale calculations. Yet, there are numerous important applications that require massive evaluations of special functions while high precision (higher than the 16 significant digits characterizing the double precision arithmetic calculations) is indispensable. Some of these applications include electromagnetic scattering theory, theory of nonlinear oscillators, climate modeling, supernovae simulations, planetary orbit calculations, Schrodinger solutions for lithium and helium atoms, the Taylor algorithm for ordinary differential equations, and Coulomb N-body atomic system simulations in addition to many others [24,25,26,27,28]. Accordingly, both high accuracy (needing high precision) and high efficiency are requirements for practical physical problems.
An existing major gap in this regard is the unavailability of algorithms and computer codes for many special functions for mid-range quadruple or “quad” precision which (unlike truly arbitrary precision) are not too much slower than the double precision hardware and hence are practical for reasonably large calculations. Besides, current advancements in computer processing power and data storage capabilities in addition to the support of many modern compilers to high-precision arithmetic increase the interest in and facilitate the task of developing routines and computer codes using quadruple precision arithmetic for the above mentioned kind of problems. A code that can be run in “multiple” precision such as single, double, and quad precision arithmetic may require different algorithms or suitable tuning or adjustments for efficiency reasons.
This paper presents part of our efforts toward narrowing the abovementioned gap, where, herein, we develop accurate and efficient multiple precision algorithms to calculate the Fresnel’s sine and cosine integrals S(z) and C(z). These transcendental functions were primarily introduced in the calculation of the electromagnetic field intensity in a medium where light bends around opaque objects. Additional new applications include but not limited to the design of highways, railways, and rollercoasters.
2 Mathematical relations
Fresnel’s sine and cosine integrals S(z) and C(z) are widely used in physics, particularly in optics and electromagnetic theory where they arise in the description of near-field Fresnel diffraction phenomena. The functions are defined in a variety of equivalent forms in the mathematical literature [29,30,31]. For example, the functions S(z) and C(z) are defined by the oscillatory integrals:
The functions are also defined in the forms of the pairs S1(z), C1(z), and S2(z), C2(z) where:
where J1/2(t) and J−1/2(t) refer to the ordinary Bessel functions of the first kind of orders ½ and −½, respectively. The three pairs of functions in (1), (2), (3), (4), and (5), (6) are related to each other by [29, 30]:
From the computational point of view, all forms of the Fresnel sine and cosine integrals can be computed using the same algorithm with a slight change in the argument as explained in Eqs. (7), (8).
Considering the form of the integrals given in (1), (2), it is easy to show that they can be also expressed in terms of the Faddeyeva or “Faddeeva” function, \({w}(z)\) [32,33,34,35,36] where:
Using the expressions (9) and (10) with some mathematical manipulation, one can show that:
with S(iy) = − iS(y)
Similarly:
where C(iy) = iC(y)
The formulation of the functions as direct expressions in Faddeyeva function as in Eqs. (9), (10) and in Eqs. (11), (12) is not common in the literature although equivalent alternatives can be found.
Fresnel integrals are analytical functions defined for all complex values of z, over the whole complex plane. They are odd functions with the following symmetry relations
In addition, the integrals have simple limiting values at z = zero and z→∞ where:
It is also worth mentioning that the Fresnel integrals S(z) and C(z) have the following simple converging series representations for small |z|.
and the asymptotic expressions for z→∞ and |arg z|<π/2, in terms of the auxiliary functions or integrals f(z) and g(z) where:
The auxiliary functions f(z) and g(z) are defined by the integrals:
3 Foundation of the algorithms
The mathematical relations cited in the above section provide a solid foundation of the present algorithms for (x), C(x) and S(z), C(z) as explained below.
3.1 Series expansion for small |z|
For small |z| values, the series expansions in Eqs. (17) and (18) can be evaluated recursively in the forms:
where:
and
For real input (z = x), the above recursive schemes work accurately up to x = 2.7 for quad precision, and up to x = 1.576 for single/double precision in calculating S(x) while the border for C(x) with quad precision changes to x = 3.0 though the border for single/double precision remains the same, i.e., x = 1.576. For the case of complex input where z = x + iy and y ≠ 0.0, the above recursive scheme of the series is used accurately for the region |z|2 ≤ 6.9 for S(z) and the region |z|2 ≤ 12.75 for C(z), securing accuracies of 7, 16, and 31 SD for single, double, and quadruple precision arithmetic, respectively. It has to be noted that the numerical factor depending on the index k in the above expressions can be evaluated in advance to improve the efficiency of the algorithm.
3.2 Asymptotic expressions for large |z|
For input values of large |z|, whether z is real or complex, the asymptotic expression in Eqs. (19) and (20) can be used together with the series expansions for the auxiliary functions f(z) and g(z) given by the following expressions to evaluate the Fresnel integrals where for \(\mid \arg z\mid \le \frac{\pi }{4}\)
with
and
While for \(\frac{\pi }{4}<\pm \mid \arg z\mid \le \frac{3\pi }{4}\), the following expressions are used for f(z) and g(z):
Similar to the implementation of the series for small |z|, the index-dependent numerical factors in the above expressions can be calculated in advance to improve the efficiency.
Accuracy degradation was found for input values of ∣ arg z ∣ near the real and the imaginary axes. For S(z) the present algorithm is applicable for \(3\times {10}^{-4}<\left|\frac{y}{x}\right|<2\times {10}^3\) where z = x + iy. While for C(z), the algorithm is applicable for \(4\times {10}^{-4}<\left|\frac{y}{x}\right|<2.2\times {10}^3\).
3.3 Intermediate range of |z|
3.3.1 Real input (z = x)
For the intermediate range of a real input variable, z = x, the present algorithm makes use of Chebyshev subinterval polynomial approximations with a combination of linear and nonlinear mapping. As Fresnel’s integrals are odd functions, we focus on the calculation of the functions for xϵ [0, ∞] and use the symmetry relations to extend the calculation to the x < 0.0 domain. Accordingly, for unbound variables like our case, where xϵ [0, ∞], various nonlinear mapping transformations can be used to map the infinite range to a finite one. Herein, we nonlinearly map the independent variable xϵ [0, ∞] to the variable tϵ [0, 1] where:
where c is a constant. To cover the whole domain of xϵ [0, ∞], the domain of tϵ [0, 1] is divided into a number of equal subintervals of borders bi and b(i+1) where bi + 1 − bi = bi − bi − 1. A linear transformation is then used to map it into the range [−1, 1] where:
The domain of t is divided into 200 equal-sized regions where a Chebyshev polynomial P(t) is obtained to approximate the original function to the sought accuracy for the precision arithmetic under consideration in each region. A significant effort is devoted to choose a suitable value of the constant c = 1.9 to secure the targeted accuracy for the planned power of the polynomial for the subintervals. Clearly, the degree of the polynomial is precision-dependent as shown in Table 1.
It has to be mentioned at this point that one can also calculate the functions to such high accuracy ~31 SD using the expression/expansion in terms of the half-integer order Bessel functions of the first kind as explained in the next subsection; however, it was found that the Chebyshev subintervals polynomial approximation is more efficient for real argument z = x.
3.3.2 Complex input (z = x + iy)
For complex input values z = x + iy, Fresnel integrals can be expressed in terms of half-integer order Bessel functions of the first kind, where:
The half-integer order Bessel functions in the above series follow the standard recurrence relation:
with \({J}_{k+\frac{1}{2}}(z)\to 0\) as k → ∞.
In practical computation, the above series are truncated at an appropriate order k = K, and the string of half-integer order Bessel functions, for a specific value of z, is computed efficiently by Miller’s algorithm [37]. Miller’s algorithm uses the standard recurrence relation in reverse order from k = K down to k = 0.
The use of conventional backward recurrence method requires a recurrence connecting successive elements of the sequence in addition to some normalizing relation such as a generating function or a single function value, if the recurrence is homogeneous.
Scaling the Bessel functions in Eqs. (35), (36) by a constant E (z) where \({J}_{k+\frac{1}{2}}(z)=E(z){F}_{k+\frac{1}{2}}(z)\), the recurrence relation (37) can be written for the sequence of functions \({F}_{k+\frac{1}{2}}(z)\) as:
Miller’s scheme assigns \({F}_{K+\frac{1}{2}}(z)=1\) and \({F}_{\left(K+1\right)+\frac{1}{2}}(z)\)=0 and uses the recurrence to compute \({F}_{\left(K-1\right)+\frac{1}{2}}\), \({F}_{\left(K-2\right)+\frac{1}{2}}\), …, \({F}_{(0)+\frac{1}{2}}\).
For complex argument, it is convenient to find the normalized Bessel function by the aid of the lowest order Bessel function where:
or
A central point is applying Miller’s algorithm is the choice of the “seed” order k = K needed to secure the targeted accuracy. When the required is the absolute value of the individual Bessel functions, one may reasonably take the seed order K such that \({J}_{K+\frac{1}{2}}(z)={10}^{-M}\)which implies that the error in each of the individual Bessel functions for k < K using Miller’s algorithm will be of the order of 10−M. However, for cases like our case where we are interested in the sum of the Bessel functions, one may satisfactorily take the seed order K such that \({J}_{K+\frac{1}{2}}(z)=\varepsilon\) where ε is the distance from 1.0 to the next larger floating point number in the precision under consideration. Since we are interested herein in calculating the sum of Bessel’s function, then to find the seed order k = K from which we start the backward recurrence according to Miller’s algorithm, one may set the term \({J}_{\nu}\approx \frac{{\left(z/2\right)}^{\nu }}{\Gamma \left(\nu +1\right)}=\varepsilon\), where Γ is the gamma function, and solve this transcendental equation, then K can be taken conservatively as the ceiling of the real value of ν. As can be seen in Fig. 1, the outmost border for using Miller’s algorithm for backtracking with single or double precision can be conservatively given by the equation:
and for quadruple precision by:
4 Accuracy and efficiency comparison
The present algorithms for Fresnel integrals S(x), C(x), S(z), and C(z) have been implemented into a modern Fortran elemental module. The module can be run using single-, double-, and quadruple-precision arithmetic. Accuracy check for S(x) and C(x) is performed for both functions using an array of 400,001 points uniformly spaced on the logarithmic scale between 10−30 and 106. The corresponding reference points were generated using the Maple mathematics symbolic software. The maximum absolute of relative error obtained for quadruple precision is in the order of 10−28 as shown in Fig. 2. When using double precision arithmetic, the maximum absolute of the relative error obtained rises to 10−10. This order of the absolute of the relative error when using double precision is the same as obtained from using Algorithm 723 [38] (based on Cody’s approximations (2)) as shown in Fig. 3. For better readability of Fig. 3, only 1600 points uniformly selected from the above mentioned 400,001 are used to show the accuracy comparison in Fig. 3. For several decades of small x, values, the relative error in calculating C(x) using the present algorithm is effectively zero.
The present authors are not aware of any competitive code in a compiled language that calculates S(x) and C(x) to accuracies in the range of 10−28, obtained by the present algorithms and computer code. Accordingly, the performance benchmark is achieved herein with comparison to results from Algorithm 723 using double precision arithmetic. Due to the relatively short time per evaluation, the abovementioned 400,001 points are evaluated tens of times, and the average CPU time per evaluation is reported in Table 2. Timing results in Table 2 are obtained using two compilers: the GNU Fortran 6.4.0 (gfortran) and the Intel 2021.6.0 classic (ifort) compilers. As the table shows, the present Fortran code is faster than Algorithm 723 by more than 70% when using “gfortran” where improvements by a factor of 2 are obtained when using the “ifort” compiler.
Figures 4 and 5 show performance tests for each decade between 10−30 and 106 for both the Fresnel sine (part a) and Fresnel cosine (part b) using the “gfortran” and “ifort” Fortran compilers, respectively.
For complex arguments z = x + iy, y ≠ 0, accuracy check of the present functions S(z) and C(z) is performed using an array of 39,139 points for x and y ranging between 10−6 and 102 and uniformly spaced on the logarithmic scale, with the exclusion of points resulting in real and/or imaginary parts of the functions of magnitude larger than the largest finite floating point number using double precision arithmetic. Similar to the case of real input, the maximum absolute relative error obtained using quadruple precision is in the order of 10−28, and for double precision, it is in the order of 10−10 using the constraints \(3\times {10}^{-4}<\left|\frac{y}{x}\right|<2\times {10}^3\)for S(z) and \(4\times {10}^{-4}<\left|\frac{y}{x}\right|<2.2\times {10}^3\) for C(z).
Figures 6 and 7 show three-dimensional surface plots for the absolute of the relative error obtained in calculating the real and the imaginary parts of the functions S(z) and C(z) using double and quadruple precision, respectively. The range of the input values of x and y shown in Fig. 6 is xϵ[10−2, 15] and yϵ[10−2, 15]. Values of\(\mathfrak{R}\left(S(z)\right),\mathfrak{I}\left(S(z)\right),\mathfrak{R}\left(C(z)\right),\) and \(\mathfrak{I}\left(C(z)\right)\) corresponding to z = 15 + 15i is approximately equal to the largest finite floating point number in the double precision arithmetic. Evaluating these functions for input arguments of larger x and y would require the use of higher precision. The range of the input values of x and y shown in Fig. 7 is xϵ[10−2, 80] and yϵ[10−2, 80], and as a result, quadruple precision arithmetic has been used in calculating the data used in generating these figures.
5 Conclusions
Numerical algorithms for efficient and highly accurate computations of Fresnel’s sine and cosine integrals S(z) and C(z) for real and complex arguments have been developed and implemented in an elemental Fortran module. The algorithms are more accurate, and the relevant Fortran implementation is more efficient than other competitive codes used for real arguments in the literature. The present algorithms, the Fortran implementation, are exceptional in calculating the functions, for most of the domain of interest, to accuracies in the order of 10−28 both for real and complex arguments. Efficiency improvements, between 70 and 100%, compared to competitive algorithms in the literature are obtained when using double-precision arithmetic, depending on the compiler used. The developed Fortran computer code can be run in single, double, or quad precision at the convenience of the user by the choice of an integer “rk” in a subsidiary module “set_rk.” Although, single precision arithmetic produces results with accuracies in the range of 10−4 for real arguments in the range of x < 106, it is not recommended for complex arguments due to deterioration in accuracy.
Data Availability
Modern Fortran implementation of the algorithms is available upon request from the first author.
References
Clenshaw, C.W., Miller, G.F., Woodger, M.: Algorithms for special functions I. Numer. Math. 4, 403–419 (1963)
Cody, W.J.: Chebyshev approximations for the Fresnel integrals. Math. Comp. 22, 450–453 (1968)
Cody, W.J.: Rational Chebyshev approximations for the error function. Math. Comp. 631–638 (1969)
Gautschi, W.: Algorithm 363-Complex error function. Commun. ACM. 12, 635 (1969)
Luke, Y.L.: The special functions and their approximations, vols. 1, 2. Academic Press, New York (1969)
Stegun, I.A., Zucker, R.: Automatic computing methods for special functions. J. Res. Nat. Bur. Standards B. 74, 211–224 (1970)
Olver, F.W.J.: Asymptotics and special functions. Academic Press, New York (1974)
Cody, W.J.: The FUNPACK package of special function routines. ACM Trans. Math. Software. 1, 13–25 (1975)
Gautschi, W.: Computational methods in special functions—a survey. In: Theory and application of special functions, Proc. Advanced Sem., Math. Res. Center, pp. 1–98. Univ. Wisconsin Madison, Wis., Academic Press, New York (1975)
Schonfelder, J.L.: The production of special function routines for a multi-machine library. Software—Pract. Exp. 6, 71–82 (1976)
Amos, D.E., Daniel, S.L., and Weston, M.K.: Algorithm 511. CDC 6600 subroutines IBESS and JBESS for Bessel functions Iν(x) and Jν(x), x ≥ 0, ν ≥ 0, ACM Trans. Math. Software 3 (1977), 93–95, for erratum see same journal. 4, 411 (1978)
Amos, D.E., Daniel, S.L., Weston, M.K.: CDC 6600 subroutines IBESS and JBESS for Bessel functions Iν(x) and Jν(x), x ≥ 0, ν ≥ 0. ACM Trans. Math. Software. 3, 76–92 (1977)
Fullerton, L.W.: Portable special function routines. In: Cowell, W.R. (ed.) Lecture Notes in Computer Science 57: Portability of Numerical Software (Oak Brook 1976), pp. 452–483. Springer-Verlag, Berlin (1977)
Amos, D.E., and Daniel, S.L.: AMOSLIB, 1979., a special function library, version 9/77, Report 77-1390, Sandia Laboratories, August. (1979)
Ditkin, A., Karpov, K.A., Kerimov, M.K.: The computation of special functions, U.S.S.R. Comput. Math. and Math. Phys. 20(5), 3–12 (1981)
Amos, D.E.: Algorithm 556. Exponential integrals, ACM Trans. Math. Software 6 (1980), 420–428, for remark see same journal. 9, 525 (1983)
Cody, J.: FUNPACK—a package of special function routines. In: Cowell, W.R. (ed.) Sources and Development of Mathematical Software, pp. 49–67. Prentice-Hall, Inc., Englewood Cliffs, New Jersey (1984)
van der Laan, C.G., Temme, N.M.: Calculation of special functions: the gamma function, the exponential integrals and error-like functions, CWI Tract, vol. 10. Centrum voor Wiskunde en Informatica, Amsterdam (1984)
N´emeth, G.: Mathematical approximation of special functions: ten papers on Chebyshev expansions, Nova Science Publishers Inc., Commack, NY (1992)
Cody, W.J.: Algorithm 715: SPECFUN—a portable Fortran package of special function routines and Test Drivers. ACM Trans. Math. Softw. 19(1), 22–32 (1993)
Lozier, D.W., Olver, F.W.J.: Numerical evaluation of special functions, Mathematics of Computation 1943–1993: a Half-Century of Computational Mathematics. In: Gautschi, W. (ed.) Proceedings of Symposia in Applied Mathematics, vol. 48, pp. 79–125. American Mathematical Society, Providence, Rhode Island 02940 (1994) See also http://math.nist.gov/nesf/
Zhang, S., Jin, J.: Computation of special functions. John Wiley & Sons Inc., New York (1996) Includes diskette with Fortran programs
MacLeod, J.: Algorithm 757: MISCFUN, a software package to compute uncommon special functions. ACM Trans. Math. Software. 22, 288–301 (1996)
Lake, G., Quinn, T., Richardson, D.C.: From Sir Isaac to the Sloan survey: calculating thestructure and chaos due to gravity in the universe. In: Proc. of the 8th ACM-SIAM Symposium on Discrete Algorithms, pp. 1–10. SIAM, Philadelphia (1997)
Hauschildt, P.H., Baron, E.: Numerical solution of the expanding stellar atmosphere problem. J. Comput. Appl. Math. 109(1-2), 41–63 (1999)
Frolov, A.M., Bailey, D.H.: Highly accurate evaluation of the few-body auxiliary functions and four-body integrals. J. Phys. B: At. Mol. Opt. Phys. 36, 1857–1867 (2003)
He, Y., Ding, C.H.Q.: Using accurate arithmetics to improve numerical reproducibility and stability in parallel applications. J Supercomput. 18, 259–277 (2001)
Bailey, D.H., Borwein, J.M.: High-precision arithmetic in mathematical physics. Mathematics. 3(2), 337–367 (2015). https://doi.org/10.3390/math3020337
Abramowitz, M., Stegun, I.A.: Handbook of Mathematical Functions. National Bureau of Standards, AMS55, New York (1964)
Olver, F.W.J., Olde Daalhuis, A.B., Lozier, D.W., Schneider, B.I., Boisvert, R.F., Clark, C.W., Miller, B.R., Saunders, B.V., Cohl, H.S., and McClain, M.A., eds.: [DLMF] NIST Digital Library of Mathematical Functions: chapter 7. https://dlmf.nist.gov/7, Release 1.1.10 of 2023-06-15
Zwillinger, D.: Editor-in-Chief, CRC Standard Mathematical Tables and Formulae 31th Edition. CRC Press, 2003, ISBN ISBN-10: 1584882913 (2003)
Zaghloul, M.R., and Ali, A.N.: Algorithm 916: computing the Faddeyeva and Voigt functions. ACM Trans. Math. Software (TOMS). Vol. 38, No. 2, article 15:1-22 (2011)
Zaghloul, M.R.: Remark on “Algorithm 916: computing the Faddeyeva and Voigt functions”: efficiency improvements and Fortran translation. ACM Trans. Math. Software (TOMS), Vol. 42, No. 3, Article 26:1-9 (2016)
Zaghloul, M.R.: Algorithm 985: simple, efficient and relatively accurate approximation for the evaluation of Faddeyeva function ACM Transactions on Mathematical Software, Vol. 44, No. 2, Article 22 (2017)
Zaghloul, M.R.: Remark on “Algorithm 680: evaluation of the complex error function”: cause and remedy for the loss of accuracy near the real axis. ACM Transactions on Mathematical Software (TOMS). 45(2) 1-3 (2019)
Johnson, S.G.: “Faddeeva Package, a free/open-source C++ software to compute the various error functions of arbitrary complex arguments,” Massachusetts Institute of Technology, Cambridge, MA, USA. http://ab-initio.mit.edu/wiki/index.php/Faddeeva_Package
MILLER, J.C.P.: British Association for the Advancement of Science Mathematical Tables. Part II, Functions of Positive Integer Order, Cambridge University Press, Cambridge, Vol. X. Bessel Functions (1952)
van Snyder, W.: Algorithm 723: Fresnel integrals. ACM Trans. Math. Softw. 19(4), 452–456 (1993)
Acknowledgements
The authors would like to acknowledge the comments and suggestions received from the anonymous referee. The authors would also like to acknowledge the help of the SURE+ team (Sara Alkaabi, Rabab Alnajjar, and Wadima Alfalasi) at the early stages of this work. The first author is deeply appreciative of the warm hospitality extended by Professor Jingfang Huang during his time at UNC Chapel Hill, where a substantial part of this research was conducted.
Funding
This work is partially supported by the UAE University SURE PLUS research grant number 2062, 2022 and UPAR research grant number 2278, 2023.
Author information
Authors and Affiliations
Contributions
The authors contributed equally to this work.
Corresponding author
Ethics declarations
Ethical approval
The authors declare that they followed all the rules of a good scientific practice.
Competing interests
The authors declare no competing interests.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Zaghloul, M.R., Alrawas, L. Calculation of Fresnel integrals of real and complex arguments up to 28 significant digits. Numer Algor 96, 489–506 (2024). https://doi.org/10.1007/s11075-023-01654-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11075-023-01654-2