MonogenicAlgebra(R, UP)

algcat.spad line 217 [edit on github]

A MonogenicAlgebra is an algebra of finite rank which can be generated by a single element.

* : (%, %) -> %
from Magma
* : (%, R) -> %
from RightModule(R)
* : (%, Fraction(Integer)) -> % if R has Field
from RightModule(Fraction(Integer))
* : (%, Integer) -> % if R has LinearlyExplicitOver(Integer)
from RightModule(Integer)
* : (R, %) -> %
from LeftModule(R)
* : (Fraction(Integer), %) -> % if R has Field
from LeftModule(Fraction(Integer))
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
/ : (%, %) -> % if R has Field
from Field
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
D : % -> % if R has DifferentialRing and R has Field or R has FiniteFieldCategory
from DifferentialRing
D : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
D : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
D : (%, Mapping(R, R)) -> % if R has Field
from DifferentialExtension(R)
D : (%, Mapping(R, R), NonNegativeInteger) -> % if R has Field
from DifferentialExtension(R)
D : (%, NonNegativeInteger) -> % if R has DifferentialRing and R has Field or R has FiniteFieldCategory
from DifferentialRing
D : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
D : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
^ : (%, Integer) -> % if R has Field
from DivisionRing
^ : (%, NonNegativeInteger) -> %
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
annihilate? : (%, %) -> Boolean
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associates? : (%, %) -> Boolean if R has Field
from EntireRing
associator : (%, %, %) -> %
from NonAssociativeRng
basis : () -> Vector(%)
from FramedModule(R)
characteristic : () -> NonNegativeInteger
from NonAssociativeRing
characteristicPolynomial : % -> UP
from FiniteRankAlgebra(R, UP)
charthRoot : % -> % if R has FiniteFieldCategory
from FiniteFieldCategory
charthRoot : % -> Union(%, "failed") if R has CharacteristicNonZero
from PolynomialFactorizationExplicit
coerce : % -> %
from Algebra(%)
coerce : R -> %
from Algebra(R)
coerce : Fraction(Integer) -> % if R has Field or R has RetractableTo(Fraction(Integer))
from Algebra(Fraction(Integer))
coerce : Integer -> %
from NonAssociativeRing
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %
from NonAssociativeRng
conditionP : Matrix(%) -> Union(Vector(%), "failed") if R has FiniteFieldCategory
from PolynomialFactorizationExplicit
convert : UP -> %

convert(up) converts the univariate polynomial up to an algebra element, reducing by the definingPolynomial() if necessary.

convert : Vector(R) -> %
from FramedModule(R)
convert : % -> UP
from ConvertibleTo(UP)
convert : % -> InputForm if R has Finite
from ConvertibleTo(InputForm)
convert : % -> Vector(R)
from FramedModule(R)
coordinates : Vector(%) -> Matrix(R)
from FramedModule(R)
coordinates : (Vector(%), Vector(%)) -> Matrix(R)
from FiniteRankAlgebra(R, UP)
coordinates : % -> Vector(R)
from FramedModule(R)
coordinates : (%, Vector(%)) -> Vector(R)
from FiniteRankAlgebra(R, UP)
createPrimitiveElement : () -> % if R has FiniteFieldCategory
from FiniteFieldCategory
definingPolynomial : () -> UP

definingPolynomial() returns the minimal polynomial which generator() satisfies.

derivationCoordinates : (Vector(%), Mapping(R, R)) -> Matrix(R) if R has Field

