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