Dear GAP Forum,
I have a query about the construction of finite fields using the form
where pol is a polynomial.
The first remark is that this function does not in fact expect a GAP polynomial
at all, but a list of coefficients. That is not a serious problem, however.
My main problem is how to refer to the field elements once the field is
constructed. I want to refer to them as polynomials over the ground
field in the indeterminate w, where 'pol' is the minimal polynomial of w
that I have specified. But how do I refer to w?
If w is a primitive root, then it apparently is given by F.root.
gap> F:=GF(2,[Z(2)^0, 0*Z(2), Z(2)^0,Z(2)^0 ]); GF(2^3) gap> F.root; Z(2^3)^3 gap> MinPol(F.root); [ Z(2)^0, 0*Z(2), Z(2)^0, Z(2)^0 ] gap>
but, in general, w may not be a primitive root and, if not, then F.root
does not appear to get itself defined at all.
gap> F:=GF(2,[ Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0 ]); GF(2^4) gap> F.root; Error, Record: element 'root' must have an assigned value gap>
This is serious, because a lot of the GAP code that I have written for finite
fields uses the .root component. Is there any way that I can define F.root
in such a case without causing problems? Or do I have to make sure that I
only call the function for primitive elements?