Bill Allombert on Thu, 27 Feb 2003 22:55:39 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: nfgaloisconj |
On Thu, Feb 27, 2003 at 08:29:31PM +0100, Markus Endres wrote: > -----Forwarded Message----- > > > From: Bill Allombert <allomber@math.u-bordeaux.fr> > > To: pari-users@list.cr.yp.to > > Subject: Re: [Fwd: Re: nfgaloisconj] > > Date: 27 Feb 2003 20:10:38 +0100 > > > > On Thu, Feb 27, 2003 at 07:25:48PM +0100, Markus Endres wrote: > > > of course, here it is: > > > > > > ? K=bnfinit(y^2+7); > > > > > > ? quadray(K,3) > > > %7 = x^4 + Mod(-y, y^2 + 7)*x^3 - 3*x^2 + Mod(y, y^2 + 7)*x + 1 > > > > > > ? rnfequation(K,%) > > > %8 = x^8 + x^6 - 3*x^4 + x^2 + 1 > > > > > > ? L=bnfinit(%); > > > > > > ? aut=nfgaloisconj(L) > > > %10 = [x, 1/2*x^7 - 1/2*x^6 + x^5 - 1/2*x^4 - 1/2*x^3 + x^2 - 1/2, x^7 + x^5 - 3*x^3 + x, > > > 1/2*x^7 + 1/2*x^6 + x^5 + 1/2*x^4 - 1/2*x^3 - x^2 + 1/2, -1/2*x^7 - 1/2*x^6 - x^5 - 1/2*x^4 + 1/2*x^3 + x^2 - 1/2, > > > -x^7 - x^5 + 3*x^3 - x, -1/2*x^7 + 1/2*x^6 - x^5 + 1/2*x^4 + 1/2*x^3 - x^2 + 1/2, -x]~ > > > > > > > > > now I need all the automorphisms in aut which leaves the elements of K fix, i.e. gal(L|K). > > > but these automorphisms are defined absolute over Q, and I need them relative over K > > > > Do not use nfgaloisconj, use galoisinit, it is far more powerful! > > (by the way you do not need to use bnfinit). > > do: > > G=galoisinit(x^8 + x^6 - 3*x^4 + x^2 + 1); > > > > This compute the abstract galois group. > > The way you have build your field, K is the fixed field by G.gen[1], > > > > So let do > > ? F=galoisfixedfield(G,G.gen[1],2) > > %8 = [x^2 + 7, Mod(2*x^7 + 3*x^5 - 4*x^3 + 2*x, x^8 + x^6 - 3*x^4 + x^2 + 1), [x^4 - y*x^3 - 3*x^2 + y*x + 1, x^4 + y*x^3 - 3*x^2 - y*x + 1]] > > > > F[1] is the defining polynomial for the subfield. You are lucky, this the > > right polynomial, so you do not need to change. > > > > x -> F[2] is the inclusion morphism from K to L. We do not need it here. > > > > F[3] is the factorisation of x^8 + x^6 - 3*x^4 + x^2 + 1 over K. > > > > So let R=F[3][1]*Mod(1,y^2+7) a polynomial defining the extension L/K. > > > > Now the answer to your question is: > > > > ? galoispermtopol(G,vecextract(G.group,"1..4"))%R > > %14 = [x, Mod(1/2*y - 1/2, y^2 + 7)*x^3 + Mod(1/2*y + 5/2, y^2 + 7)*x^2 + Mod(-y + 1, y^2 + 7)*x + Mod(-2, y^2 + 7), Mod(1, y^2 + 7)*x^3 + Mod(-y, y^2 + 7)*x^2 + Mod(-3, y^2 + 7)*x + Mod(y, y^2 + 7), Mod(-1/2*y - 1/2, y^2 + 7)*x^3 + Mod(1/2*y - 5/2, y^2 + 7)*x^2 + Mod(y + 1, y^2 + 7)*x + Mod(2, y^2 + 7)] > > > > Cheers, > > Bill. > > > > oh, that's great, > > that's the solution for all my problems, Well I have find a far simpler solution but less efficient: Just do K=nfinit(y^2+7); F=nffactor(K,x^8 + x^6 - 3*x^4 + x^2 + 1); R=F[1,1] %17 = x^4 + Mod(-y, y^2 + 7)*x^3 - 3*x^2 + Mod(y, y^2 + 7)*x + 1 You get a relative polynomial dividing x^8 + x^6 - 3*x^4 + x^2 + 1. N=nfgaloisconj(x^8 + x^6 - 3*x^4 + x^2 + 1)%R; You get a set of automorphisms, but some of them are false, they do not fix K! You need to test them: H=[];for(i=1,8,if(subst(R,x,Mod(N[i],R))==0,H=concat(H,N[i])); ? H %18 = [x, Mod(1/2*y - 1/2, y^2 + 7)*x^3 + Mod(1/2*y + 5/2, y^2 + 7)*x^2 + Mod(-y + 1, y^2 + 7)*x + Mod(-2, y^2 + 7), Mod(-1/2*y - 1/2, y^2 + 7)*x^3 + Mod(1/2*y - 5/2, y^2 + 7)*x^2 + Mod(y + 1, y^2 + 7)*x + Mod(2, y^2 + 7), Mod(1, y^2 + 7)*x^3 + Mod(-y, y^2 + 7)*x^2 + Mod(-3, y^2 + 7)*x + Mod(y, y^2 + 7)] Cheers, Bill.