Bill Allombert on Sat, 22 May 2004 16:29:38 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: peculiar galoisinit() behavior |
On Fri, May 21, 2004 at 08:07:08PM -0400, Igor Schein wrote: > Hi, > ? 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. p64 is Galois, so it is a safe bet it _is_ a subfield of p128! What criterium do you use to assert that p16 is not a subfield of p128 ? For what I see, you just proved that r128 factor over r16 as a product of 16 polynomials of degree 8, which imply that r16 is a subfield of r128. For what it worth, ? matsize(nffactor(bnf,r64)) %43 = [16, 2] Cheers, Bill.