We create a normal basis for
and observe how exponentiation
alters the vector components of an element.
> k<w> := GF(2, 1000); > time IsNormal(w); false Time: 17.590 > time e := NormalElement(k); Time: 78.279 > time B := [ IsZero(i) select e else Self(i)^2 : i in [0..999] ]; Time: 17.289 > time VS, iso := VectorSpace(k, GF(2), B); Time: 1.569 > VS, iso; Full Vector space of degree 1000 over GF(2) Mapping from: FldFin: k to ModTupFld: VSWe choose an element of k and map it to VS.
> r := w^947 + w^215 + w^32 + w^2 + 1; > rVS := r @ iso;Now we rotate the vector by three places, and map back to k.
> rot3 := (VS ! Rotate(Eltseq(rVS), 3)) @@ iso;
> rot3;
w^765 + w^764 + w^763 + w^760 + w^201 + w^200 + w^199 + w^197 + w^195 +
w^193 + w^191 + w^188 + w^181 + w^180 + w^179 + w^176 + w^72 + 1
> rot3 eq r^(2^3);
true
Previous Group: Lattice of finite fields
Up: Finite fields