FiniteFieldCategory
ffcat.spad line 426
[edit on github]
FiniteFieldCategory is the category of finite fields
- * : (%, %) -> %
- from Magma
- * : (%, Fraction(Integer)) -> %
- from RightModule(Fraction(Integer))
- * : (Fraction(Integer), %) -> %
- from LeftModule(Fraction(Integer))
- * : (Integer, %) -> %
- from AbelianGroup
- * : (NonNegativeInteger, %) -> %
- from AbelianMonoid
- * : (PositiveInteger, %) -> %
- from AbelianSemiGroup
- + : (%, %) -> %
- from AbelianSemiGroup
- - : % -> %
- from AbelianGroup
- - : (%, %) -> %
- from AbelianGroup
- / : (%, %) -> %
- from Field
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> %
- from MagmaWithUnit
- = : (%, %) -> Boolean
- from BasicType
- D : % -> %
- from DifferentialRing
- D : (%, NonNegativeInteger) -> %
- from DifferentialRing
- ^ : (%, Integer) -> %
- from DivisionRing
- ^ : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> %
- from Magma
- annihilate? : (%, %) -> Boolean
- from Rng
- antiCommutator : (%, %) -> %
- from NonAssociativeSemiRng
- associates? : (%, %) -> Boolean
- from EntireRing
- associator : (%, %, %) -> %
- from NonAssociativeRng
- characteristic : () -> NonNegativeInteger
- from NonAssociativeRing
- charthRoot : % -> %
charthRoot(a)
takes the characteristic'th root of a. Note: such a root is always defined in finite fields.
- charthRoot : % -> Union(%, "failed")
- from PolynomialFactorizationExplicit
- coerce : % -> %
- from Algebra(%)
- coerce : Fraction(Integer) -> %
- from Algebra(Fraction(Integer))
- coerce : Integer -> %
- from NonAssociativeRing
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- commutator : (%, %) -> %
- from NonAssociativeRng
- conditionP : Matrix(%) -> Union(Vector(%), "failed")
- from PolynomialFactorizationExplicit
- convert : % -> InputForm
- from ConvertibleTo(InputForm)
- createPrimitiveElement : () -> %
createPrimitiveElement()
computes a generator of the (cyclic) multiplicative group of the field.
- differentiate : % -> %
- from DifferentialRing
- differentiate : (%, NonNegativeInteger) -> %
- from DifferentialRing
- discreteLog : % -> NonNegativeInteger
discreteLog(a)
computes the discrete logarithm of a
with respect to primitiveElement()
of the field.
- discreteLog : (%, %) -> Union(NonNegativeInteger, "failed")
- from FieldOfPrimeCharacteristic
- divide : (%, %) -> Record(quotient : %, remainder : %)
- from EuclideanDomain
- enumerate : () -> List(%)
- from Finite
- euclideanSize : % -> NonNegativeInteger
- from EuclideanDomain
- expressIdealMember : (List(%), %) -> Union(List(%), "failed")
- from PrincipalIdealDomain
- exquo : (%, %) -> Union(%, "failed")
- from EntireRing
- extendedEuclidean : (%, %) -> Record(coef1 : %, coef2 : %, generator : %)
- from EuclideanDomain
- extendedEuclidean : (%, %, %) -> Union(Record(coef1 : %, coef2 : %), "failed")
- from EuclideanDomain
- factor : % -> Factored(%)
- from UniqueFactorizationDomain
- factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))
- from PolynomialFactorizationExplicit
- factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))
- from PolynomialFactorizationExplicit
- factorsOfCyclicGroupSize : () -> List(Record(factor : Integer, exponent : NonNegativeInteger))
factorsOfCyclicGroupSize()
returns the factorization of size()-1
- gcd : (%, %) -> %
- from GcdDomain
- gcd : List(%) -> %
- from GcdDomain
- gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
- from PolynomialFactorizationExplicit
- hash : % -> SingleInteger
- from Hashable
- hashUpdate! : (HashState, %) -> HashState
- from Hashable
- index : PositiveInteger -> %
- from Finite
- 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
- lookup : % -> PositiveInteger
- from Finite
- multiEuclidean : (List(%), %) -> Union(List(%), "failed")
- from EuclideanDomain
- nextItem : % -> Union(%, "failed")
- from StepThrough
- one? : % -> Boolean
- from MagmaWithUnit
- opposite? : (%, %) -> Boolean
- from AbelianMonoid
- order : % -> OnePointCompletion(PositiveInteger)
- from FieldOfPrimeCharacteristic
- order : % -> PositiveInteger
order(b)
computes the order of an element b
in the multiplicative group of the field. Error: if b
equals 0.
- plenaryPower : (%, PositiveInteger) -> %
- from NonAssociativeAlgebra(%)
- prime? : % -> Boolean
- from UniqueFactorizationDomain
- primeFrobenius : % -> %
- from FieldOfPrimeCharacteristic
- primeFrobenius : (%, NonNegativeInteger) -> %
- from FieldOfPrimeCharacteristic
- primitive? : % -> Boolean
primitive?(b)
tests whether the element b
is a generator of the (cyclic) multiplicative group of the field, i.e. is a primitive element. Implementation Note: see ch
.IX.1.3, th.2 in D
. Lipson.
- primitiveElement : () -> %
primitiveElement()
returns a primitive element stored in a global variable in the domain. At first call, the primitive element is computed by calling createPrimitiveElement.
- principalIdeal : List(%) -> Record(coef : List(%), generator : %)
- from PrincipalIdealDomain
- quo : (%, %) -> %
- from EuclideanDomain
- random : () -> %
- from Finite
- recip : % -> Union(%, "failed")
- from MagmaWithUnit
- rem : (%, %) -> %
- from EuclideanDomain
- representationType : () -> Union("prime", "polynomial", "normal", "cyclic")
representationType()
returns the type of the representation, one of: prime
, polynomial
, normal
, or cyclic
.
- 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")
- from PolynomialFactorizationExplicit
- squareFree : % -> Factored(%)
- from UniqueFactorizationDomain
- squareFreePart : % -> %
- from UniqueFactorizationDomain
- squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))
- from PolynomialFactorizationExplicit
- subtractIfCan : (%, %) -> Union(%, "failed")
- from CancellationAbelianMonoid
- tableForDiscreteLogarithm : Integer -> Table(PositiveInteger, NonNegativeInteger)
tableForDiscreteLogarithm(a, n)
returns a table of the discrete logarithms of a^0
up to a^(n-1)
which, called with key lookup(a^i)
returns i
for i
in 0..n-1
. Error: if not called for prime divisors of order of multiplicative group.
- unit? : % -> Boolean
- from EntireRing
- unitCanonical : % -> %
- from EntireRing
- unitNormal : % -> Record(unit : %, canonical : %, associate : %)
- from EntireRing
- zero? : % -> Boolean
- from AbelianMonoid
- ~= : (%, %) -> Boolean
- from BasicType
IntegralDomain
Module(Fraction(Integer))
Comparable
ConvertibleTo(InputForm)
NonAssociativeSemiRng
Algebra(%)
RightModule(%)
Monoid
LeftModule(Fraction(Integer))
GcdDomain
UniqueFactorizationDomain
EuclideanDomain
CancellationAbelianMonoid
CharacteristicNonZero
NonAssociativeRing
MagmaWithUnit
RightModule(Fraction(Integer))
StepThrough
AbelianSemiGroup
LeftModule(%)
canonicalUnitNormal
CommutativeStar
Module(%)
Algebra(Fraction(Integer))
SetCategory
LeftOreRing
CoercibleTo(OutputForm)
SemiRing
Rng
Field
CommutativeRing
PolynomialFactorizationExplicit
TwoSidedRecip
Magma
PrincipalIdealDomain
SemiGroup
DivisionRing
BiModule(%, %)
AbelianGroup
AbelianMonoid
noZeroDivisors
NonAssociativeSemiRing
canonicalsClosed
NonAssociativeAlgebra(%)
NonAssociativeAlgebra(Fraction(Integer))
FieldOfPrimeCharacteristic
BiModule(Fraction(Integer), Fraction(Integer))
DifferentialRing
NonAssociativeRng
unitsKnown
Ring
SemiRng
EntireRing
Hashable
Finite
BasicType