Karim BELABAS on Tue, 11 Nov 2003 12:49:34 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: lngamma regression


On Mon, 10 Nov 2003, Igor Schein wrote:
> ? lngamma(1/4)
>   ***   bug in GP (Segmentation Fault), please report

Fixed in CVS. I've done some work on zeta() and gamma() / lngamma() this
week-end [ and incidentally bernfrac() and bernvec() ].

About zeta(), I was trying to fix slowdowns like

  \\ from 2.2.0 on ...
  ? zeta(3660*I);
  time = 2,860 ms.

  \\ stable 2.1.5
  ? zeta(3660*I)
  time = 230 ms.

I think I have been successful.

About gamma() / lngamma(), I re-enabled new code (originally submitted by
Henri Cohen), which used the same general ideas (in a simpler setting).
I had disabled it due to slowdowns analogous to the above. But the same kind
of fix cured it also.

About bernfrac(): the code now uses zeta(2*k) and is much, much faster
than the old version.

About bernvec(): the routine is obsolete. Using the Bernoulli recursion in
exact arithmetic is slower than individual calls to bernfrac() ...

[ zeta(2*k) on the other hand is still very, very slow for large k. I'll
try to fix that ]

Cheers,

    Karim.
-- 
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dép. de Mathématiques, Bât. 425   Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud              http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]