1 | initial version |
Your friend here is the list
method, which will give you the coefficients of f
as a polynomial in xbar
.
Then you will be able to take its discriminant.
Let us illustrate this step by step.
To begin with, for reference, here is the Sage version used below.
sage: version()
'SageMath version 7.2, Release Date: 2016-05-15'
Let us set some values for n
and r
so that the code works and others can try it out.
sage: n = 13
sage: r = 7
Now define Zn
, R
, F
, y
, f
as you did.
sage: Zn = Zmod(n)
sage: R = PolynomialRing(Zn, 'x')
sage: F = R.quotient(x**r-1)
sage: y = F(x+1)
sage: f = F(y**n)
We get:
sage: f
xbar^6 + 1
Get the coefficients:
sage: f.list()
[1, 0, 0, 0, 0, 0, 1]
Define the ring of polynomials over ZZ
:
sage: Zx = PolynomialRing(ZZ, 'x')
The polynomial corresponding to f
:
sage: ff = Zx(f.list())
sage: ff
x^6 + 1
The discriminant of this polynomial:
sage: ff.discriminant()
-46656