| macsyma on Wed, 31 Jul 2019 03:43:08 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: nfgaloisconj |
Thank you, Bill.
> nfsplittingaut
The following simple one seems to be slightly faster than it
as far as experiments using x^n-1, polcyclo() and galoisgetpol().
G12p(f) =
{
my(g = nfsplitting(f), d = poldegree(g),
R = nfisincl(f, g), v = variable(f), P, N, M, G1, K, G2);
forprime(p = 2, oo, P = polrootsmod(g, p)~;
if(#P == d && Mod(poldisc(f), p), break));
N = subst(R, v, P);
M = Map(Mat([N[1]~, [1..poldegree(f)]~]));
G1 = [Vecsmall([mapget(M, s)|s <- t])|t <- N];
K = matinverseimage(matconcat(vector(d, i, subst(R, v, i))~), [1..d]~);
G2 = [R*[K[s]|s <- Vec(t^(-1))]~|t <- G1];
[G1, G2]
};
In what kind of case is it faster to use the quotient ring ?
macsyma