Bill Allombert on Wed, 02 Oct 2013 21:42:52 +0200


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

Re: Galois subextensions question


On Wed, Oct 02, 2013 at 06:10:47PM +0200, Bill Allombert wrote:
> On Mon, Sep 30, 2013 at 08:07:37PM -0500, Ariel Pacetti wrote:
> I tried to solve the problem using resolvent polynomials.
> I really need to find and read papers how to compute polynomials
> invariants by some given group, but still I have made an attempt.

Please find a new version that require a much smaller precision.

For example for PSL_2(F_7) in A7:
? \p38
? subfieldgen(x^7-x-1,[[2,3,4,5,6,7,1],[2,1,6,4,5,3,7]])
%1 = x^30-14*x^29-301*x^28-1704*x^27-9649*x^26-168011*x^25-2142926*x^24-17102447*x^23-95949120*x^22-408214362*x^21-1378809373*x^20-3806867893*x^19-8760613215*x^18-17029306969*x^17-28219492898*x^16-40113925202*x^15-49109267452*x^14-51893154569*x^13-47364587090*x^12-37322433255*x^11-25348790841*x^10-14800563655*x^9-7402148473*x^8-3155652345*x^7-1139066802*x^6-344626560*x^5-85962626*x^4-17172449*x^3-2605551*x^2-273198*x-14786

Cheers,
Bill.
mkgroup(P)=
{
  my(L,n);
  P=apply(x->Vecsmall(x),P);
  L=List([P[1]^0]);
  until(#L==n,
      n=#L;
      for(i=1,#P,
        for(j=1,#L,
          listput(L,P[i]*L[j])));
      listsort(L,1));
  L;
}

subfieldgen(P,S)=
{
  S=mkgroup(S);
  my(R,V=polroots(P),k=0,d=(#V)!/#S);
  until(poldegree(R)==d && polisirreducible(R),
    k++;
    R=algdep(sum(i=1,#S,prod(j=1,k,V[S[i][j]]^j)),d);
    if (abs(pollead(R))!=1,error("subfieldgen: unsufficient precision"));
    );
  polredbest(R);
}
/*
\p100
\\ C5=<(1,2,3,4,5)> in S_5:
subfieldgen(x^5-x-1,[[2,3,4,5,1]])
\\ D5=<(1,2,3,4,5),(2,5)(3,4)> in S5
subfieldgen(x^5-x-1,[[2,3,4,5,1],[1,5,4,3,2]])
\\ the trivial S5 in S6 (we get back the original field, of course)
subfieldgen(x^6-x-1,[[2,3,4,5,1,6],[2,1,3,4,5,6]])
\\ The nontrivial S5 in S6 <(1,2,3,4,6), (1,2)(3,4)(5,6)>
subfieldgen(x^6-x-1,[[2,3,4,6,5,1],[2,1,4,3,6,5]])
\\ The nontrivial A5 in S6 <(1,2,3,4,6), (1,4)(5,6)>
subfieldgen(x^6-x-1,[[2,3,4,6,5,1],[4,2,3,1,6,5]])
*/