next up previous contents
Next: Matrices and Vectors Up: Finite Fields Previous: Finite Fields   Contents

Finite Field Elements and Related Operations

In a general case, linear codes can encrypt elements of any finite field. When encoding html documents, all of the data elements will be elements of the field $ \mathbb{F}_{2}$, 1s and 0s. The first classes in the LinearCodes package, the package that will contain the applets for displaying the different linear codes and encoding webpages, will be the classes defining finite field elements and their operations. FieldElem Class The first step in defining the finite field data elements is identifying what kind of field elements we need to use. Generally we want our codes to be able to handel any field element. For this reason I wrote an abstract class, FieldElem, that listed all the methods and instance variables that I wanted any type of field element to have. I wrote methods to add, multiply, get the inverse or negative of, and return the one or zero in the field of any given field element. Below is a link to the java file for the FieldElem class. FieldElem.java FieldOps Class Secondly, we need a class of static operations that will take and return any type of field elements. Ideally, this static class would throw errors in methods that were passed arguments of mismtching fields. Because we will only ever be using $ \mathbb{F}_{2}$ elements, I was not concerned with writing or handling errors. If this package was extended to include different field elements, which is provided for by the abstract class FieldElem, all methods would have to verify that the elements passed to them were members of the same field. The FieldOps class has many methods similar to those included in the FieldElem class. The important difference between the methods in each class is that FieldOps methods are static. This means that the FieldOps methods will return new field elements. By using the FieldOps methods in later classes, we can create new field elements without altering the field element arguments that we pass to the methods. Below is a link to the java file for the FieldOps class. FieldOps.java FPElem Class In the linear codes package there is one class that extends FieldElem. The FPElem class constructs finite field elements of base $ p$. FPElem implements all the methods in FieldElem, but like in FieldOps none of these methods throw or catch errors. All of the other classes in the LinearCodes package take and return arguments of the type FieldElem, but both the encoding and code display applets will only use arguments of type FPElem with base 2. In the applets displaying FPElem data elements, the elements are shown as ''( number1 % number2 )", where number1 is the value of the element and number2 is the base. Below is a link to the java file for the FPElem class. FPElem.java
next up previous contents
Next: Matrices and Vectors Up: Finite Fields Previous: Finite Fields   Contents
Frederick Leitner 2004-09-01