macsyma on Wed, 31 Jul 2019 03:43:08 +0200
|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
- To: "pari-users@pari.math.u-bordeaux.fr" <pari-users@pari.math.u-bordeaux.fr>
- Subject: Re: nfgaloisconj
- From: macsyma <macsyma@yahoo.co.jp>
- Date: Wed, 31 Jul 2019 10:40:45 +0900 (JST)
- Delivery-date: Wed, 31 Jul 2019 03:43:08 +0200
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1564537246; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:To:Message-ID:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:References; bh=5AXdXtQHDHIRc1RULflYX5YDZ0XLDuDCXIEvPspjvxA=; b=AdCeF41OYJNp25re8Xe+ZBA5b31mE3A9wDO15J0iU0Q421R7bE8pnsR9x7E8yOjq wUHtpQ5EhSIG9tnIZZx6oygztlHyxaDASE74ZD7UUyeefXMoSPQ/Lsc0npJA42nBgwd 5OPpuLcwGoycnj2nrnJ6Lg7OMcdj2OfjpD2gdBB4=
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=yj20110701; d=yahoo.co.jp; h=Date:From:Reply-To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References; b=EoDWmsFC1MYviz8XgFnMAK0PY09QfR5lYSHOIw+1pgiZx9oAbEgQqyi4GgMw6m37 riB+j2qYXC9jdmrsPiQeIIkeYzN31hzB0lXRO60L/z7k/GXbds9MTfR3SvBpD5tUVv8 p+ChPYYuzJ1q0KqDlWPJ6eUiJ5W/kbaqJLthkhbk=;
- References: <75448873.2033235.1564537245649.JavaMail.yahoo.ref@jws704102.mail.ssk.yahoo.co.jp>
- Reply-to: macsyma <macsyma@yahoo.co.jp>
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