As already mentioned, algebraic extensions are fields. Thus all field
functions like Norm
and Trace
are applicable.
gap> Trace(r^4+2*r); 14 gap> Norm(ran); 305
DefaultField
always returns the algebraic extension, which contains the
Algebraic Extension Elements.
gap> DefaultField(r^2); e
As subfields are not yet supported, Field
will issue an error, if
several elements are given, or if the element is not a primitive element
for its default field.
You can create a polynomial ring over an algebraic extension to which all functions described in Ring Functions for Polynomial Rings can be applied, for example you can factor polynomials. Factorization is done --- depending on the polynomial --- by factoring the squarefree norem or using a hensel lift (with possibly added lattice reduction) as described in Abb89, using bounds from BTW93.
gap> X(e).name:="X";; gap> p1:=EmbeddedPolynomial(PolynomialRing(e),p1); X^2 + 3*X + 1 gap> Factors(p1); [ X + (-1*alpha^2), X + (alpha^2+3) ]
GAP 3.4.4