# 5. Implemented functions

## New functions

The Galois field package includes many new functions listed below which are not contained in original Mathematica:

DeclareGaloisField
declares a Galois field to be effective.

IrreduciblePolynomial
returns the coefficient list of an irreducible polynomial which is used for a extension field of the argument.

ExtensionDegree
returns extension degree of a field of the argument.

Order
returns the order of the field.
returns the order of a element of Galois field if the argument is Galois field constant.

BaseField
returns the algebra name of the base field.

ExtensionDegree
returns the extension degree of an extension field.

Characteristic
returns the characterristic of a field.

AlgebraName
returns algebra names of variables which are contained in an expression .

DeclareVariables
declares symbols to be variables of a Galois field.

NonZero
declares variables to be nonzero elements.

NonZeroQ
returns TRUE if the given variable is a nonzero variable.

NonZeroVariables
returns the list of declared nonzero variables.

DeclareAlgebraicVariables ( DeclareIndeterminates )
declares symbols to be algebraic variables of a Galois field.

MakeGaloisField
makes a Galois field object as a file.

ClearAlgebra
clears all symboles which are related to a algebra name of the argument.

ClearVariables
clears variables of the arguments.

PolynomialRepresentation
convert a Galois field constant to its polynomial representation.

RegularRepresentation
convert a Galois field constant to its regular representation.

VectorRepresentation
convert a Galois field constant to its vector representation.

ExponentRepresentation
convert a Galois field constant to its exponential representation.

PthRoot
returns the p-th root of a Galois field constant.

ShiftRegister
is the process of a feedback shift register.

Polynomialize
the inverse process of the function CoefficientList.

PolynomialExtendedGCD
returns the gcd and coefficients of the extended GCD algorithm.

MinimalPolynomial
returns the minimal polynomial of a Galois field constant of the argument.

PrimitiveQ
returns TRUE if the argument is a primitive element of a Galois field.

## Modified functions

The following functions are modified to be effect over Galois fields:

Variables
does not out put Galois field constants.

PolynomialGCD
works on a polynomial over a Galois field.

Factor
works on a polynomial over a Galois field including an extension field.

FactorList
works on a polynomial over a Galois field.