Note: I have NOT studied cyclotomic fields.
I believe the problem lies in minpoly()
function. It has been reported that minpoly
sometimes doesn not return an irreducible polynomial.
Also, if you check where f
belongs, you will see that it is not in $\mathbb{Q}(\xi)_5[x]$ !.
sage: K.<b>=CyclotomicField(5);
sage: alpha=1+3*b^2;
sage: f=(1+3*b^2).minpoly()
sage: f.parent()
Univariate Polynomial Ring in x over Rational Field
sage: factor(f)
x^4 - x^3 + 6*x^2 + 14*x + 61
sage: G.<x> = K[] #Define a polynomial ring over K
sage: f = G(f) #Coerce f into G
sage: f.parent()
Univariate Polynomial Ring in x over Cyclotomic Field of order 5 and degree 4
sage: factor(f)
(x - 3*b - 1) * (x - 3*b^2 - 1) * (x - 3*b^3 - 1) * (x + 3*b^3 + 3*b^2 + 3*b + 2)
sage: f.is_irreducible()
False
Update:
Could you please elaborate which element would you like to append it to $\mathbb{Q}(\xi)_5$?
It seems to me that $\alpha$ is already in $\mathbb{Q}(\xi)_5$ but $\sqrt[5]{\alpha}$ is not. If you use fractional expontiation or the function nth_root
in minpoly
, it will gives you an error. I am afraid that you have to hardcode the equation $x^5 - \alpha$
sage: alpha in K
True
sage: alpha^(1/5) in K
False
sage: L.<a> = K.extension(x^5 - alpha)
sage: L
Number Field in a with defining polynomial x^5 - 3*b^2 - 1 over its base field
Second update
If you use fractional exponentiation or the function nth_root
in minpoly
, it will gives you an error.
It seems an issue need to be solved.
by the way, what f = G(f) means?
$f$ was living in $\mathbb{Q}$,i.e. arithmetic on $f$ would be carry over $\mathbb{Q}$, writing f = G(f)
tells sage $f$ is an element of $G$
Example:
sage: a = 7
sage: a^2
49
But,
sage: R = IntegerModRing(13)
sage: a = R(a)
sage: a
7
sage: a^2
10
sage: a + 6
0
For more information see