Finite Vector Spaces

Fp is the field of prime order p.

Fpn is the set of all n-tuples 1 , δ2, ..., δn) of elements of Fp.

The Position Map

The position map lays out Fp2m as a square of order pm. In the square, the rows and columns are numbered from 0 to pm-1. Let x = (δ1, δ2, ..., δ2m) be an element of Fp2m. Let

δi = μ(di),

0 ≤ di < p,

i = 1, ..., 2m .

Then Px is the cell at row r and column c, where

r = d1pm-1 + d2pm-2 + ... + dm

c = dm+1pm-1 + dm+2pm-2 + ... + d2m .

What's going on here? The coordinates of x are interpreted as integers from 0 to p-1; they are separated into two groups of m numbers, which are then used as the "digits" of r and c in base p.

Here is an applet which demonstrates how the position map works. The "P" and "M" menus allow you to select a square whose order pm is between 2 and 32. The other menus allow you to select values for d1, ... , d2m. The corresponding position in the square is shown by a green square. Alternatively, if you click on a position in the square, then the corresponding values of d1, ... , d2m are displayed in the menus.

P: M:

The Value Map

Just as the position map assigns a cell in the pm × pm square to every element of Fp2m, the value map assigns to every such element a number in the range 0 ≤ n < p2m. As before, let x = (δ1, δ2, ..., δ2m) be an element of Fp2m. Let

δi = μ(di),

0 ≤ di < p,

i = 1, ..., 2m .

Then

Vx = d1·p2m-1 +... + d2m.

In effect, the coordinates of x are being used as digits in the base-p expansion of Vx.

Vector Addition

In a vector space over Fp, two elements can be added or subtracted, and an element of the vector space can be multiplied by an element of Fp. The sum of two elements of Fpn is defined thus:

1 , δ2, ..., δn) + (δ′1 , δ′2, ..., δ′n) = (δ1+δ′1, ..., δn+δ′n) .

Here is an applet that demonstrates addition on Fp2m arranged as a square of order pm. In the equation U + V = W, the three vectors are color-coded. As in the previous applet, there are "P" and "M" menus with which to control the order of the square. For U and V, there are menus to select the values of d1, ... , d2m. The corresponding values for W are shown. You can also change the positions of U and V in the square: a "control-click" (or click with the right mouse button) on a position will bring up a menu which gives you the choice of moving either U or V to that position.

P: M:
U:
V:
W:

Multiplication of a Field Element and a Vector

The product of an element of an element Fp and an element of Fpn is defined thus:

κ(δ1 , δ2, ..., δn) = (κδ1, κδ2, ..., κδn) .

Here is an applet that demonstrates multiplication by a field element κ in Fp of an element U in Fp2m. The "P" and "M" menus are like those in the previous applets. As in the previous applet, there are menus to select the values of d1, ... , d2m for U, and there is another to select the value of κ. In the square, U is represented by a red cell, and W = κU is represented in blue. If you click on a position in the square, U will be moved to that position.

P: M:
κ:
U:
W:

Hey, Wait a Minute

Aren't vectors geometrical? I'm pretty sure I remember learning that a vector was something that had length and direction.

Well, yes; if the field elements are real numbers, elements of R rather than elements of Fp, then the vectors are geometrical. R2 is a useful algebraic tool for studying plane geometry, and R3 is the same for solid geometry. Now R2 and R3 are just special cases of Rn. If you do your geometry using the algebra of vectors, then the extension from two or three dimensions to four or more is almost easier to do than to refrain from doing. The extension to other base fields, such as Fp, empowers us to use our intuitions about lines and planes in a different and novel context.

Linear Subspaces and Affine Subspaces

Lines and planes in space are described in linear algebra as affine subspaces. To begin with, a linear subspace is a set of vectors which includes u + v if it includes u and v, and includes κu if it includes u and κ is a field element. An affine subspace is a set that can be constructed from a linear subspace by adding a fixed vector to each member of it. That is, A is an affine subspace if there is a linear subspace S and a vector w such that A consists of those vectors w + x where x belongs to S. We say that A is parallel to S, and that all the affine spaces parallel to S are parallel to one another.

Affine subspaces are sometimes called flats. I will generally adhere to this usage; when the dimension of a flat is particularly important, I will call it a 2-flat, 3-flat, etc.

Here is an applet that demonstrates the behavior of flats in Fp2m. You can select a set of points in the vector space, and the applet will show you the flat which they span, that is, the smallest flat containing them. This set is independent if no proper subset spans the same flat. The applet will only let you choose an independent set of points. The points belonging to the flat are shown in green, and the spanning set are emphasized by dots. To manipulate the spanning set, you can "control-click" over a cell. A pop-up menu will show you what operations are available for this cell; if it is one of the selected points then you can remove it, or if it is not already in the affine subspace you can add it to the spanning set. The flat can be translated to a parallel flat using the pop-up menu; if you control-click a cell belonging to the flat and select "Translate", then clicking on another cell will have the effect of moving the former cell of the flat to the latter point, and translating the entire flat accordingly.

Parallel flats can be displayed in another way as well. If you click on the button marked "Color parallels at random," then a random color will be chosen for each flat, and its points will be marked by lozenges of that color. You can also control-click on a cell that is not in the flat, and a color chooser will enable you to select a color for that parallel. The button marked "Blank out parallels" will remove the colored lozenges.

P: M:
Color parallel flats at random
Blank out parallel flats

Linear and Affine Functions

On the vector space Fpn, a linear function is a function f from the vector space to Fp, satisfying
f(u + v) = f(u) + f(v)
and
f(κu) = κf(u)
where u and v belong to Fpn and κ belongs to Fp.

An affine function is a linear function plus a constant. More formally, it is a function of the form u → f(u) + λ where f is linear and λ is an element of Fp. An affine function is determined by its values at a set of points that is independent and spans the entire space.

The accompanying applet demonstrates affine functions on vector spaces of the form Fp2m displayed as squares. Having chosen the values of p and m, you can select the value of the function at each of 2m + 1 points. The points for the selection are Z = (0,0,...,0) and e1, ..., e2m, where ei has all components 0 except for a 1 at the i-th place. Menus are provided in which you can select the value at each of these points; the labels also indicate their positions. The spanning points are highlighted by a pale green background.

P: M:

If an affine function A has the form A(u) = L(u) + c where c is constant and L is linear, then we shall call L the linear part of A, and c the constant part.

Linear and Affine Maps

If L1, ..., L2m are linear functions, then they determine a linear map L from Fp2m to itself, thus:

Lu = (L1u, ..., L2mu) .

Similarly, if A1, ..., A2m are affine functions, then they determine an affine map A:

Au = (A1u, ..., A2mu) .

We will say that L1, ..., L2m and A1, ..., A2m are the components of L and A respectively.

Last modified on $Date: 2009-06-24 22:22:52 -0400 (Wed, 24 Jun 2009) $

Christopher J. Henrich