z1 + z2
z1
- z2
z1 * z2
z1 / z2
The operators +
, -
, *
and /
evaluate to the sum, difference, product, and quotient of the two finite
field elements z1 and z2, which must lie in fields of
the same characteristic. For the quotient /
z2 must
of course be nonzero. The result must of course lie in a finite field of size
less than or equal to 2^(16), otherwise an error is signalled.
Either operand may also be an integer i. If i is zero
it is taken as the zero in the finite field, i.e., F.zero
,
where F is a field record for the finite field in which the other
operand lies. If i is positive, it is taken as i-fold
sum F.one+F.one+..+F.one
. If
i is negative it is taken as the additive inverse of -i
.
gap> Z(8) + Z(8)^4; Z(2^3)^2 gap> Z(8) - 1; Z(2^3)^3 gap> Z(8) * Z(8)^6; Z(2)^0 gap> Z(8) / Z(8)^6; Z(2^3)^2 gap> -Z(9); Z(3^2)^5
z ^ i
The powering operator ^
returns the i-th power of the
element in a finite field z. i must be an integer. If
the exponent i is zero, z^i
is
defined as the one in the finite field, even if z is zero; if
i is positive, z^i
is defined
as the i-fold product z*z*..*z
;
finally, if i is negative, z^i
is defined as (1/z)^-i
. In this case z
must of course be nonzero.
gap> Z(4)^2; Z(2^2)^2 gap> Z(4)^3; Z(2)^0 # is in fact 1 gap> (0*Z(4))^0; Z(2)^0