Karim BELABAS on Mon, 28 Jun 1999 17:36:52 +0200 (MET DST)


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

Re: Floating exception bug


[Igor:]
> I came across this interesting behavior:
> 
> ? BernMat(N)=local(m,v);m=Mat();for(k=1,N+1,m=concat(m,vectorv(N+1,z,k^(N+2-z))));m=m~;m

Here's a more sensible definition for the same object:

BernMat(N) = matrix(N+1,N+1, k,z, k^(N+2-z));

> ? 1/(BernMat(100)+0.)

And even better if this is what you had in mind:

BernMat(N) = matrix(N+1,N+1, k,z, 0. + k^(N+2-z));

which has the advantage of converting also off-diagonal elements (contrary to
Bernmat(100) + 0...).

>   ***   the PARI stack overflows !!!
> 
>   ***   Warning: doubling stack size; new stack = 8000000.
> ? 1/(BernMat(100)+0.)
> Floating exception
> 
> ... and the session dies.  

This is due to memory corruption in mppgcd when collecting (numbers had to be
truly gigantic, which they were...). No patch since I'm releasing 2.0.16
tonight or tomorrow.

Karim.
__
Karim Belabas                    email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud             Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France)           Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://hasse.mathematik.tu-muenchen.de/ntsw/pari/