derivationCoordinates(b, ') returns M such that b' = M b.

differentiate : % -> % if R has DifferentialRing and R has Field or R has FiniteFieldCategory
from DifferentialRing
differentiate : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
differentiate : (%, Mapping(R, R)) -> % if R has Field
from DifferentialExtension(R)
differentiate : (%, Mapping(R, R), NonNegativeInteger) -> % if R has Field
from DifferentialExtension(R)
differentiate : (%, NonNegativeInteger) -> % if R has DifferentialRing and R has Field or R has FiniteFieldCategory
from DifferentialRing
differentiate : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
differentiate : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol) and R has Field
from PartialDifferentialRing(Symbol)
discreteLog : % -> NonNegativeInteger if R has FiniteFieldCategory
from FiniteFieldCategory
discreteLog : (%, %) -> Union(NonNegativeInteger, "failed") if R has FiniteFieldCategory
from FieldOfPrimeCharacteristic
discriminant : () -> R
from FramedAlgebra(R, UP)
discriminant : Vector(%) -> R
from FiniteRankAlgebra(R, UP)
divide : (%, %) -> Record(quotient : %, remainder : %) if R has Field
from EuclideanDomain
enumerate : () -> List(%) if R has Finite
from Finite
euclideanSize : % -> NonNegativeInteger if R has Field
from EuclideanDomain
expressIdealMember : (List(%), %) -> Union(List(%), "failed") if R has Field
from PrincipalIdealDomain
exquo : (%, %) -> Union(%, "failed") if R has Field
from EntireRing
extendedEuclidean : (%, %) -> Record(coef1 : %, coef2 : %, generator : %) if R has Field
from EuclideanDomain
extendedEuclidean : (%, %, %) -> Union(Record(coef1 : %, coef2 : %), "failed") if R has Field
from EuclideanDomain
factor : % -> Factored(%) if R has Field
from UniqueFactorizationDomain
factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has FiniteFieldCategory
from PolynomialFactorizationExplicit
factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has FiniteFieldCategory
from PolynomialFactorizationExplicit
factorsOfCyclicGroupSize : () -> List(Record(factor : Integer, exponent : NonNegativeInteger)) if R has FiniteFieldCategory
from FiniteFieldCategory
gcd : (%, %) -> % if R has Field
from GcdDomain
gcd : List(%) -> % if R has Field
from GcdDomain
gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has Field
from GcdDomain
generator : () -> %

generator() returns the generator for this domain.

hash : % -> SingleInteger if R has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if R has Hashable
from Hashable
index : PositiveInteger -> % if R has Finite
from Finite
init : () -> % if R has FiniteFieldCategory
from StepThrough
inv : % -> % if R has Field
from DivisionRing
latex : % -> String
from SetCategory
lcm : (%, %) -> % if R has Field
from GcdDomain
lcm : List(%) -> % if R has Field
from GcdDomain
lcmCoef : (%, %) -> Record(llcm_res : %, coeff1 : %, coeff2 : %) if R has Field
from LeftOreRing
leftPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed")
from MagmaWithUnit
lift : % -> UP

lift(z) returns a minimal degree univariate polynomial up such that z=reduce up.

lookup : % -> PositiveInteger if R has Finite
from Finite
minimalPolynomial : % -> UP if R has Field
from FiniteRankAlgebra(R, UP)
multiEuclidean : (List(%), %) -> Union(List(%), "failed") if R has Field
from EuclideanDomain
nextItem : % -> Union(%, "failed") if R has FiniteFieldCategory
from StepThrough
norm : % -> R
from FiniteRankAlgebra(R, UP)
one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
order : % -> OnePointCompletion(PositiveInteger) if R has FiniteFieldCategory
from FieldOfPrimeCharacteristic
order : % -> PositiveInteger if R has FiniteFieldCategory
from FiniteFieldCategory
plenaryPower : (%, PositiveInteger) -> %
from NonAssociativeAlgebra(%)
prime? : % -> Boolean if R has Field
from UniqueFactorizationDomain
primeFrobenius : % -> % if R has FiniteFieldCategory
from FieldOfPrimeCharacteristic
primeFrobenius : (%, NonNegativeInteger) -> % if R has FiniteFieldCategory
from FieldOfPrimeCharacteristic
primitive? : % -> Boolean if R has FiniteFieldCategory
from FiniteFieldCategory
primitiveElement : () -> % if R has FiniteFieldCategory
from FiniteFieldCategory
principalIdeal : List(%) -> Record(coef : List(%), generator : %) if R has Field
from PrincipalIdealDomain
quo : (%, %) -> % if R has Field
from EuclideanDomain
random : () -> % if R has Finite
from Finite
rank : () -> PositiveInteger
from FiniteRankAlgebra(R, UP)
recip : % -> Union(%, "failed")
from MagmaWithUnit
reduce : UP -> %

reduce(up) converts the univariate polynomial up to an algebra element, reducing by the definingPolynomial() if necessary.

reduce : Fraction(UP) -> Union(%, "failed") if R has Field

reduce(frac) converts the fraction frac to an algebra element.

