Karim BELABAS on Tue, 1 Dec 1998 14:32:06 +0100 (MET)


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

Re: Discriminant of non-monic polynomials


[Igor:]
> > > ? nfdisc(g(polcyclo(23)))
> > >   ***   the PARI stack overflows !!!
> > > 
> > >   ***   Warning: doubling stack size; new stack = 8000000.
> > > ? nfdisc(g(polcyclo(23)))
> > >   ***   the PARI stack overflows !!!
> > > 
> > >   ***   Warning: doubling stack size; new stack = 16000000.
> 
> Now it doubles only once.  Kevin, I'm just curious, what parisize
> did you use in 2.0.11 when you tried this one?

It runs with 10MB, which I think is perfectly ok (have a look at the
coefficients once you normalize the polynomial. We introduce artificially a
factor 2^9240 in the discriminant !!!)

I used this little example to benchmark the (generic) kernel (the underlying
algorithm is the same). On my Ultra, with 10MB stack:
 1.39.15: ***   incorrect type in gdivent or gdiventres
 2.0.9 : 2mn, 21s
 2.0.11: 1mn, 10s
 2.0.12: 43s

> Hmm, are you saying that I can come up with a better change of variable
> than nfinit() family of commands performs?  

No, just that this change of variable itself is unnecessary (although it's
much easier to code this way). And that this change of variable will have to
be performed in each function of this type, hence it's much better to do it
yourself once and for all, then use the new polynomial. This is irrelevant if
you only intends to apply nfdisc once and forget about the polynomial anyway.

But if you intend to work in the corresponding number field, it pays off to
start with as nice a polynomial as possible... (polredabs being useful here
if the degree is not too large, polred otherwise)

> Also, would you consider it useful to do the reduction automatically inside
> nfdisc().

The reduction _is_ done in nfdisc.

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://pari.home.ml.org