| 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]