# FiniteField(p, n)ΒΆ

FiniteField(`p`, `n`) implements finite fields with `p^n` elements. This packages checks that `p` is prime. For a non-checking version, see InnerFiniteField.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (%, Fraction Integer) -> %
*: (%, PrimeField p) -> %
*: (Fraction Integer, %) -> %
*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (PrimeField p, %) -> %

from LeftModule PrimeField p

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, %) -> %

from Field

/: (%, PrimeField p) -> %
=: (%, %) -> Boolean

from BasicType

^: (%, Integer) -> %

from DivisionRing

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

algebraic?: % -> Boolean
annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %
associates?: (%, %) -> Boolean

from EntireRing

associator: (%, %, %) -> %
basis: () -> Vector %
basis: PositiveInteger -> Vector %
characteristic: () -> NonNegativeInteger
characteristicPolynomial: % -> SparseUnivariatePolynomial PrimeField p
charthRoot: % -> %
charthRoot: % -> Union(%, failed)
coerce: % -> %

from Algebra %

coerce: % -> OutputForm
coerce: Fraction Integer -> %
coerce: Integer -> %
coerce: PrimeField p -> %
commutator: (%, %) -> %
conditionP: Matrix % -> Union(Vector %, failed)
convert: % -> InputForm
convert: % -> Vector PrimeField p
convert: Vector PrimeField p -> %
coordinates: % -> Vector PrimeField p
coordinates: (%, Vector %) -> Vector PrimeField p
coordinates: (Vector %, Vector %) -> Matrix PrimeField p
coordinates: Vector % -> Matrix PrimeField p
createNormalElement: () -> %
createPrimitiveElement: () -> %
D: % -> %

from DifferentialRing

D: (%, NonNegativeInteger) -> %

from DifferentialRing

definingPolynomial: () -> SparseUnivariatePolynomial PrimeField p
degree: % -> OnePointCompletion PositiveInteger
degree: % -> PositiveInteger
differentiate: % -> %

from DifferentialRing

differentiate: (%, NonNegativeInteger) -> %

from DifferentialRing

discreteLog: % -> NonNegativeInteger
discreteLog: (%, %) -> Union(NonNegativeInteger, failed)
discriminant: () -> PrimeField p
discriminant: Vector % -> PrimeField p
divide: (%, %) -> Record(quotient: %, remainder: %)

from EuclideanDomain

enumerate: () -> List %

from Finite

euclideanSize: % -> NonNegativeInteger

from EuclideanDomain

expressIdealMember: (List %, %) -> Union(List %, failed)
exquo: (%, %) -> Union(%, failed)

from EntireRing

extendedEuclidean: (%, %) -> Record(coef1: %, coef2: %, generator: %)

from EuclideanDomain

extendedEuclidean: (%, %, %) -> Union(Record(coef1: %, coef2: %), failed)

from EuclideanDomain

extensionDegree: () -> OnePointCompletion PositiveInteger
extensionDegree: () -> PositiveInteger
factor: % -> Factored %
factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %
factorsOfCyclicGroupSize: () -> List Record(factor: Integer, exponent: NonNegativeInteger)
factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %
Frobenius: % -> %
Frobenius: (%, NonNegativeInteger) -> %
gcd: (%, %) -> %

from GcdDomain

gcd: List % -> %

from GcdDomain

gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %
generator: () -> %
hash: % -> SingleInteger

from Hashable

hashUpdate!: (HashState, %) -> HashState

from Hashable

index: PositiveInteger -> %

from Finite

inGroundField?: % -> Boolean
init: %

from StepThrough

inv: % -> %

from DivisionRing

latex: % -> String

from SetCategory

lcm: (%, %) -> %

from GcdDomain

lcm: List % -> %

from GcdDomain

lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %)

from LeftOreRing

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

linearAssociatedExp: (%, SparseUnivariatePolynomial PrimeField p) -> %
linearAssociatedLog: % -> SparseUnivariatePolynomial PrimeField p
linearAssociatedLog: (%, %) -> Union(SparseUnivariatePolynomial PrimeField p, failed)
linearAssociatedOrder: % -> SparseUnivariatePolynomial PrimeField p
lookup: % -> PositiveInteger

from Finite

minimalPolynomial: % -> SparseUnivariatePolynomial PrimeField p
minimalPolynomial: (%, PositiveInteger) -> SparseUnivariatePolynomial %
multiEuclidean: (List %, %) -> Union(List %, failed)

from EuclideanDomain

nextItem: % -> Union(%, failed)

from StepThrough

norm: % -> PrimeField p
norm: (%, PositiveInteger) -> %
normal?: % -> Boolean
normalElement: () -> %
one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

order: % -> OnePointCompletion PositiveInteger
order: % -> PositiveInteger
plenaryPower: (%, PositiveInteger) -> %
prime?: % -> Boolean
primeFrobenius: % -> %
primeFrobenius: (%, NonNegativeInteger) -> %
primitive?: % -> Boolean
primitiveElement: () -> %
principalIdeal: List % -> Record(coef: List %, generator: %)
quo: (%, %) -> %

from EuclideanDomain

random: () -> %

from Finite

rank: () -> PositiveInteger
recip: % -> Union(%, failed)

from MagmaWithUnit

regularRepresentation: % -> Matrix PrimeField p
regularRepresentation: (%, Vector %) -> Matrix PrimeField p
rem: (%, %) -> %

from EuclideanDomain

representationType: () -> Union(prime, polynomial, normal, cyclic)
represents: (Vector PrimeField p, Vector %) -> %
represents: Vector PrimeField p -> %
retract: % -> PrimeField p
retractIfCan: % -> Union(PrimeField p, failed)
rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from AbelianMonoid

size: () -> NonNegativeInteger

from Finite

sizeLess?: (%, %) -> Boolean

from EuclideanDomain

smaller?: (%, %) -> Boolean

from Comparable

solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed)
squareFree: % -> Factored %
squareFreePart: % -> %
squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %
subtractIfCan: (%, %) -> Union(%, failed)
tableForDiscreteLogarithm: Integer -> Table(PositiveInteger, NonNegativeInteger)
trace: % -> PrimeField p
trace: (%, PositiveInteger) -> %
traceMatrix: () -> Matrix PrimeField p
traceMatrix: Vector % -> Matrix PrimeField p
transcendenceDegree: () -> NonNegativeInteger
transcendent?: % -> Boolean
unit?: % -> Boolean

from EntireRing

unitCanonical: % -> %

from EntireRing

unitNormal: % -> Record(unit: %, canonical: %, associate: %)

from EntireRing

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

BiModule(%, %)

CancellationAbelianMonoid

canonicalsClosed

canonicalUnitNormal

CharacteristicNonZero

CommutativeRing

CommutativeStar

Comparable

DifferentialRing

DivisionRing

EntireRing

EuclideanDomain

Field

FieldOfPrimeCharacteristic

Finite

FiniteFieldCategory

GcdDomain

Hashable

IntegralDomain

LeftOreRing

Magma

MagmaWithUnit

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors

PolynomialFactorizationExplicit

PrincipalIdealDomain

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

StepThrough

TwoSidedRecip

UniqueFactorizationDomain

unitsKnown