--Copyright The Numerical Algorithms Group Limited 1994.

-- This file demonstrates some calculations with the finite field of
-- 49 elements. It is built as a degree 2 extension of the Galois
-- field with 7 elements.
)cl all
)time off
 
gf72 := FF(7, 2)
-- x**2+1 is irreducible over PF 7
 
u: UP(x,PF 7) := x**2 + 1
factor u
 
-- but factors over FF(PF 7, 2)
 
u2 : UP(x,gf72) := u
factor u2
 
-- the following is the irreducible polynomial used in the representation
-- of GF(7**2) over PF 7. It will be the same every time this field is
-- used.
 
definingPolynomial()$gf72
 
-- e is a randomly chosen element
 
e := index(size()$gf72 quo 3)$gf72
norm e
trace e
 
-- the order of an element is the minimum positive integer to which
-- it can be raised to yield 1.
 
order e
 
-- we can display all the nonzero elements in the field
 
allElts := [index(i :: PI)$gf72 for i in 1..48]
 
-- we can sum over them
 
reduce(+,allElts)
 
-- and we can determine the order of each of them.  Each element of
-- order 48 generates the multiplicative group of non-zero elements.
 
[order e for e in allElts]
