1 | initial version |
The link to the article is (https://arxiv.org/abs/1103.5728)[https://arxiv.org/abs/1103.5728] .
I think, the following code is relevant - for the comment, not for the posted question:
p0 = 5
n = 7
S.<x> = ZZ[]
R = x^n - p0^(n-1)*x + p0
Rx = n*x^(n-1) - p0^(n-1)
F.<u> = CyclotomicField( n-1 )
L.<a> = F.extension( x^(n-1) - n )
LPrimes = L.primes_of_degree_one_list( 100 )
for LP1 in LPrimes:
p1 = LP1.relative_norm().norm()
Fp1 = GF(p1)
Rp1 = PolynomialRing( Fp1, names='x' )
print "p1 = %s" % p1
print "R mod p1 is %s :: %s" % ( Rp1(R ), 'IRRED' if Rp1(R).is_irreducible() else 'RED' )
print "Rx mod p1 is %s == %s" % ( Rp1(Rx), Rp1(Rx).factor() )
(Have to send, and catch that train, possibly be back again.)