Hi Burcin,
indeed, here is another case of buggy libc/libm.
The same workaround as for Cygwin should do the trick (provided that
cephes works on ARM)
Would installing cephes spkg break things on non-Cygwin, or this is
safe?
Dmitrii
On Feb 6, 5:24 pm, Burcin Erocal <[email protected]> wrote:
> Hi Julien,
>
> On Sun, 06 Feb 2011 09:30:16 +0100
>
> Julien PUYDT <[email protected]> wrote:
> > Le 05/02/2011 11:44, Francois Bissey a écrit :
> > > So gamma could be called from C, Cython, possibly mpmath, pynac or
> > > maxima. I guess you could tests the results calling from mpmath or
> > > maxima. I am guessing that SR(10.0r).gamma() will end up being a
> > > call to maxima to compute gamma but I could be completely off
> > > track. But since it is also a gamma computation it could be related
> > > to the previous computation of gamma(6).
>
> On most platforms, we use the tgammal() function provided by the C
> library to evaluate gamma when the input is a float. See lines
> 1032-1039 of sage/symbolic/pynac.pyx and 21-28 of
> sage/symbolic/pynac_cc.h for the relevant code.
>
> > Here are a few computations :
>
> > sage: gamma(6.)
> > 120.000000000000
>
> Here 6. is a RealLiteral. This gets converted to a RealNumber with the
> default precision. Then the evaluation is done with the .gamma() method
> of real numbers, which uses MPFR.
>
> sage: type(6.)
> <type 'sage.rings.real_mpfr.RealLiteral'>
>
> > sage: gamma(float(6))
> > 119.99999999999997
> > sage: SR(6.0r).gamma()
> > 119.99999999999997
>
> Both these examples call the same code in sage/symbolic/pynac.pyx I
> mentioned above and pass the evaluation to the C library.
>
> The cephes library was included in the standard Sage distribution
> recently to prevent these problems, but some symbolic functions still
> need to switch to using that when the C library is unreliable. The file
> sage/symbolic/pynac_cc.h is there to facilitate this switch.
>
> > Launching, from my sage directory :
> > LD_LIBRARY_PATH=./local/lib ./local/bin/maxima
>
> > I can write :
> > (%i1) gamma(6.);
> > (%o1)                                 120
> > (%i2) gamma(6.0000000000000000000000);
> > (%o2)                                120.0
>
> Using maxima for such things would be incredibly slow. We avoid that
> when possible. But, as you can see from the comments in
> sage/symbolic/pynac.pyx, the special functions in Sage, especially
> those provided by GiNaC/pynac need a lot of work.
>
> Thank you.
>
> Burcin

-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to