FiniteFieldCyclicGroupExtensionByPolynomial(GF, defpol)ΒΆ
ffdoms.spad line 1617 [edit on github]
defpol: SparseUnivariatePolynomial GF
FiniteFieldCyclicGroupExtensionByPolynomial(GF
, defpol) implements a finite extension field of the ground field GF. Its elements are represented by powers of a primitive element, i.e. a generator of the multiplicative (cyclic) group. As primitive element we choose the root of the extension polynomial defpol, which MUST be primitive (user responsibility). Zech logarithms are stored in a table of size half of the field size, and use SingleInteger for representing field elements, hence, there are restrictions on the size of the field.
- 0: %
from AbelianMonoid
- 1: %
from MagmaWithUnit
- *: (%, %) -> %
from Magma
- *: (%, Fraction Integer) -> %
from RightModule Fraction Integer
- *: (%, GF) -> %
from RightModule GF
- *: (Fraction Integer, %) -> %
from LeftModule Fraction Integer
- *: (GF, %) -> %
from LeftModule GF
- *: (Integer, %) -> %
from AbelianGroup
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> %
from AbelianGroup
- -: (%, %) -> %
from AbelianGroup
- /: (%, %) -> %
from Field
- /: (%, GF) -> %
from ExtensionField GF
- ^: (%, Integer) -> %
from DivisionRing
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- algebraic?: % -> Boolean
from ExtensionField GF
- annihilate?: (%, %) -> Boolean
from Rng
- antiCommutator: (%, %) -> %
- associates?: (%, %) -> Boolean
from EntireRing
- associator: (%, %, %) -> %
from NonAssociativeRng
- basis: () -> Vector %
from FramedModule GF
- basis: PositiveInteger -> Vector %
from FiniteAlgebraicExtensionField GF
- characteristic: () -> NonNegativeInteger
from NonAssociativeRing
- characteristicPolynomial: % -> SparseUnivariatePolynomial GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- charthRoot: % -> %
from FiniteFieldCategory
- charthRoot: % -> Union(%, failed)
- coerce: % -> %
from Algebra %
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: Fraction Integer -> %
- coerce: GF -> %
from Algebra GF
- coerce: Integer -> %
from NonAssociativeRing
- commutator: (%, %) -> %
from NonAssociativeRng
- conditionP: Matrix % -> Union(Vector %, failed)
- convert: % -> InputForm
from ConvertibleTo InputForm
- convert: % -> Vector GF
from FramedModule GF
- convert: Vector GF -> %
from FramedModule GF
- coordinates: % -> Vector GF
from FramedModule GF
- coordinates: (%, Vector %) -> Vector GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- coordinates: (Vector %, Vector %) -> Matrix GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- coordinates: Vector % -> Matrix GF
from FramedModule GF
- createNormalElement: () -> %
from FiniteAlgebraicExtensionField GF
- createPrimitiveElement: () -> %
from FiniteFieldCategory
- D: % -> %
from DifferentialRing
- D: (%, NonNegativeInteger) -> %
from DifferentialRing
- definingPolynomial: () -> SparseUnivariatePolynomial GF
from FiniteAlgebraicExtensionField GF
- degree: % -> OnePointCompletion PositiveInteger
from ExtensionField GF
- degree: % -> PositiveInteger
from FiniteAlgebraicExtensionField GF
- differentiate: % -> %
from DifferentialRing
- differentiate: (%, NonNegativeInteger) -> %
from DifferentialRing
- discreteLog: % -> NonNegativeInteger
from FiniteFieldCategory
- discreteLog: (%, %) -> Union(NonNegativeInteger, failed)
- discriminant: () -> GF
from FramedAlgebra(GF, SparseUnivariatePolynomial GF)
- discriminant: Vector % -> GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- divide: (%, %) -> Record(quotient: %, remainder: %)
from EuclideanDomain
- 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
- extensionDegree: () -> OnePointCompletion PositiveInteger
from ExtensionField GF
- extensionDegree: () -> PositiveInteger
from FiniteAlgebraicExtensionField GF
- factorsOfCyclicGroupSize: () -> List Record(factor: Integer, exponent: NonNegativeInteger)
from FiniteFieldCategory
- Frobenius: % -> %
from ExtensionField GF
- Frobenius: (%, NonNegativeInteger) -> %
from ExtensionField GF
- gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %
- generator: () -> %
from FiniteAlgebraicExtensionField GF
- getZechTable: () -> PrimitiveArray SingleInteger
getZechTable()
returns the zech logarithm table of the field it is used to perform additions in the field quickly.
- hash: % -> SingleInteger
from Hashable
- hashUpdate!: (HashState, %) -> HashState
from Hashable
- index: PositiveInteger -> %
from Finite
- inGroundField?: % -> Boolean
from ExtensionField GF
- init: %
from StepThrough
- inv: % -> %
from DivisionRing
- latex: % -> String
from SetCategory
- lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %)
from LeftOreRing
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
from MagmaWithUnit
- linearAssociatedExp: (%, SparseUnivariatePolynomial GF) -> %
from FiniteAlgebraicExtensionField GF
- linearAssociatedLog: % -> SparseUnivariatePolynomial GF
from FiniteAlgebraicExtensionField GF
- linearAssociatedLog: (%, %) -> Union(SparseUnivariatePolynomial GF, failed)
from FiniteAlgebraicExtensionField GF
- lookup: % -> PositiveInteger
from Finite
- minimalPolynomial: % -> SparseUnivariatePolynomial GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- minimalPolynomial: (%, PositiveInteger) -> SparseUnivariatePolynomial %
from FiniteAlgebraicExtensionField GF
- multiEuclidean: (List %, %) -> Union(List %, failed)
from EuclideanDomain
- nextItem: % -> Union(%, failed)
from StepThrough
- norm: % -> GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- norm: (%, PositiveInteger) -> %
from FiniteAlgebraicExtensionField GF
- normal?: % -> Boolean
from FiniteAlgebraicExtensionField GF
- normalElement: () -> %
from FiniteAlgebraicExtensionField GF
- one?: % -> Boolean
from MagmaWithUnit
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- order: % -> OnePointCompletion PositiveInteger
- order: % -> PositiveInteger
from FiniteFieldCategory
- plenaryPower: (%, PositiveInteger) -> %
from NonAssociativeAlgebra %
- primeFrobenius: % -> %
- primeFrobenius: (%, NonNegativeInteger) -> %
- primitive?: % -> Boolean
from FiniteFieldCategory
- primitiveElement: () -> %
from FiniteFieldCategory
- principalIdeal: List % -> Record(coef: List %, generator: %)
from PrincipalIdealDomain
- quo: (%, %) -> %
from EuclideanDomain
- rank: () -> PositiveInteger
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- recip: % -> Union(%, failed)
from MagmaWithUnit
- regularRepresentation: % -> Matrix GF
from FramedAlgebra(GF, SparseUnivariatePolynomial GF)
- regularRepresentation: (%, Vector %) -> Matrix GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- rem: (%, %) -> %
from EuclideanDomain
- representationType: () -> Union(prime, polynomial, normal, cyclic)
from FiniteFieldCategory
- represents: (Vector GF, Vector %) -> %
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- represents: Vector GF -> %
from FramedModule GF
- retract: % -> GF
from RetractableTo GF
- retractIfCan: % -> Union(GF, failed)
from RetractableTo GF
- 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: % -> %
- subtractIfCan: (%, %) -> Union(%, failed)
- tableForDiscreteLogarithm: Integer -> Table(PositiveInteger, NonNegativeInteger)
from FiniteFieldCategory
- trace: % -> GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- trace: (%, PositiveInteger) -> %
from FiniteAlgebraicExtensionField GF
- traceMatrix: () -> Matrix GF
from FramedAlgebra(GF, SparseUnivariatePolynomial GF)
- traceMatrix: Vector % -> Matrix GF
from FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
- transcendenceDegree: () -> NonNegativeInteger
from ExtensionField GF
- transcendent?: % -> Boolean
from ExtensionField GF
- unit?: % -> Boolean
from EntireRing
- unitCanonical: % -> %
from EntireRing
- unitNormal: % -> Record(unit: %, canonical: %, associate: %)
from EntireRing
- zero?: % -> Boolean
from AbelianMonoid
Algebra %
Algebra GF
BiModule(%, %)
BiModule(Fraction Integer, Fraction Integer)
BiModule(GF, GF)
CharacteristicZero if GF has CharacteristicZero
FiniteAlgebraicExtensionField GF
FiniteRankAlgebra(GF, SparseUnivariatePolynomial GF)
FramedAlgebra(GF, SparseUnivariatePolynomial GF)
FramedModule GF
LeftModule GF
Module %
Module GF
NonAssociativeAlgebra Fraction Integer
PolynomialFactorizationExplicit
RightModule GF