reducedSystem : Matrix(%) -> Matrix(R)
from LinearlyExplicitOver(R)
reducedSystem : Matrix(%) -> Matrix(Integer) if R has LinearlyExplicitOver(Integer)
from LinearlyExplicitOver(Integer)
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(R), vec : Vector(R))
from LinearlyExplicitOver(R)
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(Integer), vec : Vector(Integer)) if R has LinearlyExplicitOver(Integer)
from LinearlyExplicitOver(Integer)
regularRepresentation : % -> Matrix(R)
from FramedAlgebra(R, UP)
regularRepresentation : (%, Vector(%)) -> Matrix(R)
from FiniteRankAlgebra(R, UP)
rem : (%, %) -> % if R has Field
from EuclideanDomain
representationType : () -> Union("prime", "polynomial", "normal", "cyclic") if R has FiniteFieldCategory
from FiniteFieldCategory
represents : Vector(R) -> %
from FramedModule(R)
represents : (Vector(R), Vector(%)) -> %
from FiniteRankAlgebra(R, UP)
retract : % -> R
from RetractableTo(R)
retract : % -> Fraction(Integer) if R has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retract : % -> Integer if R has RetractableTo(Integer)
from RetractableTo(Integer)
retractIfCan : % -> Union(R, "failed")
from RetractableTo(R)
retractIfCan : % -> Union(Fraction(Integer), "failed") if R has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retractIfCan : % -> Union(Integer, "failed") if R has RetractableTo(Integer)
from RetractableTo(Integer)
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
size : () -> NonNegativeInteger if R has Finite
from Finite
sizeLess? : (%, %) -> Boolean if R has Field
from EuclideanDomain
smaller? : (%, %) -> Boolean if R has Finite
from Comparable
solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)), SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)), "failed") if R has FiniteFieldCategory
from PolynomialFactorizationExplicit
squareFree : % -> Factored(%) if R has Field
from UniqueFactorizationDomain
squareFreePart : % -> % if R has Field
from UniqueFactorizationDomain
squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has FiniteFieldCategory
from PolynomialFactorizationExplicit
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
tableForDiscreteLogarithm : Integer -> Table(PositiveInteger, NonNegativeInteger) if R has FiniteFieldCategory
from FiniteFieldCategory
trace : % -> R
from FiniteRankAlgebra(R, UP)
traceMatrix : () -> Matrix(R)
from FramedAlgebra(R, UP)
traceMatrix : Vector(%) -> Matrix(R)
from FiniteRankAlgebra(R, UP)
unit? : % -> Boolean if R has Field
from EntireRing
unitCanonical : % -> % if R has Field
from EntireRing
unitNormal : % -> Record(unit : %, canonical : %, associate : %) if R has Field
from EntireRing
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

ConvertibleTo(UP)

Module(Fraction(Integer))

PrincipalIdealDomain

NonAssociativeSemiRing

LeftModule(R)

LinearlyExplicitOver(R)

BiModule(%, %)

ConvertibleTo(InputForm)

Field

canonicalUnitNormal

Rng

FramedModule(R)

TwoSidedRecip

FullyRetractableTo(R)

SemiRing

EntireRing

LeftOreRing

NonAssociativeAlgebra(Fraction(Integer))

unitsKnown

FullyLinearlyExplicitOver(R)

CharacteristicNonZero

LinearlyExplicitOver(Integer)

noZeroDivisors

RetractableTo(Fraction(Integer))

RightModule(%)

UniqueFactorizationDomain

SemiGroup

RightModule(Fraction(Integer))

Magma

RightModule(R)

GcdDomain

LeftModule(%)

NonAssociativeRing

PartialDifferentialRing(Symbol)

CharacteristicZero

Algebra(%)

Module(R)

CommutativeRing

CoercibleFrom(Fraction(Integer))

DifferentialRing

PolynomialFactorizationExplicit

BiModule(R, R)

DivisionRing

IntegralDomain

Algebra(R)

DifferentialExtension(R)

CoercibleFrom(Integer)

CancellationAbelianMonoid

EuclideanDomain

canonicalsClosed

RetractableTo(Integer)

CommutativeStar

AbelianMonoid

MagmaWithUnit

Comparable

NonAssociativeSemiRng

CoercibleFrom(R)

Hashable

Module(%)

CoercibleTo(OutputForm)

FramedAlgebra(R, UP)

Finite

SemiRng

Monoid

FiniteFieldCategory

NonAssociativeAlgebra(R)

NonAssociativeAlgebra(%)

FiniteRankAlgebra(R, UP)

Algebra(Fraction(Integer))

BasicType

Ring

RightModule(Integer)

LeftModule(Fraction(Integer))

AbelianSemiGroup

SetCategory

NonAssociativeRng

FieldOfPrimeCharacteristic

BiModule(Fraction(Integer), Fraction(Integer))

RetractableTo(R)

StepThrough

AbelianGroup