diff --git a/changelog b/changelog index 45e1388..f018a38 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20080119 tpd src/input/Makefile add e1.input regression test file +20080119 tpd src/input/e1.input create A&S reference regression for E1 +20080119 tpd src/algebra/special.spad add E1 function 20080112 tpd src/input/besselk.input complex gamma A&S reference regression 20080110 tpd src/input/Makefile add new regression test files 20080110 tpd src/input/asinhatanh.input create A&S reference regression diff --git a/src/algebra/special.spad.pamphlet b/src/algebra/special.spad.pamphlet index 0fe76ca..241d23e 100644 --- a/src/algebra/special.spad.pamphlet +++ b/src/algebra/special.spad.pamphlet @@ -2,7 +2,7 @@ \usepackage{axiom} \begin{document} \title{\$SPAD/src/algebra special.spad} -\author{Bruce W. Char, Stephen M. Watt} +\author{Bruce W. Char, Timothy Daly, Stephen M. Watt} \maketitle \begin{abstract} \end{abstract} @@ -12,9 +12,9 @@ \section{package DFSFUN DoubleFloatSpecialFunctions} <>= )abbrev package DFSFUN DoubleFloatSpecialFunctions -++ Author: Bruce W. Char, Stephen M. Watt +++ Author: Bruce W. Char, Timothy Daly, Stephen M. Watt ++ Date Created: 1990 -++ Date Last Updated: June 25, 1991 +++ Date Last Updated: Jan 19, 2008 ++ Basic Operations: ++ Related Domains: ++ Also See: @@ -32,156 +32,472 @@ DoubleFloatSpecialFunctions(): Exports == Impl where C ==> Complex DoubleFloat Exports ==> with - Gamma: R -> R - ++ Gamma(x) is the Euler gamma function, \spad{Gamma(x)}, defined by - ++ \spad{Gamma(x) = integrate(t^(x-1)*exp(-t), t=0..%infinity)}. - Gamma: C -> C - ++ Gamma(x) is the Euler gamma function, \spad{Gamma(x)}, defined by - ++ \spad{Gamma(x) = integrate(t^(x-1)*exp(-t), t=0..%infinity)}. - - Beta: (R, R) -> R - ++ Beta(x, y) is the Euler beta function, \spad{B(x,y)}, defined by - ++ \spad{Beta(x,y) = integrate(t^(x-1)*(1-t)^(y-1), t=0..1)}. - ++ This is related to \spad{Gamma(x)} by - ++ \spad{Beta(x,y) = Gamma(x)*Gamma(y) / Gamma(x + y)}. - Beta: (C, C) -> C - ++ Beta(x, y) is the Euler beta function, \spad{B(x,y)}, defined by - ++ \spad{Beta(x,y) = integrate(t^(x-1)*(1-t)^(y-1), t=0..1)}. - ++ This is related to \spad{Gamma(x)} by - ++ \spad{Beta(x,y) = Gamma(x)*Gamma(y) / Gamma(x + y)}. - - logGamma: R -> R - ++ logGamma(x) is the natural log of \spad{Gamma(x)}. - ++ This can often be computed even if \spad{Gamma(x)} cannot. - logGamma: C -> C - ++ logGamma(x) is the natural log of \spad{Gamma(x)}. - ++ This can often be computed even if \spad{Gamma(x)} cannot. - - digamma: R -> R - ++ digamma(x) is the function, \spad{psi(x)}, defined by - ++ \spad{psi(x) = Gamma'(x)/Gamma(x)}. - digamma: C -> C - ++ digamma(x) is the function, \spad{psi(x)}, defined by - ++ \spad{psi(x) = Gamma'(x)/Gamma(x)}. - - polygamma: (NNI, R) -> R - ++ polygamma(n, x) is the n-th derivative of \spad{digamma(x)}. - polygamma: (NNI, C) -> C - ++ polygamma(n, x) is the n-th derivative of \spad{digamma(x)}. - - - besselJ: (R,R) -> R - ++ besselJ(v,x) is the Bessel function of the first kind, - ++ \spad{J(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. - besselJ: (C,C) -> C - ++ besselJ(v,x) is the Bessel function of the first kind, - ++ \spad{J(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. - - besselY: (R, R) -> R - ++ besselY(v,x) is the Bessel function of the second kind, - ++ \spad{Y(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. - ++ Note: The default implementation uses the relation - ++ \spad{Y(v,x) = (J(v,x) cos(v*%pi) - J(-v,x))/sin(v*%pi)} - ++ so is not valid for integer values of v. - besselY: (C, C) -> C - ++ besselY(v,x) is the Bessel function of the second kind, - ++ \spad{Y(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. - ++ Note: The default implementation uses the relation - ++ \spad{Y(v,x) = (J(v,x) cos(v*%pi) - J(-v,x))/sin(v*%pi)} - ++ so is not valid for integer values of v. - - besselI: (R,R) -> R - ++ besselI(v,x) is the modified Bessel function of the first kind, - ++ \spad{I(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. - besselI: (C,C) -> C - ++ besselI(v,x) is the modified Bessel function of the first kind, - ++ \spad{I(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. - - besselK: (R, R) -> R - ++ besselK(v,x) is the modified Bessel function of the second kind, - ++ \spad{K(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. - ++ Note: The default implementation uses the relation - ++ \spad{K(v,x) = %pi/2*(I(-v,x) - I(v,x))/sin(v*%pi)}. - ++ so is not valid for integer values of v. - besselK: (C, C) -> C - ++ besselK(v,x) is the modified Bessel function of the second kind, - ++ \spad{K(v,x)}. - ++ This function satisfies the differential equation: - ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. - ++ Note: The default implementation uses the relation - ++ \spad{K(v,x) = %pi/2*(I(-v,x) - I(v,x))/sin(v*%pi)} - ++ so is not valid for integer values of v. + Gamma: R -> R + ++ Gamma(x) is the Euler gamma function, \spad{Gamma(x)}, defined by + ++ \spad{Gamma(x) = integrate(t^(x-1)*exp(-t), t=0..%infinity)}. + Gamma: C -> C + ++ Gamma(x) is the Euler gamma function, \spad{Gamma(x)}, defined by + ++ \spad{Gamma(x) = integrate(t^(x-1)*exp(-t), t=0..%infinity)}. + + E1: R -> R + ++ E1(x) is the Exponential Integral function + ++ The current implementation is a piecewise approximation + ++ involving one poly from -4..4 and a second poly for x > 4 + + Beta: (R, R) -> R + ++ Beta(x, y) is the Euler beta function, \spad{B(x,y)}, defined by + ++ \spad{Beta(x,y) = integrate(t^(x-1)*(1-t)^(y-1), t=0..1)}. + ++ This is related to \spad{Gamma(x)} by + ++ \spad{Beta(x,y) = Gamma(x)*Gamma(y) / Gamma(x + y)}. + Beta: (C, C) -> C + ++ Beta(x, y) is the Euler beta function, \spad{B(x,y)}, defined by + ++ \spad{Beta(x,y) = integrate(t^(x-1)*(1-t)^(y-1), t=0..1)}. + ++ This is related to \spad{Gamma(x)} by + ++ \spad{Beta(x,y) = Gamma(x)*Gamma(y) / Gamma(x + y)}. + + logGamma: R -> R + ++ logGamma(x) is the natural log of \spad{Gamma(x)}. + ++ This can often be computed even if \spad{Gamma(x)} cannot. + logGamma: C -> C + ++ logGamma(x) is the natural log of \spad{Gamma(x)}. + ++ This can often be computed even if \spad{Gamma(x)} cannot. + + digamma: R -> R + ++ digamma(x) is the function, \spad{psi(x)}, defined by + ++ \spad{psi(x) = Gamma'(x)/Gamma(x)}. + digamma: C -> C + ++ digamma(x) is the function, \spad{psi(x)}, defined by + ++ \spad{psi(x) = Gamma'(x)/Gamma(x)}. + + polygamma: (NNI, R) -> R + ++ polygamma(n, x) is the n-th derivative of \spad{digamma(x)}. + polygamma: (NNI, C) -> C + ++ polygamma(n, x) is the n-th derivative of \spad{digamma(x)}. + + besselJ: (R,R) -> R + ++ besselJ(v,x) is the Bessel function of the first kind, + ++ \spad{J(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. + besselJ: (C,C) -> C + ++ besselJ(v,x) is the Bessel function of the first kind, + ++ \spad{J(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. + + besselY: (R, R) -> R + ++ besselY(v,x) is the Bessel function of the second kind, + ++ \spad{Y(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. + ++ Note: The default implementation uses the relation + ++ \spad{Y(v,x) = (J(v,x) cos(v*%pi) - J(-v,x))/sin(v*%pi)} + ++ so is not valid for integer values of v. + besselY: (C, C) -> C + ++ besselY(v,x) is the Bessel function of the second kind, + ++ \spad{Y(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) + (x^2-v^2)w(x) = 0}. + ++ Note: The default implementation uses the relation + ++ \spad{Y(v,x) = (J(v,x) cos(v*%pi) - J(-v,x))/sin(v*%pi)} + ++ so is not valid for integer values of v. + + besselI: (R,R) -> R + ++ besselI(v,x) is the modified Bessel function of the first kind, + ++ \spad{I(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. + besselI: (C,C) -> C + ++ besselI(v,x) is the modified Bessel function of the first kind, + ++ \spad{I(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. + + besselK: (R, R) -> R + ++ besselK(v,x) is the modified Bessel function of the second kind, + ++ \spad{K(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. + ++ Note: The default implementation uses the relation + ++ \spad{K(v,x) = %pi/2*(I(-v,x) - I(v,x))/sin(v*%pi)}. + ++ so is not valid for integer values of v. + besselK: (C, C) -> C + ++ besselK(v,x) is the modified Bessel function of the second kind, + ++ \spad{K(v,x)}. + ++ This function satisfies the differential equation: + ++ \spad{x^2 w''(x) + x w'(x) - (x^2+v^2)w(x) = 0}. + ++ Note: The default implementation uses the relation + ++ \spad{K(v,x) = %pi/2*(I(-v,x) - I(v,x))/sin(v*%pi)} + ++ so is not valid for integer values of v. airyAi: C -> C - ++ airyAi(x) is the Airy function \spad{Ai(x)}. - ++ This function satisfies the differential equation: - ++ \spad{Ai''(x) - x * Ai(x) = 0}. + ++ airyAi(x) is the Airy function \spad{Ai(x)}. + ++ This function satisfies the differential equation: + ++ \spad{Ai''(x) - x * Ai(x) = 0}. airyAi: R -> R - ++ airyAi(x) is the Airy function \spad{Ai(x)}. - ++ This function satisfies the differential equation: - ++ \spad{Ai''(x) - x * Ai(x) = 0}. + ++ airyAi(x) is the Airy function \spad{Ai(x)}. + ++ This function satisfies the differential equation: + ++ \spad{Ai''(x) - x * Ai(x) = 0}. airyBi: R -> R - ++ airyBi(x) is the Airy function \spad{Bi(x)}. - ++ This function satisfies the differential equation: - ++ \spad{Bi''(x) - x * Bi(x) = 0}. + ++ airyBi(x) is the Airy function \spad{Bi(x)}. + ++ This function satisfies the differential equation: + ++ \spad{Bi''(x) - x * Bi(x) = 0}. airyBi: C -> C - ++ airyBi(x) is the Airy function \spad{Bi(x)}. - ++ This function satisfies the differential equation: - ++ \spad{Bi''(x) - x * Bi(x) = 0}. + ++ airyBi(x) is the Airy function \spad{Bi(x)}. + ++ This function satisfies the differential equation: + ++ \spad{Bi''(x) - x * Bi(x) = 0}. - hypergeometric0F1: (R, R) -> R - ++ hypergeometric0F1(c,z) is the hypergeometric function - ++ \spad{0F1(; c; z)}. - hypergeometric0F1: (C, C) -> C - ++ hypergeometric0F1(c,z) is the hypergeometric function - ++ \spad{0F1(; c; z)}. + hypergeometric0F1: (R, R) -> R + ++ hypergeometric0F1(c,z) is the hypergeometric function + ++ \spad{0F1(; c; z)}. + hypergeometric0F1: (C, C) -> C + ++ hypergeometric0F1(c,z) is the hypergeometric function + ++ \spad{0F1(; c; z)}. Impl ==> add - a, v, w, z: C - n, x, y: R + a, v, w, z: C + n, x, y: R -- These are hooks to Bruce's boot code. - Gamma z == CGAMMA(z)$Lisp - Gamma x == RGAMMA(x)$Lisp - - polygamma(k,z) == CPSI(k, z)$Lisp - polygamma(k,x) == RPSI(k, x)$Lisp - - logGamma z == CLNGAMMA(z)$Lisp - logGamma x == RLNGAMMA(x)$Lisp + Gamma z == CGAMMA(z)$Lisp + Gamma x == RGAMMA(x)$Lisp - besselJ(v,z) == CBESSELJ(v,z)$Lisp - besselJ(n,x) == RBESSELJ(n,x)$Lisp - - besselI(v,z) == CBESSELI(v,z)$Lisp - besselI(n,x) == RBESSELI(n,x)$Lisp +@ +\section{The Exponential Integral} +(Quoted from Segletes\cite{2}): + +A number of useful integrals exist for which no exact solutions have +been found. In other cases, an exact solution, if found, may be +impractical to utilize over the complete domain of the function +because of precision limitations associated with what usually ends up +as a series solution to the challenging integral. For many of these +integrals, tabulated values may be published in various mathematical +handbooks and articles. In some handbooks, fits (usually piecewise) +also are offered. In some cases, an application may be forced to +resort to numerical integration in order to acquire the integrated +function. In this context, compact ({\sl i.e.} not piecewise) +analytical fits to some of these problematic integrals, accurate to +within a small fraction of the numerically integrated value, serve as +a useful tool to applications requiring the results of the +integration, especially when the integration is required numerous +times throughout the course of the application. Furthermore, the +ability and methodology to develop intelligent fits, in contract to +the more traditional ``brute force'' fits, provide the means to +minimize parameters and maximize accuracy when tackling some of these +difficult functions. The exponential integral will be used as an +opportunity to both demonstrate a methodology for intelligent fitting +as well as for providing an accurate, compact, analytical fit to the +exponential integral. + +The exponential integral is a useful class of functions that arise in +a variety of applications [...]. The real branch of the family of +exponential integrals may be defined as +\begin{equation} +E_n(x)=x^{n-1}\int_x^\infty{\frac{e^{-t}}{t^n}\ dt} +\end{equation} +where $n$, a positive integer, denotes the specific member of the +exponential integral family. The argument of the exponential integral, +rather than expressing a lower limit of integration as in (1), +may be thought of as describing the exponential decay +constant, as given in this equivalent (and perhaps more popular) +definition of the integral: +\begin{equation} +E_n(x)=\int_1^\infty{\frac{e^{-xt}}{t^n}\ dt} +\end{equation} + +Integration by parts permits any member of the exponential integral +family to be converted to an adjacent member of the family, by way of +\begin{equation} +\int_x^\infty{\frac{e^{-t}}{t^{n+1}}\ dt}=\frac{1}{n} +\left( +\frac{e^{-x}}{x^n}-\int_x^\infty{\frac{e^{-t}}{t^n}\ dt} +\right) +\end{equation} +expressable in terms of $E_n$ as +\begin{equation} +E_{n+1}(x)=\frac{1}{n}\left[e^{-x}-xE_n(x)\right]\ (n=1,2,3) +\end{equation} + +Through recursive employment of this equation, all members of the +exponential integral family may be analytically related. However, this +technique only allows for the transformation of one integral into +another. There remains the problem of evaluating $E_1(x)$. There is an +exact solution to the integral of $(e^{-t}/t)$, appearing in a number +of mathematical references \cite{4,5} which is obtainable by +expanding the exponential into a power series and integrating term by +term. That exact solution, which is convergent, may be used to specify +$E_1(x)$ as +\begin{equation} +E_1(x)=-\gamma-ln(x) ++\frac{x}{1!} +-\frac{x^2}{2\cdot 2!} ++\frac{x^3}{3\cdot 3!} +-\ldots +\end{equation} + +Euler's constant, $\gamma$, equal to $0.57721\ldots$, arises when the +power series expansion for $(e^{-t}/t)$ is integrated and evaluated at +its upper limit, as $x\rightarrow\infty$\cite{6}. + +Employing eqn (5), however, to evaluate $E_1(x)$ is problematic for +finite $x$ significantly larger than unity. One may well ask of the +need to evaluate the exponential integral for large $x$, since the +function to be integrated drops off so rapidly that the integral is +surely a very flat function. Such reasoning is true when comparing the +integrand at large $x$ to that at small $x$. However, the definition +of eqn (1) has as its upper limit not a small value of $x$, but rather +that of $\infty$. Therefore, the actual values for $E_n(x)$ are +extremely small numbers for large values of $x$. Thus, it is not +sufficient merely to select enough terms of eqn (5) to evaluate the +integral to within a value of, for example $\pm 0.0001$ because the +actual integral value for large $x$ would be smaller than this +arbitrary tolerance. To draw an analogy, it would be like saying that +it is good enough to approximate $e^{-x}$ as 0.0 for $x>10$, since its +actual value is within 0.0001 of zero. For some applications, such an +approximation may be warranted. In general, though, such an +approximation is mathematically unacceptable. Worse yet, as seen from +eqns (1) and (2), the need to evaluate the exponential integral for +large arguments can arise in real-world problems from either a large +integraion limit or a large value of an exponential decay +constant. Thus, the need to evaluate exponential integrals for large +values of the argument is established. It is here that the practical +problems with the evaluation of eqn (5) become manifest. + +First, the number of terms, $N$, required to achieve convergence rises +rapidly with increasing $x$, making the summation an inefficient tool, +even when expressed as a recursion relation (for three digits of +accuracy, $N$ is observed to vary roughly as $9+1.6x$, for $114$ in any case, and with the situation worsening for +lesser precision. For these reasons, the use of eqn (5) to evaluate +the exponential integral numerically for large $x$ is wholly +unsuitable. + +\begin{equation} +E_1(x)=e^{-x}\cdot +\frac{1}{\displaystyle x+ +\frac{1}{\displaystyle 1+ +\frac{1}{\displaystyle x+ +\frac{2}{\displaystyle 1+ +\frac{2}{\displaystyle x+\ldots}}}}} +\end{equation} + +But as $x$ becomes smaller, the number of terms required for +convergence rises quickly. Similar arguments apply for the use of an +asymptotic expansion for $E_1$, which also converges for large $x$. As +such, the more typical approach employed by handbooks is that of a +fit. While some steps are taken to make the fits intelligent ({\sl +e.g.}, transformation of variables), the fits are all piecewise over +the domain of the integral. + +Cody and Thatcher \cite{7} performed what is perhaps the definitive +work, with the use of Chebyshev approximations to the exponential +integral $E_1$. Like others, they fit the integral over a piecewise +series of subdomains (three in their case) and provide the fitting +parameters necessary to evaluate the function to various required +precisions, down to relative errors of $10^-20$. One of the problems +with piecewise fitting over two or more subdomains is that functional +value and derivatives of the spliced fits will not, in general, match +at the domain transition point, unless special accomodations are +made. This sort of discontinuity in functional value and/or slope, +curvature, {\sl etc.}, may cause difficulties for some numerical +algorithms operating upon the fitted function. Numerical +splicing/smoothing algorithms aimed at eliminating discontinuities in +the value and/or derivatives of a piecewise fit are not, in general, +computationally insignificant. Problems associated with piecewise +splicing of fits may also be obviated by obtaining an accurate enough +fit, such that the error is on the order of magnitude of the limiting +machine precision. This alternative, however, requires the use of +additional fitting parameters to acquire the improved precision. Thus, +regardless of approach, the desire to eliminate discontinuities in the +function and its derivatives, between piecewise splices, requires +extra computational effort. One final benefit to be had by avoiding +the use of piecewise fits is the concomitant avoidance of conditional +({\sl i.e.}, IF...THEN) programming statements in the coding of the +routine. The use of conditional statements can preclude maximum +computing efficiency on certain parallel computing architectures. + +Segletes constructs an analytic, non-piecewise fit to the Exponential +Integral but the precision is on the order of 4 decimal places and is +not sufficient to compare against the Abramowitz and Stegun Handbook. + +Instead we have chosen to use a two piece fitting function based on +the Chebyshev polynomial for computing $E_1$. This agrees with the +handbook values to almost the last published digit. See the {\tt e1.input} +pamphlet for regression testing against the handbook tables. + +\subsection{E1:R$\rightarrow$R} +The special function E1 below was originally derived from a function +written by T.Haavie as the {\tt expint.c} function in the Numlibc library +by Lars Erik Lund. Haavie approximates the E1 function by two +Chebyshev polynomials. For the range $-4 < x < 4$ the Chebyshev +coefficients are: +\begin{verbatim} + 7.8737715392882774, -8.0314874286705335, 3.8797325768522250, +-1.6042971072992259, 0.5630905453891458, -0.1704423017433357, + 0.0452099390015415, -0.0106538986439085, 0.0022562638123478, +-0.0004335700473221, 0.0000762166811878, -0.0000123417443064, + 0.0000018519745698, -0.0000002588698662, 0.0000000338604319, +-0.0000000041611418, 0.0000000004821606, -0.0000000000528465, + 0.0000000000054945, -0.0000000000005433, 0.0000000000000512, +-0.0000000000000046, 0.0000000000000004 +\end{verbatim} +and for the range $x > 4$ the Chebyshev coefficients are: +\begin{verbatim} + 0.2155283776715125, 0.1028106215227030, -0.0045526707131788, + 0.0003571613122851, -0.0000379341616932, 0.0000049143944914, +-0.0000007355024922, 0.0000001230603606, -0.0000000225236907, + 0.0000000044412375, -0.0000000009328509, 0.0000000002069297, +-0.0000000000481502, 0.0000000000116891, -0.0000000000029474, + 0.0000000000007691, -0.0000000000002070, 0.0000000000000573, +-0.0000000000000163, 0.0000000000000047, -0.0000000000000014, + 0.0000000000000004, -0.0000000000000001 +\end{verbatim} + +I've rewritten the polynomial to use precomputed coefficients +that take into account the scaling used by Haavie. I've also +rewritten the polynomial using Horner's method so the large +powers of $x$ are only computed once. - hypergeometric0F1(a,z) == CHYPER0F1(a, z)$Lisp - hypergeometric0F1(n,x) == retract hypergeometric0F1(n::C, x::C) +<>= + E1(x:R):R == + x = 0.0::R => error "E1 undefined at zero" + x > 4.0::R => + t1:R:=0.14999948967737774608E-15::R + t2:R:=0.9999999999993112::R + ta:R:=(t1*x+t2) + t3:R:=0.99999999953685760001::R + tb:R:=(ta*x-t3) + t4:R:=1.9999998808293376::R + tc:R:=(tb*x+t4) + t5:R:=5.999983407661056::R + td:R:=(tc*x-t5) + t6:R:=23.9985380938481664::R + te:R:=(td*x+t6) + t7:R:=119.9108830382784512::R + tf:R:=(te*x-t7) + t8:R:=716.01351020920176641::R + tg:R:=(tf*x+t8) + t9:R:=4903.3466623370985473::R + th:R:=(tg*x-t9) + t10:R:=36601.25841454446674::R + ti:R:=(th*x+t10) + t11:R:=279913.28608482691646::R + tj:R:=(ti*x-t11) + t12:R:=2060518.7020296525186::R + tk:R:=(tj*x+t12) + t13:R:=13859772.093039815059::R + tl:R:=(tk*x-t13) + t14:R:=81945572.630072918857::R + tm:R:=(tl*x+t14) + t15:R:=413965714.82128317479::R + tn:R:=(tm*x-t15) + t16:R:=1747209536.2595547568::R + to:R:=(tn*x+t16) + t17:R:=6036182333.96179427::R + tp:R:=(to*x-t17) + t18:R:=16693683576.106267572::R + tq:R:=(tp*x+t18) + t19:R:=35938625644.58286097::R + tr:R:=(tq*x-t19) + t20:R:=57888657293.609258888::R + ts:R:=(tr*x+t20) + t21:R:=65523779423.11290127::R + tt:R:=(ts*x-t21) + t22:R:=46422751473.201760309::R + tu:R:=(tt*x+t22) + t23:R:=15474250491.067253436::R + tv:R:=(tu*x-t23) + tw:R:=(-1.0::R*x) + (tv * exp(tw)::R)/x**22 + x > -4.0::R => + a1:R:=0.476837158203125E-22::R + a2:R:=0.10967254638671875E-20::R + aa:R:=(-a1*x+a2) + a3:R:=0.20217895507812500001E-19::R + ab:R:=(aa*x-a3) + a4:R:=0.42600631713867187501E-18::R + ac:R:=(ab*x+a4) + a5:R:=0.868625640869140625E-17::R + ad:R:=(ac*x-a5) + a6:R:=0.16553192138671875E-15::R + ae:R:=(ad*x+a6) + a7:R:=0.29870208740234375E-14::R + af:R:=(ae*x-a7) + a8:R:=0.5097890777587890625E-13::R + ag:R:=(af*x+a8) + a9:R:=0.81934069213867187499E-12::R + ah:R:=(ag*x-a9) + a10:R:=0.1235313123779296875E-10::R + ai:R:=(ah*x+a10) + a11:R:=0.1739729620849609375E-9::R + aj:R:=(ai*x-a11) + a12:R:=0.22774642697021484375E-8::R + ak:R:=(aj*x+a12) + a13:R:=0.275573192853515625E-7::R + al:R:=(ak*x-a13) + a14:R:=0.30619243635087890625E-6::R + am:R:=(al*x+a14) + a15:R:=0.000003100198412519140625::R + an:R:=(am*x-a15) + a16:R:=0.00002834467120045546875::R + ao:R:=(an*x+a16) + a17:R:=0.00023148148148176953125::R + ap:R:=(ao*x-a17) + a18:R:=0.0016666666666686609375::R + aq:R:=(ap*x+a18) + a19:R:=0.01041666666666646875::R + ar:R:=(aq*x-a19) + a20:R:=0.055555555555554168751::R + as:R:=(ar*x+a20) + a21:R:=0.2500000000000000375::R + at:R:=(as*x-a21) + a22:R:=1.000000000000000325::R + au:R:=(at*x+a22) + a23:R:=0.5772156649015328::R + av:R:=au*x-a23 + - 1.0::R*log(abs(x)) + av + error "E1: no approximation available" + + polygamma(k,z) == CPSI(k, z)$Lisp + polygamma(k,x) == RPSI(k, x)$Lisp + + logGamma z == CLNGAMMA(z)$Lisp + logGamma x == RLNGAMMA(x)$Lisp + + besselJ(v,z) == CBESSELJ(v,z)$Lisp + besselJ(n,x) == RBESSELJ(n,x)$Lisp + + besselI(v,z) == CBESSELI(v,z)$Lisp + besselI(n,x) == RBESSELI(n,x)$Lisp + + hypergeometric0F1(a,z) == CHYPER0F1(a, z)$Lisp + hypergeometric0F1(n,x) == retract hypergeometric0F1(n::C, x::C) -- All others are defined in terms of these. - digamma x == polygamma(0, x) - digamma z == polygamma(0, z) + digamma x == polygamma(0, x) + digamma z == polygamma(0, z) - Beta(x,y) == Gamma(x)*Gamma(y)/Gamma(x+y) - Beta(w,z) == Gamma(w)*Gamma(z)/Gamma(w+z) + Beta(x,y) == Gamma(x)*Gamma(y)/Gamma(x+y) + Beta(w,z) == Gamma(w)*Gamma(z)/Gamma(w+z) fuzz := (10::R)**(-7) @@ -192,7 +508,7 @@ DoubleFloatSpecialFunctions(): Exports == Impl where if integer? n then n := n + fuzz vp := n * pi()$R (cos(vp) * besselJ(n,x) - besselJ(-n,x) )/sin(vp) - besselY(v,z) == + besselY(v,z) == if integer? v then v := v + fuzz::C vp := v * pi()$C (cos(vp) * besselJ(v,z) - besselJ(-v,z) )/sin(vp) @@ -362,13 +678,13 @@ NumberTheoreticPolynomialFunctions(R: CommutativeRing): Exports == Impl where Exports ==> with cyclotomic: (NNI, R) -> R - ++ cyclotomic(n,r) \undocumented + ++ cyclotomic(n,r) \undocumented if R has Algebra RN then bernoulliB: (NNI, R) -> R - ++ bernoulliB(n,r) \undocumented + ++ bernoulliB(n,r) \undocumented eulerE: (NNI, R) -> R - ++ eulerE(n,r) \undocumented + ++ eulerE(n,r) \undocumented Impl ==> add @@ -451,6 +767,21 @@ NumberTheoreticPolynomialFunctions(R: CommutativeRing): Exports == Impl where @ \eject \begin{thebibliography}{99} -\bibitem{1} nothing +\bibitem{1} Segletes, Steven, B., ``A Compact Analytical Fit to the +Exponential Integral $E_1(x)$'', Army Research Laboratory, ARL-TR-1758, +September 1998 +\bibitem{2} Lund, Lars Erik, ``Numlibc'',\\ +{\bf http://www.math.ntnu.no/num/nnm/Program/Numlibc} +\bibitem{3} Haavie, T. ``expint.c'',\\ +{\bf http://www.math.ntnu.no/num/nnm/Program/Numlibc}, June, 1988 +\bibitem{4} Abramowitz and Stegun,``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp238-243 +\bibitem{5} Beyer, W.H. (ed.) CRC Standard Mathematical Tables. 26th +Edition, Boca Raton: CRC Press, 1981. +\bibitem{6} Pearson, C.E. (ed.) ``Handbook of Applied Mathematics; +Selected Results and Methods''. New York: van Nostrand Reinhold, 1983. +\bibitem{7} Cody, W.J., and H.C. Thatcher, Jr. ``Rational Chebyshev +Approximations for the Exponential Integral $E_1(x)$.'' +Mathematics of Computation, 11, pp. 641-649, 1968 \end{thebibliography} \end{document} diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 07fca93..fecb71d 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -302,7 +302,8 @@ REGRES= algaggr.regress algbrbf.regress algfacob.regress alist.regress \ cycles1.regress cycles.regress cyfactor.regress \ danzwill.regress decimal.regress defintef.regress defintrf.regress \ derham.regress dfloat.regress dhtri.regress divisor.regress \ - dmp.regress dpol.regress easter.regress efi.regress \ + dmp.regress dpol.regress e1.regress easter.regress \ + efi.regress \ eigen.regress elemfun.regress elemnum.regress elfuts.regress \ elt.regress eq.regress eqtbl.regress equation2.regress \ equation.regress evalex.regress eval.regress exdiff.regress \ @@ -538,7 +539,7 @@ FILES= ${OUT}/algaggr.input ${OUT}/algbrbf.input ${OUT}/algfacob.input \ ${OUT}/drawalg.input ${OUT}/drawcfn.input \ ${OUT}/drawcfun.input ${OUT}/drawcurv.input \ ${OUT}/draw.input ${OUT}/drawcx.input ${OUT}/drawex.input \ - ${OUT}/drawpoly.input ${OUT}/drawx.input \ + ${OUT}/drawpoly.input ${OUT}/drawx.input ${OUT}/e1.input \ ${OUT}/easter.input ${OUT}/efi.input ${OUT}/egg.input \ ${OUT}/eigen.input \ ${OUT}/elemfun.input ${OUT}/elemnum.input ${OUT}/elfuts.input \ @@ -772,7 +773,8 @@ DOCFILES= \ ${DOC}/e04fdf.input.dvi ${DOC}/e04gcf.input.dvi \ ${DOC}/e04jaf.input.dvi ${DOC}/e04mbf.input.dvi \ ${DOC}/e04naf.input.dvi ${DOC}/e04ucf.input.dvi \ - ${DOC}/e04ycf.input.dvi ${DOC}/easter.input.dvi \ + ${DOC}/e04ycf.input.dvi ${DOC}/e1.input.dvi \ + ${DOC}/easter.input.dvi \ ${DOC}/ecfact.as.dvi ${DOC}/efi.input.dvi \ ${DOC}/egg.input.dvi ${DOC}/eigen.input.dvi \ ${DOC}/elemfun.input.dvi ${DOC}/elemnum.input.dvi \ diff --git a/src/input/e1.input.pamphlet b/src/input/e1.input.pamphlet new file mode 100644 index 0000000..0c24a64 --- /dev/null +++ b/src/input/e1.input.pamphlet @@ -0,0 +1,1223 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/input e1.input} +\author{Timothy Daly} +\maketitle +\begin{abstract} +This is a regression test for E1(x) +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= +)spool e1.output +)set message test on +)set message auto off +)clear all + +@ +Here we enter the value of Gamma +<<*>>= +--S 1 of 6 +G:DFLOAT:=0.577215664901532860606512::DFLOAT +--R +--R (1) 0.57721566490153287 +--R Type: DoubleFloat +--E 1 +@ + +Since the E1 function varies over a couple hundred orders +of magnitude it is necessary to scale the computations to +put the results into a reasonable range. We use the function +listed in +Abramowitz and Stegun, ``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp238 +<<*>>= +--S 2 of 6 +f(x)==x^-1 * (E1(x) + log(x) + G) +--R Type: Void +--E 2 +@ + +This table computes the Exponential Integral $E1(x)$ for $x$ +in 0.01 to 0.50. Column 1 is the point of evaluation, column 2 +is the reference value of $E1(x)$ from the book +Abramowitz and Stegun, ``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp238 + +<<*>>= +--S 3 of 6 +[[0.01,0.9975055452, f(0.01), f(0.01)-0.9975055452],_ +[0.02,0.9950221392, f(0.02), f(0.02)-0.9950221392],_ +[0.03,0.9925497201, f(0.03), f(0.03)-0.9925497201],_ +[0.04,0.9900882265, f(0.04), f(0.04)-0.9900882265],_ +[0.05,0.9876375971, f(0.05), f(0.05)-0.9876375971],_ +[0.06,0.9851977714, f(0.06), f(0.06)-0.9851977714],_ +[0.07,0.9827686889, f(0.07), f(0.07)-0.9827686889],_ +[0.08,0.9803502898, f(0.08), f(0.08)-0.9803502898],_ +[0.09,0.9779425142, f(0.09), f(0.09)-0.9779425142],_ +[0.10,0.9755453033, f(0.10), f(0.10)-0.9755453033],_ +[0.11,0.9731585980, f(0.11), f(0.11)-0.9731585980],_ +[0.12,0.9707823399, f(0.12), f(0.12)-0.9707823399],_ +[0.13,0.9684164710, f(0.13), f(0.13)-0.9684164710],_ +[0.14,0.9660609336, f(0.14), f(0.14)-0.9660609336],_ +[0.15,0.9637156702, f(0.15), f(0.15)-0.9637156702],_ +[0.16,0.9613806240, f(0.16), f(0.16)-0.9613806240],_ +[0.17,0.9590557383, f(0.17), f(0.17)-0.9590557383],_ +[0.18,0.9567409569, f(0.18), f(0.18)-0.9567409569],_ +[0.19,0.9544362237, f(0.19), f(0.19)-0.9544362237],_ +[0.20,0.9521414833, f(0.20), f(0.20)-0.9521414833],_ +[0.21,0.9498566804, f(0.21), f(0.21)-0.9498566804],_ +[0.22,0.9475817603, f(0.22), f(0.22)-0.9475817603],_ +[0.23,0.9453166684, f(0.23), f(0.23)-0.9453166684],_ +[0.24,0.9430613506, f(0.24), f(0.24)-0.9430613506],_ +[0.25,0.9408157528, f(0.25), f(0.25)-0.9408157528],_ +[0.26,0.9385798221, f(0.26), f(0.26)-0.9385798221],_ +[0.27,0.9363535046, f(0.27), f(0.27)-0.9363535046],_ +[0.28,0.9341367481, f(0.28), f(0.28)-0.9341367481],_ +[0.29,0.9319294997, f(0.29), f(0.29)-0.9319294997],_ +[0.30,0.9297317075, f(0.30), f(0.30)-0.9297317075],_ +[0.31,0.9275433196, f(0.31), f(0.31)-0.9275433196],_ +[0.32,0.9253642845, f(0.32), f(0.32)-0.9253642845],_ +[0.33,0.9231945510, f(0.33), f(0.33)-0.9231945510],_ +[0.34,0.9210340684, f(0.34), f(0.34)-0.9210340684],_ +[0.35,0.9188827858, f(0.35), f(0.35)-0.9188827858],_ +[0.36,0.9167406533, f(0.36), f(0.36)-0.9167406533],_ +[0.37,0.9146076209, f(0.37), f(0.37)-0.9146076209],_ +[0.38,0.9124836388, f(0.38), f(0.38)-0.9124836388],_ +[0.39,0.9103686582, f(0.39), f(0.39)-0.9103686582],_ +[0.40,0.9082626297, f(0.40), f(0.40)-0.9082626297],_ +[0.41,0.9061655048, f(0.41), f(0.41)-0.9061655048],_ +[0.42,0.9040772350, f(0.42), f(0.42)-0.9040772350],_ +[0.43,0.9019977725, f(0.43), f(0.43)-0.9019977725],_ +[0.44,0.8999270693, f(0.44), f(0.44)-0.8999270693],_ +[0.45,0.8978650778, f(0.45), f(0.45)-0.8978650778],_ +[0.46,0.8958117511, f(0.46), f(0.46)-0.8958117511],_ +[0.47,0.8937670423, f(0.47), f(0.47)-0.8937670423],_ +[0.48,0.8917309048, f(0.48), f(0.48)-0.8917309048],_ +[0.49,0.8897032920, f(0.49), f(0.49)-0.8897032920],_ +[0.50,0.8876841584, f(0.50), f(0.50)-0.8876841584]] +--R +--R Compiling function f with type Float -> DoubleFloat +--R +--R (3) +--R [[1.0E-2,0.99750554520000001,0.99750554515544154,- 4.455846802642327E-11], +--R [2.0E-2,0.99502213920000004,0.99502213915481641,- 4.5183634611589696E-11], +--R +--R [2.9999999999999999E-2, 0.99254972009999998, 0.99254972009439713, +--R - 5.602851516073315E-12] +--R , +--R +--R [4.0000000000000001E-2, 0.99008822649999995, 0.99008822646530492, +--R - 3.4695024631048454E-11] +--R , +--R +--R [5.0000000000000003E-2, 0.98763759709999999, 0.98763759715033261, +--R 5.0332626955196247E-11] +--R , +--R +--R [5.9999999999999998E-2, 0.98519777139999998, 0.98519777142131459, +--R 2.1314616738266068E-11] +--R , +--R +--R [7.0000000000000007E-2, 0.98276868890000002, 0.98276868893648617, +--R 3.648614743667622E-11] +--R , +--R +--R [8.0000000000000002E-2, 0.98035028980000005, 0.98035028973773719, +--R - 6.2262861533213254E-11] +--R , +--R +--R [8.9999999999999997E-2, 0.9779425142, 0.97794251424804735, +--R 4.8047343881307825E-11] +--R , +--R +--R [0.10000000000000001, 0.9755453033, 0.97554530326877553, +--R - 3.1224467456070215E-11] +--R , +--R [0.11,0.97315859800000004,0.97315859797713988,- 2.2860158210846748E-11], +--R [0.12,0.97078233989999996,0.97078233992354002,2.3540058791127194E-11], +--R [0.13,0.96841647099999995,0.96841647102903816,2.9038216275978357E-11], +--R +--R [0.14000000000000001, 0.9660609336, 0.96606093358279166, +--R - 1.7208345859387464E-11] +--R , +--R +--R [0.14999999999999999, 0.96371567020000004, 0.96371567023951998, +--R 3.9519942873766922E-11] +--R , +--R [0.16,0.96138062400000002,0.96138062401698243,1.6982415473876245E-11], +--R +--R [0.17000000000000001, 0.95905573830000002, 0.95905573829349, +--R - 6.5100147494945304E-12] +--R , +--R +--R [0.17999999999999999, 0.95674095690000005, 0.9567409568054186, +--R - 9.4581453780051561E-11] +--R , +--R [0.19,0.95443622370000003,0.95443622364474956,- 5.525047086507584E-11], +--R +--R [0.20000000000000001, 0.95214148330000004, 0.9521414832566294, +--R - 4.3370640412376815E-11] +--R , +--R +--R [0.20999999999999999, 0.94985668040000004, 0.94985668043693772, +--R 3.6937675140791271E-11] +--R , +--R [0.22,0.94758176029999996,0.94758176032988584,2.9885871555279664E-11], +--R +--R [0.23000000000000001, 0.94531666839999995, 0.9453166684256229, +--R 2.562294820762645E-11] +--R , +--R +--R [0.23999999999999999, 0.94306135059999996, 0.94306135055786067, +--R - 4.2139292055765054E-11] +--R , +--R [0.25,0.94081575279999996,0.94081575290152264,1.015226791523105E-10], +--R +--R [0.26000000000000001, 0.93857982210000002, 0.93857982197039913, +--R - 1.2960088557889549E-10] +--R , +--R +--R [0.27000000000000002, 0.9363535046, 0.93635350461483224, +--R 1.4832246542084704E-11] +--R , +--R +--R [0.28000000000000003, 0.93413674810000003, 0.93413674801940527, +--R - 8.0594753093521376E-11] +--R , +--R +--R [0.28999999999999998, 0.93192949970000005, 0.93192949970065808, +--R 6.5802918669533028E-13] +--R , +--R +--R [0.29999999999999999, 0.9297317075, 0.92973170750481327, +--R 4.8132609009599037E-12] +--R , +--R [0.31,0.92754331960000003,0.92754331960551961,5.5195847892264283E-12], +--R +--R [0.32000000000000001, 0.92536428449999997, 0.92536428450162023, +--R 1.6202594821379535E-12] +--R , +--R +--R [0.33000000000000002, 0.92319455100000003, 0.92319455101492243, +--R 1.4922396651684267E-11] +--R , +--R +--R [0.34000000000000002, 0.92103406840000002, 0.92103406828799361, +--R - 1.1200640415154339E-10] +--R , +--R +--R [0.34999999999999998, 0.91888278580000005, 0.91888278578197524, +--R - 1.8024803871696804E-11] +--R , +--R +--R [0.35999999999999999, 0.91674065329999999, 0.91674065327439791, +--R - 2.5602076014763497E-11] +--R , +--R [0.37,0.91460762090000003,0.91460762085703573,- 4.2964298785364008E-11], +--R [0.38,0.91248363880000005,0.91248363893375239,1.3375234253487633E-10], +--R +--R [0.39000000000000001, 0.91036865820000001, 0.91036865821837942, +--R 1.8379409105762079E-11] +--R , +--R +--R [0.40000000000000002, 0.90826262970000005, 0.90826262973260075, +--R 3.2600699917395559E-11] +--R , +--R +--R [0.40999999999999998, 0.90616550480000002, 0.90616550480385905, +--R 3.8590242112945816E-12] +--R , +--R +--R [0.41999999999999998, 0.90407723500000003, 0.90407723506326909, +--R 6.3269056660431033E-11] +--R , +--R +--R [0.42999999999999999, 0.90199777250000002, 0.90199777244355628, +--R - 5.6443738571942959E-11] +--R , +--R [0.44,0.89992706929999999,0.89992706917700038,- 1.2299961049677677E-10], +--R +--R [0.45000000000000001, 0.89786507780000002, 0.8978650777934013, +--R - 6.5987215691620804E-12] +--R , +--R +--R [0.46000000000000002, 0.8958117511, 0.89581175111805511, +--R 1.8055112960269071E-11] +--R , +--R +--R [0.46999999999999997, 0.89376704230000004, 0.89376704226974857, +--R - 3.0251467997288728E-11] +--R , +--R +--R [0.47999999999999998, 0.89173090479999995, 0.89173090465876237, +--R - 1.412375771892016E-10] +--R , +--R +--R [0.48999999999999999, 0.88970329199999998, 0.88970329198489473, +--R - 1.510525038384003E-11] +--R , +--R [0.5,0.88768415840000003,0.88768415823549685,- 1.6450318884864146E-10]] +--R Type: List List DoubleFloat +--E 3 +@ + +This table computes the Exponential Integral $E1(x)$ for $x$ +in 0.50 to 2.00. Column 1 is the point of evaluation, column 2 +is the reference value of $E1(x)$ from the book +Abramowitz and Stegun, ``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp239-241 +<<*>>= +--S 4 of 6 +[[0.50, 0.559773595, E1(0.50), E1(0.50)-0.559773595],_ +[0.51, 0.547822352, E1(0.51), E1(0.51)-0.547822352],_ +[0.52, 0.536219798, E1(0.52), E1(0.52)-0.536219798],_ +[0.53, 0.524951510, E1(0.53), E1(0.53)-0.524951510],_ +[0.54, 0.514003886, E1(0.54), E1(0.54)-0.514003886],_ +[0.55, 0.503364081, E1(0.55), E1(0.55)-0.503364081],_ +[0.56, 0.493019959, E1(0.56), E1(0.56)-0.493019959],_ +[0.57, 0.482960034, E1(0.57), E1(0.57)-0.482960034],_ +[0.58, 0.473173433, E1(0.58), E1(0.58)-0.473173433],_ +[0.59, 0.463649849, E1(0.59), E1(0.59)-0.463649849],_ +[0.60, 0.454379503, E1(0.60), E1(0.60)-0.454379503],_ +[0.61, 0.445353112, E1(0.61), E1(0.61)-0.445353112],_ +[0.62, 0.436561854, E1(0.62), E1(0.62)-0.436561854],_ +[0.63, 0.427997338, E1(0.63), E1(0.63)-0.427997338],_ +[0.64, 0.419651581, E1(0.64), E1(0.64)-0.419651581],_ +[0.65, 0.411516976, E1(0.65), E1(0.65)-0.411516976],_ +[0.66, 0.403586275, E1(0.66), E1(0.66)-0.403586275],_ +[0.67, 0.395852563, E1(0.67), E1(0.67)-0.395852563],_ +[0.68, 0.388309243, E1(0.68), E1(0.68)-0.388309243],_ +[0.69, 0.380950010, E1(0.69), E1(0.69)-0.380950010],_ +[0.70, 0.373768843, E1(0.70), E1(0.70)-0.373768843],_ +[0.71, 0.366759981, E1(0.71), E1(0.71)-0.366759981],_ +[0.72, 0.359917914, E1(0.72), E1(0.72)-0.359917914],_ +[0.73, 0.353237364, E1(0.73), E1(0.73)-0.353237364],_ +[0.74, 0.346713279, E1(0.74), E1(0.74)-0.346713279],_ +[0.75, 0.340340813, E1(0.75), E1(0.75)-0.340340813],_ +[0.76, 0.334115321, E1(0.76), E1(0.76)-0.334115321],_ +[0.77, 0.328032346, E1(0.77), E1(0.77)-0.328032346],_ +[0.78, 0.322087610, E1(0.78), E1(0.78)-0.322087610],_ +[0.79, 0.316277004, E1(0.79), E1(0.79)-0.316277004],_ +[0.80, 0.310596579, E1(0.80), E1(0.80)-0.310596579],_ +[0.81, 0.305042539, E1(0.81), E1(0.81)-0.305042539],_ +[0.82, 0.299611236, E1(0.82), E1(0.82)-0.299611236],_ +[0.83, 0.294299155, E1(0.83), E1(0.83)-0.294299155],_ +[0.84, 0.289102918, E1(0.84), E1(0.84)-0.289102918],_ +[0.85, 0.284019269, E1(0.85), E1(0.85)-0.284019269],_ +[0.86, 0.279045070, E1(0.86), E1(0.86)-0.279045070],_ +[0.87, 0.274177301, E1(0.87), E1(0.87)-0.274177301],_ +[0.88, 0.269413046, E1(0.88), E1(0.88)-0.269413046],_ +[0.89, 0.264749496, E1(0.89), E1(0.89)-0.264749496],_ +[0.90, 0.260183939, E1(0.90), E1(0.90)-0.260183939],_ +[0.91, 0.255713758, E1(0.91), E1(0.91)-0.255713758],_ +[0.92, 0.251336425, E1(0.92), E1(0.92)-0.251336425],_ +[0.93, 0.247049501, E1(0.93), E1(0.93)-0.247049501],_ +[0.94, 0.242850627, E1(0.94), E1(0.94)-0.242850627],_ +[0.95, 0.238737524, E1(0.95), E1(0.95)-0.238737524],_ +[0.96, 0.234707988, E1(0.96), E1(0.96)-0.234707988],_ +[0.97, 0.230759890, E1(0.97), E1(0.97)-0.230759890],_ +[0.98, 0.226891167, E1(0.98), E1(0.98)-0.226891167],_ +[0.99, 0.223099826, E1(0.99), E1(0.99)-0.223099826],_ +[1.00, 0.219383934, E1(1.00), E1(1.00)-0.219383934],_ +[1.01, 0.215741624, E1(1.01), E1(1.01)-0.215741624],_ +[1.02, 0.212171083, E1(1.02), E1(1.02)-0.212171083],_ +[1.03, 0.208670559, E1(1.03), E1(1.03)-0.208670559],_ +[1.04, 0.205238352, E1(1.04), E1(1.04)-0.205238352],_ +[1.05, 0.201872813, E1(1.05), E1(1.05)-0.201872813],_ +[1.06, 0.198572347, E1(1.06), E1(1.06)-0.198572347],_ +[1.07, 0.195335403, E1(1.07), E1(1.07)-0.195335403],_ +[1.08, 0.192160479, E1(1.08), E1(1.08)-0.192160479],_ +[1.09, 0.189046118, E1(1.09), E1(1.09)-0.189046118],_ +[1.10, 0.185990905, E1(1.10), E1(1.10)-0.185990905],_ +[1.11, 0.182993465, E1(1.11), E1(1.11)-0.182993465],_ +[1.12, 0.180052467, E1(1.12), E1(1.12)-0.180052467],_ +[1.13, 0.177166615, E1(1.13), E1(1.13)-0.177166615],_ +[1.14, 0.174334651, E1(1.14), E1(1.14)-0.174334651],_ +[1.15, 0.171555354, E1(1.15), E1(1.15)-0.171555354],_ +[1.16, 0.168827535, E1(1.16), E1(1.16)-0.168827535],_ +[1.17, 0.166150040, E1(1.17), E1(1.17)-0.166150040],_ +[1.18, 0.163521748, E1(1.18), E1(1.18)-0.163521748],_ +[1.19, 0.160941567, E1(1.19), E1(1.19)-0.160941567],_ +[1.20, 0.158408437, E1(1.20), E1(1.20)-0.158408437],_ +[1.21, 0.155921324, E1(1.21), E1(1.21)-0.155921324],_ +[1.22, 0.153479226, E1(1.22), E1(1.22)-0.153479226],_ +[1.23, 0.151081164, E1(1.23), E1(1.23)-0.151081164],_ +[1.24, 0.148726188, E1(1.24), E1(1.24)-0.148726188],_ +[1.25, 0.146413373, E1(1.25), E1(1.25)-0.146413373],_ +[1.26, 0.144141815, E1(1.26), E1(1.26)-0.144141815],_ +[1.27, 0.141910639, E1(1.27), E1(1.27)-0.141910639],_ +[1.28, 0.139718989, E1(1.28), E1(1.28)-0.139718989],_ +[1.29, 0.137566032, E1(1.29), E1(1.29)-0.137566032],_ +[1.30, 0.135450958, E1(1.30), E1(1.30)-0.135450958],_ +[1.31, 0.133372975, E1(1.31), E1(1.31)-0.133372975],_ +[1.32, 0.131331314, E1(1.32), E1(1.32)-0.131331314],_ +[1.33, 0.129325224, E1(1.33), E1(1.33)-0.129325224],_ +[1.34, 0.127353972, E1(1.34), E1(1.34)-0.127353972],_ +[1.35, 0.125416844, E1(1.35), E1(1.35)-0.125416844],_ +[1.36, 0.123513146, E1(1.36), E1(1.36)-0.123513146],_ +[1.37, 0.121642198, E1(1.37), E1(1.37)-0.121642198],_ +[1.38, 0.119803337, E1(1.38), E1(1.38)-0.119803337],_ +[1.39, 0.117995919, E1(1.39), E1(1.39)-0.117995919],_ +[1.40, 0.116219313, E1(1.40), E1(1.40)-0.116219313],_ +[1.41, 0.114472903, E1(1.41), E1(1.41)-0.114472903],_ +[1.42, 0.112756090, E1(1.42), E1(1.42)-0.112756090],_ +[1.43, 0.111068287, E1(1.43), E1(1.43)-0.111068287],_ +[1.44, 0.109408923, E1(1.44), E1(1.44)-0.109408923],_ +[1.45, 0.107777440, E1(1.45), E1(1.45)-0.107777440],_ +[1.46, 0.106173291, E1(1.46), E1(1.46)-0.106173291],_ +[1.47, 0.104595946, E1(1.47), E1(1.47)-0.104595946],_ +[1.48, 0.103044882, E1(1.48), E1(1.48)-0.103044882],_ +[1.49, 0.101519593, E1(1.49), E1(1.49)-0.101519593],_ +[1.50, 0.100019582, E1(1.50), E1(1.50)-0.100019582],_ +[1.51, 0.098544365, E1(1.51), E1(1.51)-0.098544365],_ +[1.52, 0.097093466, E1(1.52), E1(1.52)-0.097093466],_ +[1.53, 0.095666424, E1(1.53), E1(1.53)-0.095666424],_ +[1.54, 0.094262786, E1(1.54), E1(1.54)-0.094262786],_ +[1.55, 0.092882108, E1(1.55), E1(1.55)-0.092882108],_ +[1.56, 0.091523960, E1(1.56), E1(1.56)-0.091523960],_ +[1.57, 0.090187917, E1(1.57), E1(1.57)-0.090187917],_ +[1.58, 0.088873566, E1(1.58), E1(1.58)-0.088873566],_ +[1.59, 0.087580504, E1(1.59), E1(1.59)-0.087580504],_ +[1.60, 0.086308334, E1(1.60), E1(1.60)-0.086308334],_ +[1.61, 0.085056670, E1(1.61), E1(1.61)-0.085056670],_ +[1.62, 0.083825133, E1(1.62), E1(1.62)-0.083825133],_ +[1.63, 0.082613354, E1(1.63), E1(1.63)-0.082613354],_ +[1.64, 0.081420970, E1(1.64), E1(1.64)-0.081420970],_ +[1.65, 0.080247627, E1(1.65), E1(1.65)-0.080247627],_ +[1.66, 0.079092978, E1(1.66), E1(1.66)-0.079092978],_ +[1.67, 0.077956684, E1(1.67), E1(1.67)-0.077956684],_ +[1.68, 0.076838412, E1(1.68), E1(1.68)-0.076838412],_ +[1.69, 0.075737839, E1(1.69), E1(1.69)-0.075737839],_ +[1.70, 0.074654644, E1(1.70), E1(1.70)-0.074654644],_ +[1.71, 0.073588518, E1(1.71), E1(1.71)-0.073588518],_ +[1.72, 0.072539154, E1(1.72), E1(1.72)-0.072539154],_ +[1.73, 0.071506255, E1(1.73), E1(1.73)-0.071506255],_ +[1.74, 0.070489527, E1(1.74), E1(1.74)-0.070489527],_ +[1.75, 0.069488685, E1(1.75), E1(1.75)-0.069488685],_ +[1.76, 0.068503447, E1(1.76), E1(1.76)-0.068503447],_ +[1.77, 0.067533539, E1(1.77), E1(1.77)-0.067533539],_ +[1.78, 0.066578691, E1(1.78), E1(1.78)-0.066578691],_ +[1.79, 0.065638641, E1(1.79), E1(1.79)-0.065638641],_ +[1.80, 0.064713129, E1(1.80), E1(1.80)-0.064713129],_ +[1.81, 0.063801903, E1(1.81), E1(1.81)-0.063801903],_ +[1.82, 0.062904715, E1(1.82), E1(1.82)-0.062904715],_ +[1.83, 0.062021320, E1(1.83), E1(1.83)-0.062021320],_ +[1.84, 0.061151482, E1(1.84), E1(1.84)-0.061151482],_ +[1.85, 0.060294967, E1(1.85), E1(1.85)-0.060294967],_ +[1.86, 0.059451545, E1(1.86), E1(1.86)-0.059451545],_ +[1.87, 0.058620994, E1(1.87), E1(1.87)-0.058620994],_ +[1.88, 0.057803091, E1(1.88), E1(1.88)-0.057803091],_ +[1.89, 0.056997623, E1(1.89), E1(1.89)-0.056997623],_ +[1.90, 0.056204378, E1(1.90), E1(1.90)-0.056204378],_ +[1.91, 0.055423149, E1(1.91), E1(1.91)-0.055423149],_ +[1.92, 0.054653731, E1(1.92), E1(1.92)-0.054653731],_ +[1.93, 0.053895927, E1(1.93), E1(1.93)-0.053895927],_ +[1.94, 0.053149540, E1(1.94), E1(1.94)-0.053149540],_ +[1.95, 0.052414380, E1(1.95), E1(1.95)-0.052414380],_ +[1.96, 0.051690257, E1(1.96), E1(1.96)-0.051690257],_ +[1.97, 0.050976988, E1(1.97), E1(1.97)-0.050976988],_ +[1.98, 0.050274392, E1(1.98), E1(1.98)-0.050274392],_ +[1.99, 0.049582291, E1(1.99), E1(1.99)-0.049582291],_ +[2.00, 0.048900511, E1(2.00), E1(2.00)-0.048900511]] +--R +--R +--R (4) +--R [[0.5,0.55977359500000001,0.55977359477616084,- 2.2383916942203541E-10], +--R +--R [0.51000000000000001, 0.54782235199999996, 0.54782235178082872, +--R - 2.1917123671499894E-10] +--R , +--R +--R [0.52000000000000002, 0.53621979799999997, 0.53621979784563623, +--R - 1.5436374400934483E-10] +--R , +--R +--R [0.53000000000000003, 0.52495150999999995, 0.52495151011486541, +--R 1.148654504845581E-10] +--R , +--R +--R [0.54000000000000004, 0.51400388600000002, 0.51400388570224909, +--R - 2.9775093501882566E-10] +--R , +--R +--R [0.55000000000000004, 0.50336408099999996, 0.50336408139239386, +--R 3.9239389515444145E-10] +--R , +--R +--R [0.56000000000000005, 0.49301995900000001, 0.49301995877649291, +--R - 2.2350710171537003E-10] +--R , +--R +--R [0.56999999999999995, 0.48296003399999998, 0.48296003424511297, +--R 2.451129854641465E-10] +--R , +--R +--R [0.57999999999999996, 0.47317343299999998, 0.47317343333112627, +--R 3.3112629305165342E-10] +--R , +--R +--R [0.58999999999999997, 0.463649849, 0.46364984895652972, +--R - 4.3470282928836923E-11] +--R , +--R +--R [0.59999999999999998, 0.45437950300000002, 0.45437950318940223, +--R 1.8940221613306107E-10] +--R , +--R [0.60999999999999999,0.445353112,0.44535311216282059,1.628205903436708E-10], +--R [0.62,0.43656185400000003,0.43656185384719148,- 1.5280854359644991E-10], +--R [0.63,0.427997338,0.42799733840201848,4.0201847406606817E-10], +--R +--R [0.64000000000000001, 0.419651581, 0.41965158086333326, +--R - 1.366667334856686E-10] +--R , +--R +--R [0.65000000000000002, 0.41151697599999998, 0.41151697594947956, +--R - 5.0520421179811592E-11] +--R , +--R +--R [0.66000000000000003, 0.40358627499999999, 0.40358627479116588, +--R - 2.088341166661678E-10] +--R , +--R +--R [0.67000000000000004, 0.39585256299999999, 0.39585256341213687, +--R 4.1213688017904815E-10] +--R , +--R +--R [0.68000000000000005, 0.38830924300000003, 0.38830924280482559, +--R - 1.9517443217154096E-10] +--R , +--R +--R [0.68999999999999995, 0.38095001000000001, 0.38095001046125104, +--R 4.6125103736471829E-10] +--R , +--R +--R [0.69999999999999996, 0.37376884300000002, 0.37376884323350923, +--R 2.3350921196652052E-10] +--R , +--R +--R [0.70999999999999996, 0.36675998100000001, 0.36675998141067723, +--R 4.1067721445742222E-10] +--R , +--R +--R [0.71999999999999997, 0.35991791400000001, 0.35991791391003464, +--R - 8.9965368488265085E-11] +--R , +--R [0.72999999999999998,0.353237364,0.35323736449036641,4.9036641414090809E-10] +--R , +--R +--R [0.73999999999999999, 0.34671327899999999, 0.34671327890389447, +--R - 9.6105512437105745E-11] +--R , +--R [0.75,0.34034081300000002,0.34034081291123008,- 8.8769935846499948E-11], +--R +--R [0.76000000000000001, 0.33411532100000002, 0.33411532109074837, +--R 9.0748353276381977E-11] +--R , +--R +--R [0.77000000000000002, 0.32803234599999997, 0.3280323463800649, +--R 3.8006492397713032E-10] +--R , +--R +--R [0.78000000000000003, 0.32208761000000002, 0.32208761029292271, +--R 2.9292268610703331E-10] +--R , +--R +--R [0.79000000000000004, 0.31627700399999997, 0.31627700375985612, +--R - 2.4014384925052923E-10] +--R , +--R +--R [0.80000000000000004, 0.31059657899999998, 0.31059657854554301, +--R - 4.5445697205437341E-10] +--R , +--R [0.81000000000000005,0.305042539,0.30504253919985258,1.9985257893040398E-10] +--R , +--R +--R [0.81999999999999995, 0.299611236, 0.29961123550328894, +--R - 4.967110611708847E-10] +--R , +--R +--R [0.82999999999999996, 0.29429915499999998, 0.29429915537086676, +--R 3.7086678172926213E-10] +--R , +--R +--R [0.83999999999999997, 0.28910291799999999, 0.28910291818146794, +--R 1.8146795177642616E-10] +--R , +--R +--R [0.84999999999999998, 0.28401926900000002, 0.2840192685024614, +--R - 4.975386214134403E-10] +--R , +--R +--R [0.85999999999999999, 0.27904507000000001, 0.27904507018183955, +--R 1.818395434227682E-10] +--R , +--R [0.87,0.27417730099999998,0.27417730078237224,- 2.1762774915501382E-10], +--R [0.88,0.26941304599999999,0.26941304633432023,3.343202381600463E-10], +--R +--R [0.89000000000000001, 0.26474949599999997, 0.26474949638510148, +--R 3.8510150623949357E-10] +--R , +--R +--R [0.90000000000000002, 0.26018393899999998, 0.26018393932599954, +--R 3.259995606796906E-10] +--R , +--R +--R [0.91000000000000003, 0.25571375800000001, 0.25571375797753926, +--R - 2.2460755477737848E-11] +--R , +--R +--R [0.92000000000000004, 0.25133642499999997, 0.25133642541656154, +--R 4.1656156302138925E-10] +--R , +--R [0.93000000000000005,0.247049501,0.24704950102931605,2.9316049587890802E-11] +--R , +--R +--R [0.93999999999999995, 0.24285062700000001, 0.24285062677606084, +--R - 2.2393917276097852E-10] +--R , +--R +--R [0.94999999999999996, 0.23873752400000001, 0.23873752365373468, +--R - 3.4626532197101767E-10] +--R , +--R +--R [0.95999999999999996, 0.23470798800000001, 0.23470798834425491, +--R 3.4425490236245082E-10] +--R , +--R [0.96999999999999997,0.23075989,0.23075989003689171,3.6891711907571789E-11], +--R [0.97999999999999998,0.226891167,0.22689116741400336,4.1400335937247235E-10] +--R , +--R +--R [0.98999999999999999, 0.223099826, 0.22309982579017718, +--R - 2.0982282578074773E-10] +--R , +--R [1.,0.219383934,0.21938393439552029,3.9552028319178589E-10], +--R [1.01,0.21574162399999999,0.21574162379448991,- 2.0551008117486447E-10], +--R [1.02,0.21217108300000001,0.2121710834322488,4.3224879231473778E-10], +--R [1.03,0.20867055900000001,0.20867055930107367,3.0107366599807506E-10], +--R [1.04,0.20523835200000001,0.20523835171985597,- 2.8014404684917338E-10], +--R [1.05,0.20187281300000001,0.20187281322019657,2.2019655543381589E-10], +--R +--R [1.0600000000000001, 0.19857234700000001, 0.19857234653302808, +--R - 4.6697193334388487E-10] +--R , +--R +--R [1.0700000000000001, 0.19533540299999999, 0.19533540267009863, +--R - 3.2990135623300887E-10] +--R , +--R [1.0800000000000001,0.192160479,0.19216047909501838,9.5018382051392791E-11], +--R +--R [1.0900000000000001, 0.18904611800000001, 0.18904611797891213, +--R - 2.1087881441061995E-11] +--R , +--R +--R [1.1000000000000001, 0.18599090500000001, 0.18599090453604011, +--R - 4.6395989827807682E-10] +--R , +--R +--R [1.1100000000000001, 0.18299346499999999, 0.1829934654350395, +--R 4.3503950442058681E-10] +--R , +--R +--R [1.1200000000000001, 0.18005246699999999, 0.18005246728171573, +--R 2.8171573407398398E-10] +--R , +--R [1.1299999999999999,0.177166615,0.17716661516956422,1.6956422377312208E-10], +--R +--R [1.1399999999999999, 0.17433465100000001, 0.17433465129443812, +--R 2.9443811278007104E-10] +--R , +--R +--R [1.1499999999999999, 0.17155535399999999, 0.1715553536299986, +--R - 3.7000139063714244E-10] +--R , +--R +--R [1.1599999999999999, 0.168827535, 0.16882753466078662, +--R - 3.3921337960762799E-10] +--R , +--R [1.1699999999999999,0.16615004,0.16615004016994619,1.6994619600474437E-10], +--R +--R [1.1799999999999999, 0.16352174799999999, 0.16352174807880468, +--R 7.8804684999767005E-11] +--R , +--R +--R [1.1899999999999999, 0.16094156700000001, 0.1609415673356836, +--R 3.3568359203428599E-10] +--R , +--R [1.2,0.15840843700000001,0.15840843685146253,- 1.4853748786514132E-10], +--R [1.21,0.155921324,0.15592132447956802,4.7956802418092082E-10], +--R [1.22,0.153479226,0.15347922603818942,3.8189423845480519E-11], +--R [1.23,0.15108116399999999,0.15108116437265298,3.7265299179800593E-10], +--R [1.24,0.14872618800000001,0.14872618845599739,4.559973787454652E-10], +--R [1.25,0.14641337300000001,0.14641337252591019,- 4.7408982295493729E-10], +--R [1.26,0.14414181500000001,0.14414181525628297,2.5628296707047582E-10], +--R [1.27,0.14191063900000001,0.14191063896174164,- 3.8258368695309741E-11], +--R [1.28,0.13971898899999999,0.1397189888335964,- 1.6640358535546795E-10], +--R [1.29,0.137566032,0.13756603220574354,2.0574353332136752E-10], +--R [1.3,0.13545095800000001,0.13545095784912908,- 1.5087092686272285E-10], +--R [1.3100000000000001,0.133372975,0.13337297529345732,2.9345731400454156E-10], +--R [1.3200000000000001,0.131331314,0.13133131417489974,1.7489973358486566E-10], +--R +--R [1.3300000000000001, 0.12932522399999999, 0.12932522360862764, +--R - 3.9137235119390823E-10] +--R , +--R +--R [1.3400000000000001, 0.12735397200000001, 0.12735397158504419, +--R - 4.1495581970529827E-10] +--R , +--R [1.3500000000000001,0.125416844,0.12541684438866441,3.8866440621454501E-10], +--R [1.3600000000000001,0.123513146,0.12351314603863212,3.8632111398761992E-11], +--R +--R [1.3700000000000001, 0.12164219800000001, 0.1216421977499248, +--R - 2.5007521053943549E-10] +--R , +--R [1.3799999999999999,0.119803337,0.11980333741433752,4.1433752262509671E-10], +--R [1.3899999999999999,0.117995919,0.11799591910039325,1.0039324926935933E-10], +--R +--R [1.3999999999999999, 0.116219313, 0.11621931257135804, +--R - 4.2864196914127461E-10] +--R , +--R +--R [1.4099999999999999, 0.114472903, 0.11447290282058709, +--R - 1.7941291508005719E-10] +--R , +--R [1.4199999999999999,0.11275609,0.11275608962347,- 3.7653000162229944E-10], +--R [1.4299999999999999,0.111068287,0.11106828710526567,1.0526567117974395E-10], +--R +--R [1.4399999999999999, 0.10940892300000001, 0.10940892332417007, +--R 3.2417006579077423E-10] +--R , +--R [1.45,0.10777744,0.10777743986897642,- 1.3102358087380139E-10], +--R [1.46,0.106173291,0.10617329147072579,4.7072579167917183E-10], +--R [1.47,0.104595946,0.10459594562777519,- 3.7222480653298362E-10], +--R [1.48,0.103044882,0.10304488224373387,2.4373386642295714E-10], +--R [1.49,0.10151959300000001,0.10151959327774779,2.7774778310618586E-10], +--R [1.5,0.100019582,0.10001958240663256,4.0663256095641032E-10], +--R [1.51,9.8544364999999995E-2,9.85443646983854E-2,- 3.0161459441124805E-10], +--R [1.52,9.7093466000000003E-2,9.7093466296618358E-2,2.9661835487804211E-10], +--R [1.53,9.5666424E-2,9.5666424115486592E-2,1.1548659251126026E-10], +--R [1.54,9.4262786000000001E-2,9.4262785544698136E-2,- 4.5530186565390096E-10], +--R [1.55,9.2882108000000005E-2,9.2882108164209165E-2,1.6420916015835729E-10], +--R +--R [1.5600000000000001, 9.1523960000000001E-2, 9.152395946823666E-2, +--R - 5.3176334169346973E-10] +--R , +--R +--R [1.5700000000000001, 9.0187917000000006E-2, 9.0187916598222728E-2, +--R - 4.0177727811396835E-10] +--R , +--R +--R [1.5800000000000001, 8.8873566000000001E-2, 8.8873566084412048E-2, +--R 8.441204679687786E-11] +--R , +--R +--R [1.5900000000000001, 8.7580504000000003E-2, 8.7580503595714843E-2, +--R - 4.0428516090429412E-10] +--R , +--R +--R [1.6000000000000001, 8.6308334E-2, 8.6308333697539708E-2, +--R - 3.0246029292246845E-10] +--R , +--R +--R [1.6100000000000001, 8.5056670000000001E-2, 8.5056669617302794E-2, +--R - 3.8269720725736533E-10] +--R , +--R +--R [1.6200000000000001, 8.3825132999999996E-2, 8.3825133017319142E-2, +--R 1.7319146117245054E-11] +--R , +--R +--R [1.6299999999999999, 8.2613354E-2, 8.2613353774808662E-2, +--R - 2.25191337799302E-10] +--R , +--R +--R [1.6399999999999999, 8.1420969999999995E-2, 8.1420969768751517E-2, +--R - 2.3124847869926413E-10] +--R , +--R +--R [1.6499999999999999, 8.0247627000000002E-2, 8.0247626673343175E-2, +--R - 3.266568265880565E-10] +--R , +--R +--R [1.6599999999999999, 7.9092977999999994E-2, 7.9092977757806437E-2, +--R - 2.4219355687638E-10] +--R , +--R +--R [1.6699999999999999, 7.7956683999999998E-2, 7.7956683692333661E-2, +--R - 3.0766633685175293E-10] +--R , +--R +--R [1.6799999999999999, 7.6838411999999995E-2, 7.6838412359934938E-2, +--R 3.5993494296171491E-10] +--R , +--R +--R [1.6899999999999999, 7.5737839000000001E-2, 7.5737838673983093E-2, +--R - 3.2601690791445037E-10] +--R , +--R [1.7,7.4654644000000006E-2,7.4654644401252912E-2,4.0125290590165008E-10], +--R [1.71,7.3588518000000006E-2,7.358851799025623E-2,- 9.7437752311080317E-12], +--R [1.72,7.2539153999999995E-2,7.2539154404693273E-2,4.0469327888814632E-10], +--R [1.73,7.1506255000000005E-2,7.150625496183538E-2,- 3.8164624238667955E-11], +--R [1.74,7.0489526999999996E-2,7.0489527175668809E-2,1.7566881282959912E-10], +--R [1.75,6.9488684999999994E-2,6.9488684604638751E-2,- 3.9536124374350834E-10], +--R [1.76,6.8503446999999995E-2,6.8503446703828352E-2,- 2.9617164276629637E-10], +--R [1.77,6.7533539000000004E-2,6.7533538681429195E-2,- 3.1857080862174314E-10], +--R [1.78,6.6578690999999995E-2,6.657869135934702E-2,3.5934702435902466E-10], +--R [1.79,6.5638640999999998E-2,6.5638641037815026E-2,3.7815028886001301E-11], +--R [1.8,6.4713128999999994E-2,6.4713129363868749E-2,3.638687545715058E-10], +--R +--R [1.8100000000000001, 6.3801902999999993E-2, 6.3801903203559385E-2, +--R 2.0355939156502245E-10] +--R , +--R +--R [1.8200000000000001, 6.2904715E-2, 6.2904714517779237E-2, +--R - 4.8222076332038455E-10] +--R , +--R +--R [1.8300000000000001, 6.2021319999999998E-2, 6.2021320241580469E-2, +--R 2.4158047090550028E-10] +--R , +--R +--R [1.8400000000000001, 6.1151482E-2, 6.1151482166870164E-2, +--R 1.6687016352046058E-10] +--R , +--R +--R [1.8500000000000001, 6.0294966999999998E-2, 6.0294966828373431E-2, +--R - 1.7162656712477187E-10] +--R , +--R +--R [1.8600000000000001, 5.9451545000000001E-2, 5.9451545392755656E-2, +--R 3.9275565438812166E-10] +--R , +--R +--R [1.8700000000000001, 5.8620994000000003E-2, 5.8620993550804079E-2, +--R - 4.4919592351311266E-10] +--R , +--R +--R [1.8799999999999999, 5.7803091000000001E-2, 5.7803091412567897E-2, +--R 4.1256789651278325E-10] +--R , +--R +--R [1.8899999999999999, 5.6997622999999997E-2, 5.6997623405359299E-2, +--R 4.0535930168061896E-10] +--R , +--R +--R [1.8999999999999999, 5.6204377999999999E-2, 5.6204378174534608E-2, +--R 1.7453460898764206E-10] +--R , +--R +--R [1.9099999999999999, 5.5423148999999998E-2, 5.5423148486950402E-2, +--R - 5.1304959586273569E-10] +--R , +--R +--R [1.9199999999999999, 5.4653730999999997E-2, 5.4653731137026984E-2, +--R 1.3702698697937166E-10] +--R , +--R +--R [1.9299999999999999, 5.3895927000000003E-2, 5.3895926855324849E-2, +--R - 1.4467515380145457E-10] +--R , +--R +--R [1.9399999999999999, 5.3149540000000002E-2, 5.3149540219563307E-2, +--R 2.1956330503725141E-10] +--R , +--R [1.95,5.2414380000000003E-2,5.2414379567998548E-2,- 4.3200145544153301E-10], +--R [1.96,5.1690257000000003E-2,5.1690256915094213E-2,- 8.4905790731504283E-11], +--R [1.97,5.0976988000000001E-2,5.0976987869409074E-2,- 1.3059092696110497E-10], +--R [1.98,5.0274392000000001E-2,5.0274391553638775E-2,- 4.4636122575880677E-10], +--R [1.99,4.9582291000000001E-2,4.9582290526736128E-2,- 4.732638725357674E-10], +--R [2.,4.8900511000000001E-2,4.8900510708061007E-2,- 2.9193899381274591E-10]] +--R Type: List List DoubleFloat +--E 4 +@ + +Now that we move into larger numbers we need a new scaling function. +<<*>>= +--S 5 of 6 +g(x)==x * %e^x * E1(x) +--R Type: Void +--E 5 +@ + +And we compute the scaled value of E1(x) in the range 2.0 to 10.0 +from Abramowitz and Stegun,``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp242-243 +<<*>>= +--S 6 of 6 +[[2.0,0.722657234,g(2.0),g(2.0)-0.722657234],_ +[2.1,0.730791502,g(2.1),g(2.1)-0.730791502],_ +[2.2,0.738431132,g(2.2),g(2.2)-0.738431132],_ +[2.3,0.745622149,g(2.3),g(2.3)-0.745622149],_ +[2.4,0.752404829,g(2.4),g(2.4)-0.752404829],_ +[2.5,0.758814592,g(2.5),g(2.5)-0.758814592],_ +[2.6,0.764882722,g(2.6),g(2.6)-0.764882722],_ +[2.7,0.770636987,g(2.7),g(2.7)-0.770636987],_ +[2.8,0.776102123,g(2.8),g(2.8)-0.776102123],_ +[2.9,0.781300252,g(2.9),g(2.9)-0.781300252],_ +[3.0,0.786251221,g(3.0),g(3.0)-0.786251221],_ +[3.1,0.790972800,g(3.1),g(3.1)-0.790972800],_ +[3.2,0.795481422,g(3.2),g(3.2)-0.795481422],_ +[3.3,0.799791408,g(3.3),g(3.3)-0.799791408],_ +[3.4,0.803916127,g(3.4),g(3.4)-0.803916127],_ +[3.5,0.807867661,g(3.5),g(3.5)-0.807867661],_ +[3.6,0.811657037,g(3.6),g(3.6)-0.811657037],_ +[3.7,0.815294342,g(3.7),g(3.7)-0.815294342],_ +[3.8,0.818788821,g(3.8),g(3.8)-0.818788821],_ +[3.9,0.822148967,g(3.9),g(3.9)-0.822148967],_ +[4.0,0.825382500,g(4.0),g(4.0)-0.825382500],_ +[4.1,0.828496926,g(4.1),g(4.1)-0.828496926],_ +[4.2,0.831498602,g(4.2),g(4.2)-0.831498602],_ +[4.3,0.834393794,g(4.3),g(4.3)-0.834393794],_ +[4.4,0.837188207,g(4.4),g(4.4)-0.837188207],_ +[4.5,0.839887144,g(4.5),g(4.5)-0.839887144],_ +[4.6,0.842495539,g(4.6),g(4.6)-0.842495539],_ +[4.7,0.845017971,g(4.7),g(4.7)-0.845017971],_ +[4.8,0.847458721,g(4.8),g(4.8)-0.847458721],_ +[4.9,0.849821778,g(4.9),g(4.9)-0.849821778],_ +[5.0,0.852110880,g(5.0),g(5.0)-0.852110880],_ +[5.1,0.854329519,g(5.1),g(5.1)-0.854329519],_ +[5.2,0.856480958,g(5.2),g(5.2)-0.856480958],_ +[5.3,0.858568275,g(5.3),g(5.3)-0.858568275],_ +[5.4,0.860594348,g(5.4),g(5.4)-0.860594348],_ +[5.5,0.862561885,g(5.5),g(5.5)-0.862561885],_ +[5.6,0.864473436,g(5.6),g(5.6)-0.864473436],_ +[5.7,0.866331399,g(5.7),g(5.7)-0.866331399],_ +[5.8,0.868138040,g(5.8),g(5.8)-0.868138040],_ +[5.9,0.869895494,g(5.9),g(5.9)-0.869895494],_ +[6.0,0.871605775,g(6.0),g(6.0)-0.871605775],_ +[6.1,0.873270793,g(6.1),g(6.1)-0.873270793],_ +[6.2,0.874892347,g(6.2),g(6.2)-0.874892347],_ +[6.3,0.876472150,g(6.3),g(6.3)-0.876472150],_ +[6.4,0.878011816,g(6.4),g(6.4)-0.878011816],_ +[6.5,0.879512881,g(6.5),g(6.5)-0.879512881],_ +[6.6,0.880976797,g(6.6),g(6.6)-0.880976797],_ +[6.7,0.882404955,g(6.7),g(6.7)-0.882404955],_ +[6.8,0.883798662,g(6.8),g(6.8)-0.883798662],_ +[6.9,0.885159176,g(6.9),g(6.9)-0.885159176],_ +[7.0,0.886487675,g(7.0),g(7.0)-0.886487675],_ +[7.1,0.887785294,g(7.1),g(7.1)-0.887785294],_ +[7.2,0.889053119,g(7.2),g(7.2)-0.889053119],_ +[7.3,0.890292173,g(7.3),g(7.3)-0.890292173],_ +[7.4,0.891503440,g(7.4),g(7.4)-0.891503440],_ +[7.5,0.892687854,g(7.5),g(7.5)-0.892687854],_ +[7.6,0.893846312,g(7.6),g(7.6)-0.893846312],_ +[7.7,0.894979666,g(7.7),g(7.7)-0.894979666],_ +[7.8,0.896088737,g(7.8),g(7.8)-0.896088737],_ +[7.9,0.897174302,g(7.9),g(7.9)-0.897174302],_ +[8.0,0.898237113,g(8.0),g(8.0)-0.898237113],_ +[8.1,0.899277888,g(8.1),g(8.1)-0.899277888],_ +[8.2,0.900297306,g(8.2),g(8.2)-0.900297306],_ +[8.3,0.901296033,g(8.3),g(8.3)-0.901296033],_ +[8.4,0.902274695,g(8.4),g(8.4)-0.902274695],_ +[8.5,0.903233900,g(8.5),g(8.5)-0.903233900],_ +[8.6,0.904174228,g(8.6),g(8.6)-0.904174228],_ +[8.7,0.905096235,g(8.7),g(8.7)-0.905096235],_ +[8.8,0.906000459,g(8.8),g(8.8)-0.906000459],_ +[8.9,0.906887414,g(8.9),g(8.9)-0.906887414],_ +[9.0,0.907757602,g(9.0),g(9.0)-0.907757602],_ +[9.1,0.908611483,g(9.1),g(9.1)-0.908611483],_ +[9.2,0.909449530,g(9.2),g(9.2)-0.909449530],_ +[9.3,0.910272177,g(9.3),g(9.3)-0.910272177],_ +[9.4,0.911079850,g(9.4),g(9.4)-0.911079850],_ +[9.5,0.911872958,g(9.5),g(9.5)-0.911872958],_ +[9.6,0.912651897,g(9.6),g(9.6)-0.912651897],_ +[9.7,0.913417043,g(9.7),g(9.7)-0.913417043],_ +[9.8,0.914168766,g(9.8),g(9.8)-0.914168766],_ +[9.9,0.914907418,g(9.9),g(9.9)-0.914907418],_ +[10.0,0.915633339,g(10.0),g(10.0)-0.915633339]] +--R +--R Compiling function g with type Float -> Expression DoubleFloat +--R +--R (6) +--R [[2.,0.72265723400000004,0.72265723377644353,- 2.2355650663996585E-10], +--R +--R [2.1000000000000001, 0.73079150199999998, 0.73079150228850298, +--R 2.8850299926830303E-10] +--R , +--R +--R [2.2000000000000002, 0.73843113199999999, 0.73843113069659072, +--R - 1.3034092694041988E-9] +--R , +--R +--R [2.2999999999999998, 0.74562214900000001, 0.74562214881923961, +--R - 1.8076040664283255E-10] +--R , +--R +--R [2.3999999999999999, 0.75240482900000005, 0.75240483025618621, +--R 1.2561861550963727E-9] +--R , +--R [2.5,0.75881459200000001,0.75881459121494477,- 7.850552430355151E-10], +--R +--R [2.6000000000000001, 0.76488272199999996, 0.76488272217978248, +--R 1.7978252220274271E-10] +--R , +--R +--R [2.7000000000000002, 0.77063698700000005, 0.77063698825333671, +--R 1.2533366566813697E-9] +--R , +--R +--R [2.7999999999999998, 0.77610212300000003, 0.77610212535832457, +--R 2.3583245356562088E-9] +--R , +--R +--R [2.8999999999999999, 0.78130025199999997, 0.78130025314743023, +--R 1.1474302619163268E-9] +--R , +--R [3.,0.786251221,0.78625122076592868,- 2.3407131788388824E-10], +--R +--R [3.1000000000000001, 0.79097280000000003, 0.79097289808240101, +--R 9.8082400978860562E-8] +--R , +--R +--R [3.2000000000000002, 0.79548142200000005, 0.7954814223275547, +--R 3.2755465007028306E-10] +--R , +--R +--R [3.2999999999999998, 0.79979140800000004, 0.79979140803702831, +--R 3.7028269339600683E-11] +--R , +--R +--R [3.3999999999999999, 0.80391612700000004, 0.80391612661323797, +--R - 3.8676206681742542E-10] +--R , +--R [3.5,0.80786766099999996,0.80786766059300552,- 4.0699443815128689E-10], +--R +--R [3.6000000000000001, 0.81165703700000003, 0.81165703674711587, +--R - 2.5288415805846398E-10] +--R , +--R +--R [3.7000000000000002, 0.81529434199999995, 0.81529434137285406, +--R - 6.2714589077472738E-10] +--R , +--R +--R [3.7999999999999998, 0.81878882100000006, 0.81878882054050406, +--R - 4.5949599680739084E-10] +--R , +--R +--R [3.8999999999999999, 0.82214896699999995, 0.8221489675670105, +--R 5.6701054962360331E-10] +--R , +--R [4.,0.82538250000000002,0.82538259960411076,9.9604110737061546E-8], +--R +--R [4.0999999999999996, 0.82849692600000002, 0.82849692490970006, +--R - 1.0902999614259556E-9] +--R , +--R +--R [4.2000000000000002, 0.83149860200000003, 0.83149860211639337, +--R 1.1639333941104724E-10] +--R , +--R +--R [4.2999999999999998, 0.83439379400000002, 0.83439379260257418, +--R - 1.397425841709321E-9] +--R , +--R +--R [4.4000000000000004, 0.83718820699999996, 0.83718820689462137, +--R - 1.0537859473913613E-10] +--R , +--R [4.5,0.83988714399999997,0.83988714589085944,1.8908594690003611E-9], +--R +--R [4.5999999999999996, 0.84249553899999996, 0.84249553757701434, +--R - 1.4229856182268463E-9] +--R , +--R +--R [4.7000000000000002, 0.84501797099999998, 0.84501796980531307, +--R - 1.1946869049594966E-9] +--R , +--R +--R [4.7999999999999998, 0.84745872099999997, 0.84745871962692243, +--R - 1.3730775405562667E-9] +--R , +--R +--R [4.9000000000000004, 0.84982177800000003, 0.84982177959827732, +--R 1.5982772882949803E-9] +--R , +--R [5.,0.85211088000000001,0.85211088142366165,1.4236616330265406E-9], +--R +--R [5.0999999999999996, 0.85432951899999998, 0.85432951724709605, +--R - 1.7529039331165563E-9] +--R , +--R +--R [5.2000000000000002, 0.85648095800000001, 0.85648095886487274, +--R 8.6487272898949641E-10] +--R , +--R +--R [5.2999999999999998, 0.85856827499999999, 0.85856827509448064, +--R 9.4480645529415597E-11] +--R , +--R +--R [5.4000000000000004, 0.86059434800000001, 0.86059434750532948, +--R - 4.946705267627749E-10] +--R , +--R [5.5,0.86256188499999997,0.86256188469070161,- 3.0929836469795191E-10], +--R +--R [5.5999999999999996, 0.86447343600000004, 0.86447343523800879, +--R - 7.6199124787734718E-10] +--R , +--R [5.7000000000000002,0.866331399,0.8663313995352464,5.3524640275526281E-10], +--R +--R [5.7999999999999998, 0.86813804000000006, 0.86813804053493893, +--R 5.3493887097744164E-10] +--R , +--R +--R [5.9000000000000004, 0.86989549399999999, 0.86989549358247464, +--R - 4.1752534762906635E-10] +--R , +--R [6.,0.87160577500000003,0.87160577540332174,4.0332170936352441E-10], +--R +--R [6.0999999999999996, 0.87327079299999999, 0.8732707923327413, +--R - 6.6725869274364413E-10] +--R , +--R +--R [6.2000000000000002, 0.87489234699999996, 0.8748923478621643, +--R 8.6216433992092334E-10] +--R , +--R +--R [6.2999999999999998, 0.87647215000000001, 0.87647214956817143, +--R - 4.3182857289991716E-10] +--R , +--R +--R [6.4000000000000004, 0.878011816, 0.87801181548273155, +--R - 5.1726845029520518E-10] +--R , +--R [6.5,0.87951288100000002,0.87951287995710281,- 1.0428972130327452E-9], +--R +--R [6.5999999999999996, 0.88097679699999998, 0.88097679906610149, +--R 2.0661015120992943E-9] +--R , +--R +--R [6.7000000000000002, 0.88240495500000005, 0.8824049555946607, +--R 5.9466065405189283E-10] +--R , +--R +--R [6.7999999999999998, 0.88379866200000001, 0.88379866364416337, +--R 1.6441633610142503E-9] +--R , +--R +--R [6.9000000000000004, 0.88515917600000005, 0.88515917289225332, +--R - 3.1077467266271697E-9] +--R , +--R [7.,0.88648767500000003,0.88648767253642946,- 2.4635705697662047E-9], +--R +--R [7.0999999999999996, 0.88778529399999995, 0.8877852949486843, +--R 9.4868435329686918E-10] +--R , +--R +--R [7.2000000000000002, 0.88905311899999995, 0.88905311906582485, +--R 6.5824901085420606E-11] +--R , +--R +--R [7.2999999999999998, 0.89029217299999996, 0.89029217353766843, +--R 5.3766846530578505E-10] +--R , +--R +--R [7.4000000000000004, 0.89150344000000004, 0.89150343965322676, +--R - 3.4677327676035929E-10] +--R , +--R [7.5,0.89268785399999995,0.89268785406308437,6.308442657143587E-11], +--R +--R [7.5999999999999996, 0.89384631199999998, 0.89384631131444836, +--R - 6.8555161547578791E-10] +--R , +--R +--R [7.7000000000000002, 0.89497966600000001, 0.89497966621388148, +--R 2.1388146809186992E-10] +--R , +--R +--R [7.7999999999999998, 0.89608873700000002, 0.89608873603132189, +--R - 9.686781377027387E-10] +--R , +--R +--R [7.9000000000000004, 0.89717430200000003, 0.8971743025577732, +--R 5.5777316099181462E-10] +--R , +--R [8.,0.89823711299999998,0.89823711402799578,1.0279957995962263E-9], +--R +--R [8.0999999999999996, 0.89927788799999997, 0.89927788691844668, +--R - 1.0815532913710513E-9] +--R , +--R +--R [8.1999999999999993, 0.90029730600000002, 0.90029730762992677, +--R 1.629926749124877E-9] +--R , +--R +--R [8.3000000000000007, 0.90129603300000005, 0.90129603406349046, +--R 1.0634904068496098E-9] +--R , +--R +--R [8.4000000000000004, 0.90227469500000002, 0.90227469709753316, +--R 2.0975331471717595E-9] +--R , +--R [8.5,0.90323390000000003,0.90323390197320852,1.9732084854950926E-9], +--R +--R [8.5999999999999996, 0.90417422800000002, 0.9041742295948515, +--R 1.5948514731078944E-9] +--R , +--R +--R [8.6999999999999993, 0.90509623500000003, 0.90509623775141723, +--R 2.7514172051823493E-9] +--R , +--R +--R [8.8000000000000007, 0.90600045900000004, 0.90600046226454201, +--R 3.264541970082746E-9] +--R , +--R +--R [8.9000000000000004, 0.90688741399999995, 0.90688741806836271, +--R 4.0683627577919879E-9] +--R , +--R [9.,0.907757602,0.90775760022576812,- 1.7742318725311179E-9], +--R +--R [9.0999999999999996, 0.90861148300000005, 0.90861148488548271, +--R 1.8854826588921014E-9] +--R , +--R +--R [9.1999999999999993, 0.90944952999999995, 0.90944953018395813, +--R 1.8395818202066039E-10] +--R , +--R +--R [9.3000000000000007, 0.91027217699999996, 0.91027217709579178, +--R 9.5791818921497907E-11] +--R , +--R +--R [9.4000000000000004, 0.91107985000000002, 0.91107985023607185, +--R 2.3607182875196031E-10] +--R , +--R [9.5,0.91187295800000001,0.91187295861782769,6.1782767790674598E-10], +--R +--R [9.5999999999999996, 0.91265189700000005, 0.91265189636747834, +--R - 6.3252170168226485E-10] +--R , +--R +--R [9.6999999999999993, 0.91341704300000004, 0.91341704340103613, +--R 4.010360932227286E-10] +--R , +--R +--R [9.8000000000000007, 0.91416876599999997, 0.91416876606351216, +--R 6.3512195502823943E-11] +--R , +--R +--R [9.9000000000000004, 0.91490741799999997, 0.9149074177339066, +--R - 2.6609336956084917E-10] +--R , +--R [10.,0.91563333899999999,0.91563333939788116,3.9788117245365129E-10]] +--R Type: List List Expression DoubleFloat +--E 6 + +)spool +)lisp (bye) + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} Abramowitz and Stegun,``Handbook of Mathematical Functions'', +Dover Publications, Inc. New York 1965. pp238-243 +\bibitem{2} Segletes, Steven, B., ``A Compact Analytical Fit to the +Exponential Integral $E_1(x)$'', Army Research Laboratory, ARL-TR-1758, +September 1998 +\bibitem{3} Lund, Lars Erik, ``Numlibc'',\\ +{\bf http://www.math.ntnu.no/num/nnm/Program/Numlibc} +\bibitem{4} Haavie, T. ``expint.c'',\\ +{\bf http://www.math.ntnu.no/num/nnm/Program/Numlibc}, June, 1988 +\end{thebibliography} +\end{document}