MonogenicAlgebra(R, UP)ΒΆ

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

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (%, Fraction Integer) -> % if R has Field
*: (%, Integer) -> % if R has LinearlyExplicitOver Integer
*: (%, R) -> %

from RightModule R

*: (Fraction Integer, %) -> % if R has Field
*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, %) -> % if R has Field

from Field

=: (%, %) -> Boolean

from BasicType

^: (%, Integer) -> % if R has Field

from DivisionRing

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %
associates?: (%, %) -> Boolean if R has Field

from EntireRing

associator: (%, %, %) -> %
basis: () -> Vector %

from FramedModule R

characteristic: () -> NonNegativeInteger
characteristicPolynomial: % -> UP

from FiniteRankAlgebra(R, UP)

charthRoot: % -> % if R has FiniteFieldCategory
charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero
coerce: % -> %

from Algebra %

coerce: % -> OutputForm
coerce: Fraction Integer -> % if R has Field or R has RetractableTo Fraction Integer
coerce: Integer -> %
coerce: R -> %

from Algebra R

commutator: (%, %) -> %
conditionP: Matrix % -> Union(Vector %, failed) if R has FiniteFieldCategory
convert: % -> InputForm if R has Finite
convert: % -> UP

from ConvertibleTo UP

convert: % -> Vector R

from FramedModule R

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

coordinates: % -> Vector R

from FramedModule R

coordinates: (%, Vector %) -> Vector R

from FiniteRankAlgebra(R, UP)

coordinates: (Vector %, Vector %) -> Matrix R

from FiniteRankAlgebra(R, UP)

coordinates: Vector % -> Matrix R

from FramedModule R

createPrimitiveElement: () -> % if R has FiniteFieldCategory
D: % -> % if R has Field and R has DifferentialRing or R has FiniteFieldCategory

from DifferentialRing

D: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol and R has Field
D: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Field
D: (%, NonNegativeInteger) -> % if R has Field and R has DifferentialRing or R has FiniteFieldCategory

from DifferentialRing

D: (%, R -> R) -> % if R has Field
D: (%, R -> R, NonNegativeInteger) -> % if R has Field
D: (%, Symbol) -> % if R has PartialDifferentialRing Symbol and R has Field
D: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Field
definingPolynomial: () -> UP

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

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

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

differentiate: % -> % if R has Field and R has DifferentialRing or R has FiniteFieldCategory

from DifferentialRing

differentiate: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol and R has Field
differentiate: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Field
differentiate: (%, NonNegativeInteger) -> % if R has Field and R has DifferentialRing or R has FiniteFieldCategory

from DifferentialRing

differentiate: (%, R -> R) -> % if R has Field
differentiate: (%, R -> R, NonNegativeInteger) -> % if R has Field
differentiate: (%, Symbol) -> % if R has PartialDifferentialRing Symbol and R has Field
differentiate: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Field
discreteLog: % -> NonNegativeInteger if R has FiniteFieldCategory
discreteLog: (%, %) -> Union(NonNegativeInteger, failed) if R has FiniteFieldCategory
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
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
factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory
factorsOfCyclicGroupSize: () -> List Record(factor: Integer, exponent: NonNegativeInteger) if R has FiniteFieldCategory
factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has 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
order: % -> PositiveInteger if R has FiniteFieldCategory
plenaryPower: (%, PositiveInteger) -> %
prime?: % -> Boolean if R has Field
primeFrobenius: % -> % if R has FiniteFieldCategory
primeFrobenius: (%, NonNegativeInteger) -> % if R has FiniteFieldCategory
primitive?: % -> Boolean if R has FiniteFieldCategory
primitiveElement: () -> % if R has FiniteFieldCategory
principalIdeal: List % -> Record(coef: List %, generator: %) if R has Field
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: Fraction UP -> Union(%, failed) if R has Field

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

reduce: UP -> %

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

reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix Integer, vec: Vector Integer) if R has LinearlyExplicitOver Integer
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix R, vec: Vector R)

from LinearlyExplicitOver R

reducedSystem: Matrix % -> Matrix Integer if R has LinearlyExplicitOver Integer
reducedSystem: Matrix % -> Matrix R

from LinearlyExplicitOver R

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
represents: (Vector R, Vector %) -> %

from FiniteRankAlgebra(R, UP)

represents: Vector R -> %

from FramedModule R

retract: % -> Fraction Integer if R has RetractableTo Fraction Integer
retract: % -> Integer if R has RetractableTo Integer
retract: % -> R

from RetractableTo R

retractIfCan: % -> Union(Fraction Integer, failed) if R has RetractableTo Fraction Integer
retractIfCan: % -> Union(Integer, failed) if R has RetractableTo Integer
retractIfCan: % -> Union(R, failed)

from RetractableTo R

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
squareFree: % -> Factored % if R has Field
squareFreePart: % -> % if R has Field
squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory
subtractIfCan: (%, %) -> Union(%, failed)
tableForDiscreteLogarithm: Integer -> Table(PositiveInteger, NonNegativeInteger) if R has 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

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra Fraction Integer if R has Field

BasicType

BiModule(%, %)

BiModule(Fraction Integer, Fraction Integer) if R has Field

BiModule(R, R)

CancellationAbelianMonoid

canonicalsClosed if R has Field

canonicalUnitNormal if R has Field

CommutativeRing

CommutativeStar

Comparable if R has Finite

ConvertibleTo InputForm if R has Finite

DifferentialExtension R if R has Field

DifferentialRing if R has Field and R has DifferentialRing or R has FiniteFieldCategory

DivisionRing if R has Field

EntireRing if R has Field

EuclideanDomain if R has Field

Field if R has Field

Finite if R has Finite

FiniteRankAlgebra(R, UP)

FramedAlgebra(R, UP)

GcdDomain if R has Field

Hashable if R has Hashable

IntegralDomain if R has Field

LeftModule Fraction Integer if R has Field

LeftOreRing if R has Field

Magma

MagmaWithUnit

Module Fraction Integer if R has Field

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors if R has Field

PartialDifferentialRing Symbol if R has PartialDifferentialRing Symbol and R has Field

PrincipalIdealDomain if R has Field

RightModule Fraction Integer if R has Field

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

StepThrough if R has FiniteFieldCategory

TwoSidedRecip

UniqueFactorizationDomain if R has Field

unitsKnown