[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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.
>