> < ^ From:

> ^ Subject:

Dear GAP Forum,

I have a query about the construction of finite fields using the form

GaloisField(p,pol),

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.

e.g.

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.

e.g.

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?

Derek Holt.

> < [top]