axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] 20080130.01.tpd.patch (Ei)

 From: Gregory Vanuxem Subject: Re: [Axiom-developer] 20080130.01.tpd.patch (Ei) Date: Fri, 01 Feb 2008 18:07:08 +0100

Hello Tim,

I just wanted to let you know that when you work with DoubleFloat you
can use a trick : if you set $useBFasDefault to false the Spad compiler will handle floating point numbers as DoubleFloat directly, no need to coerce them. So you just have to add ')boot$useBFasDefault := false' at
the beginning of the file (and re-set \$useBFasDefault to true at the end
of the file). Not a beautiful hack though.

Greg

Le vendredi 01 février 2008 à 08:50 -0600, address@hidden a
écrit :
> This patch adds the numeric calculation of the principal value of
> the Exponential Integral function. This is defined by a 6 segment
> piecewise approximation using Chebyshev polynomials. In addition
> to the main function Ei, each of the 6 piecewise solutions can be
> gotten directly by the EiN functions, which are also exposed. The
> EiN functions are normalized to return results in -1 <= x <= 1.
>
>   Ei  (-\infty < x < \infty)
>
>   Ei1 (-\infty < x < -10)  using xe^xEi(x)
>   Ei2 (-10 <= x <= -4)     using xe^xEi(x)
>   Ei3 (-4 <= x <= 4)       using (Ei(x)-log(abs(x))-\gamma)/x
>   Ei4 (4 <= x <= 12)       using xe^xEi(x)
>   Ei5 (12 <= x <= 32)      using xe^xEi(x)
>   Ei6 (32 <= x < /infty)   using xe^xEi(x)
>
> The approximation is valid for 10^-30 but the implementation using
> DoubleFloat does about 10^-16. The full coefficients are retained
> for a future gmp implementation.
>