Bill Allombert on Fri, 26 Jul 2019 13:47:20 +0200


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

Re: nfgaloisconj


On Fri, Jul 26, 2019 at 10:23:53AM +0900, macsyma wrote:
> For many f, nfgaloisconj(nfsplitting(f)) is very fast.
> But for some f (e.g. x^6 - x^5 - x^2 + x + 1, x^17 - 2, ...), it seems to be not so fast.
> Is there a better way to get the polynomial representation of Galois automorphisms for such f ?

Yes, unfortunately it is not fully implemented in PARI.

Below is a simple-minded implementation for low-degree polynomials.
(the running time is in d! where d is the degree).

[Q,G]=auts(x^6 - x^5 - x^2 + x + 1)
give Q  = nfsplitting(P) and G = nfgaloisconj(Q);

Doing better require knowing the Galois group and not just its conjugacy
class.

Cheers,
Bill.

auts(P)=
{
  my(Q,R,L,G,n=poldegree(P));
  Q=nfsplitting(P);
  R=nfisincl(P,Q);
  L=lindep(concat(x,R)); L = L[2..-1]/-L[1];
  G=Set([sum(i=1,n,L[i]*R[p[i]])|p<-[numtoperm(n,j)|j<-[0..n!-1]]]);
  [Q,G]
}