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.