Igor Schein on Fri, 4 Dec 1998 19:39:44 -0500


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

bug in polredabs()


Hi,

first I define the function which returns the sum of norms of
polynomial roots:

t2norm(pol,r)=r=norm(polroots(pol));sum(k=1,length(r),r[k])

Now take a look a this:

? nfdisc(x^16+48)
4038858263648368852992
? nfdisc(x^16+3)
4038858263648368852992
? polredabs(x^16+48)
x^16 + 12*x^8 + 48
? t2norm(x^16 + 12*x^8 + 48)
25.95823365777564110913570351
? t2norm(x^16+3)
18.35524304703803343156893781

So x^16+48 and x^16+3 generate the same number field,
but polredabs(x^16+48) returns x^16+12*x^8+48, whose t2norm is bigger
than t2norm of x^16+3.

So looks like polredabs() doesn't do what it's supposed to do, namely to
"find one of the polynomial defining the same number field as the one
defined by x,  and such that the sum of the squares
of the modulus of the roots (i.e. the T_2-norm) is minimal."

Thanks
Igor

P.S.  On a side note, nfdisc(x^16+48) takes long time, but I'll talk
about it in a separate posting.