SimpleAlgebraicExtension(R, UP, M)ΒΆ

algext.spad line 1 [edit on github]

Domain which represents simple algebraic extensions of arbitrary rings. The first argument to the domain, R, is the underlying ring, the second argument is a domain of univariate polynomials over R, while the last argument specifies the defining minimal polynomial. The elements of the domain are canonically represented as polynomials of degree less than that of the minimal polynomial with coefficients in R. The second argument is both the type of the third argument and the underlying representation used by SAE itself.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

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

from RightModule Fraction Integer

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

from RightModule Integer

*: (%, R) -> %

from RightModule R

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

from LeftModule Fraction Integer

*: (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: (%, %) -> %

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 or R has Field and % has CharacteristicNonZero and R has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

coerce: % -> %

from Algebra %

coerce: % -> OutputForm

from CoercibleTo OutputForm

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

from Algebra Fraction Integer

coerce: Integer -> %

from NonAssociativeRing

coerce: R -> %

from Algebra R

commutator: (%, %) -> %

from NonAssociativeRng

conditionP: Matrix % -> Union(Vector %, failed) if R has FiniteFieldCategory or R has Field and % has CharacteristicNonZero and R has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

convert: % -> InputForm if R has Finite

from ConvertibleTo InputForm

convert: % -> UP

from ConvertibleTo UP

convert: % -> Vector R

from FramedModule R

convert: UP -> %

from MonogenicAlgebra(R, UP)

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

from FiniteFieldCategory

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

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: (%, NonNegativeInteger) -> % if R has FiniteFieldCategory or R has Field and R has DifferentialRing

from DifferentialRing

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

from DifferentialExtension R

D: (%, R -> R, NonNegativeInteger) -> % if R has Field

from DifferentialExtension R

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

definingPolynomial: () -> UP

from MonogenicAlgebra(R, UP)

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

from MonogenicAlgebra(R, UP)

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

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: (%, NonNegativeInteger) -> % if R has FiniteFieldCategory or R has Field and R has DifferentialRing

from DifferentialRing

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

from DifferentialExtension R

differentiate: (%, R -> R, NonNegativeInteger) -> % if R has Field

from DifferentialExtension R

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 or R has Field and R has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

factorsOfCyclicGroupSize: () -> List Record(factor: Integer, exponent: NonNegativeInteger) if R has FiniteFieldCategory

from FiniteFieldCategory

factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory or R has Field and R has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

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

from GcdDomain

gcd: List % -> % if R has Field

from GcdDomain

gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has Field

from PolynomialFactorizationExplicit

generator: () -> %

from MonogenicAlgebra(R, UP)

hash: % -> SingleInteger

from Hashable

hashUpdate!: (HashState, %) -> HashState

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

from MonogenicAlgebra(R, 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: Fraction UP -> Union(%, failed) if R has Field

from MonogenicAlgebra(R, UP)

reduce: UP -> %

from MonogenicAlgebra(R, UP)

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

from LinearlyExplicitOver Integer

reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix R, vec: Vector R)

from LinearlyExplicitOver R

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

from 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

from FiniteFieldCategory

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

from FiniteRankAlgebra(R, UP)

represents: Vector R -> %

from FramedModule R

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

from RetractableTo Fraction Integer

retract: % -> Integer if R has RetractableTo Integer

from RetractableTo Integer

retract: % -> R

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

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 or R has Field and R has PolynomialFactorizationExplicit

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 or R has Field and R has PolynomialFactorizationExplicit

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

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra %

Algebra Fraction Integer if R has Field

Algebra R

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

CharacteristicNonZero if R has CharacteristicNonZero

CharacteristicZero if R has CharacteristicZero

CoercibleFrom Fraction Integer if R has RetractableTo Fraction Integer

CoercibleFrom Integer if R has RetractableTo Integer

CoercibleFrom R

CoercibleTo OutputForm

CommutativeRing

CommutativeStar

Comparable if R has Finite

ConvertibleTo InputForm if R has Finite

ConvertibleTo UP

DifferentialExtension R if R has Field

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

DivisionRing if R has Field

EntireRing if R has Field

EuclideanDomain if R has Field

Field if R has Field

FieldOfPrimeCharacteristic if R has FiniteFieldCategory

Finite if R has Finite

FiniteFieldCategory if R has FiniteFieldCategory

FiniteRankAlgebra(R, UP)

FramedAlgebra(R, UP)

FramedModule R

FullyLinearlyExplicitOver R

FullyRetractableTo R

GcdDomain if R has Field

Hashable

IntegralDomain if R has Field

LeftModule %

LeftModule Fraction Integer if R has Field

LeftModule R

LeftOreRing if R has Field

LinearlyExplicitOver Integer if R has LinearlyExplicitOver Integer

LinearlyExplicitOver R

Magma

MagmaWithUnit

Module %

Module Fraction Integer if R has Field

Module R

MonogenicAlgebra(R, UP)

Monoid

NonAssociativeAlgebra %

NonAssociativeAlgebra Fraction Integer if R has Field

NonAssociativeAlgebra R

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors if R has Field

PartialDifferentialRing Symbol if R has PartialDifferentialRing Symbol and R has Field

PolynomialFactorizationExplicit if R has FiniteFieldCategory or R has Field and R has PolynomialFactorizationExplicit

PrincipalIdealDomain if R has Field

RetractableTo Fraction Integer if R has RetractableTo Fraction Integer

RetractableTo Integer if R has RetractableTo Integer

RetractableTo R

RightModule %

RightModule Fraction Integer if R has Field

RightModule Integer if R has LinearlyExplicitOver Integer

RightModule R

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

StepThrough if R has FiniteFieldCategory

TwoSidedRecip

UniqueFactorizationDomain if R has Field

unitsKnown