Igor Schein on Sat, 22 May 2004 02:09:18 +0200


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

peculiar galoisinit() behavior


Hi,

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
          GP/PARI CALCULATOR Version 2.2.8 (development CHANGES-1.941)
        x86_64 running linux (portable C/GMP-4.0 kernel) 64-bit version
                 compiled: May 17 2004, gcc-3.2.2 (SuSE Linux)
                (readline v4.3 enabled, extended help available)

                       Copyright (C) 2003 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and 
comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?12 for how to get moral (and possibly technical) support.

   realprecision = 38 significant digits
   seriesprecision = 16 significant terms
   format = g0.38

parisize = 256000000, primelimit = 500000
   echo = 1 (on)
? r64=x^64-3280*x^62+4915736*x^60-4492143024*x^58+2816023370440*x^56-1290920794184736*x^54+450267481133027072*x^52-122708304244440143424*x^50+26617341675514005540304*x^48-4656954097828008916043648*x^46+663472468995533537940051200*x^44-77491191321664119128521292544*x^42+7453506371111819107002500281088*x^40-592007834052058937971845007459328*x^38+38872566202358928803097813887214080*x^36-2109436545441895448779239245670507520*x^34+94438323735892930084249288725660609024*x^32-3477198376206939867401637622229329575936*x^30+104812664025725934205219014348800724490240*x^28-2570494139372501682776861662588214973280256*x^26+50884777095331853421308000743107614552975360*x^24-805015521456882183425887464335864847062687744*x^22+10053761208297315752839801905280954998706872320*x^20-97642079604654147388868809636357670447161409536*x^18+724145533334920720711016139180450451180319309824*x^16-4012468663068716611741275205068068993323263918080*x^14+16183568991806866623955560400449947644707217178624*x^12-46023398017967287948234684005811080907806120148992*x^10+88424626410311637031640109856954826672260532731904*x^8-107479120627451092353316696946519438039697461608448*x^6+73381289624486125837022594406995306663559317946368*x^4-21277159917939134698124451358668373208995144925184*x^2+384322168868416946509481119827963016555989630976;
? r4=x^4-7*x^2+2;
? r128=polcompositum(r64,r4)[1];
? #
   timer = 1 (on)
? gal=galoisinit(r128);
  ***   Warning: Combinatorics too hard : would need 140737488355328 tests!
 I'll skip it but you will get a partial result....
  ***   Warning: Combinatorics too hard : would need 140737488355328 tests!
 I'll skip it but you will get a partial result....
  ***   Warning: Combinatorics too hard : would need 140737488355328 tests!
 I'll skip it but you will get a partial result....
time = 5mn, 21,510 ms.
? r64=galoisfixedfield(gal,gal.group[3])[1];
time = 2,600 ms.
? r16=polredabs(nfsubfields(r64,16)[50][1],16)
time = 48,320 ms.
%6 = x^16 - 172*x^14 + 9028*x^12 - 141304*x^10 + 665760*x^8 - 615584*x^6 + 170688*x^4 - 15232*x^2 + 256
? bnf=bnfinit(subst(r16,x,y));
time = 3,650 ms.
? matsize(nffactor(bnf,r128))
time = 6,360 ms.
%8 = [16, 2]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

So we have a contradiction - p64 is a subfield of p128, and p16 is a
subfield of p64, yet p16 is not a subfield of p128?  It can only mean
that p64 is in fact not a subfield of p128, and galoisinit() returned
a corrupted structure.  Now, I can make an obvious guess it has to do
with the partial result warnings.  However, *partial* doesn't usually
imply *wrong*, but it seems to be the case here.

Thanks

Igor