> < ^ Date: Wed, 19 May 1993 16:44:44 +0200
> < ^ From: Derek Holt <dfh@maths.warwick.ac.uk >
> ^ Subject: Query about finite fields

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]