# MaybeSkewPolynomialCategory(R, E, VarSet)¶

The category for general multi-variate possibly skew polynomials over a ring R, in variables from VarSet, with exponents from the OrderedAbelianMonoidSup.

0: %

from AbelianMonoid

1: % if R has SemiRing

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

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

from RightModule R

*: (Fraction Integer, %) -> % if R has Algebra Fraction Integer
*: (Integer, %) -> % if R has AbelianGroup or % has AbelianGroup

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> % if R has AbelianGroup or % has AbelianGroup

from AbelianGroup

-: (%, %) -> % if R has AbelianGroup or % has AbelianGroup

from AbelianGroup

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

from AbelianMonoidRing(R, E)

=: (%, %) -> Boolean

from BasicType

^: (%, NonNegativeInteger) -> % if R has SemiRing

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

annihilate?: (%, %) -> Boolean if R has Ring

from Rng

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

from EntireRing

associator: (%, %, %) -> % if R has Ring
binomThmExpt: (%, %, NonNegativeInteger) -> % if % has CommutativeRing

from FiniteAbelianMonoidRing(R, E)

characteristic: () -> NonNegativeInteger if R has Ring
charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero
coefficient: (%, E) -> R

from AbelianMonoidRing(R, E)

coefficient: (%, List VarSet, List NonNegativeInteger) -> %

coefficient(p, lv, ln) views the polynomial p as a polynomial in the variables of lv and returns the coefficient of the term lv^ln, i.e. prod(lv_i ^ ln_i).

coefficient: (%, VarSet, NonNegativeInteger) -> %

coefficient(p, v, n) views the polynomial p as a univariate polynomial in v and returns the coefficient of the v^n term.

coefficients: % -> List R

from FreeModuleCategory(R, E)

coerce: % -> % if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients

from Algebra %

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

from Algebra R

commutator: (%, %) -> % if R has Ring
construct: List Record(k: E, c: R) -> %

from IndexedProductCategory(R, E)

constructOrdered: List Record(k: E, c: R) -> %

from IndexedProductCategory(R, E)

content: % -> R if R has GcdDomain

from FiniteAbelianMonoidRing(R, E)

degree: % -> E

from AbelianMonoidRing(R, E)

degree: (%, List VarSet) -> List NonNegativeInteger

degree(p, lv) gives the list of degrees of polynomial p with respect to each of the variables in the list lv.

degree: (%, VarSet) -> NonNegativeInteger

degree(p, v) gives the degree of polynomial p with respect to the variable v.

exquo: (%, %) -> Union(%, failed) if R has EntireRing

from EntireRing

exquo: (%, R) -> Union(%, failed) if R has EntireRing

from FiniteAbelianMonoidRing(R, E)

fmecg: (%, E, R, %) -> % if R has Ring

from FiniteAbelianMonoidRing(R, E)

ground?: % -> Boolean

from FiniteAbelianMonoidRing(R, E)

ground: % -> R

from FiniteAbelianMonoidRing(R, E)

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

latex: % -> String

from SetCategory

from IndexedProductCategory(R, E)

from IndexedProductCategory(R, E)

from IndexedProductCategory(R, E)

leadingTerm: % -> Record(k: E, c: R)

from IndexedProductCategory(R, E)

leftPower: (%, NonNegativeInteger) -> % if R has SemiRing

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed) if R has SemiRing

from MagmaWithUnit

linearExtend: (E -> R, %) -> R if R has CommutativeRing

from FreeModuleCategory(R, E)

listOfTerms: % -> List Record(k: E, c: R)

from IndexedDirectProductCategory(R, E)

mainVariable: % -> Union(VarSet, failed)

mainVariable(p) returns the biggest variable which actually occurs in the polynomial p, or “failed” if no variables are present. fails precisely if polynomial satisfies ground?

map: (R -> R, %) -> %

from IndexedProductCategory(R, E)

mapExponents: (E -> E, %) -> %

from FiniteAbelianMonoidRing(R, E)

minimumDegree: % -> E

from FiniteAbelianMonoidRing(R, E)

monomial?: % -> Boolean

from IndexedProductCategory(R, E)

monomial: (%, List VarSet, List NonNegativeInteger) -> %

monomial(a, [v1..vn], [e1..en]) returns a*prod(vi^ei).

monomial: (%, VarSet, NonNegativeInteger) -> %

monomial(a, x, n) creates the monomial a*x^n where a is a polynomial, x is a variable and n is a nonnegative integer.

monomial: (R, E) -> %

from IndexedProductCategory(R, E)

monomials: % -> List %

monomials(p) returns the list of non-zero monomials of polynomial p, i.e. monomials(sum(a_(i) X^(i))) = [a_(1) X^(1), ..., a_(n) X^(n)].

numberOfMonomials: % -> NonNegativeInteger

from IndexedDirectProductCategory(R, E)

one?: % -> Boolean if R has SemiRing

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

pomopo!: (%, R, E, %) -> %

from FiniteAbelianMonoidRing(R, E)

primitiveMonomials: % -> List % if R has SemiRing

primitiveMonomials(p) gives the list of monomials of the polynomial p with their coefficients removed. Note: primitiveMonomials(sum(a_(i) X^(i))) = [X^(1), ..., X^(n)].

primitivePart: % -> % if R has GcdDomain

from FiniteAbelianMonoidRing(R, E)

recip: % -> Union(%, failed) if R has SemiRing

from MagmaWithUnit

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

from LinearlyExplicitOver R

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

from LinearlyExplicitOver R

reductum: % -> %

from IndexedProductCategory(R, E)

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) -> % if R has SemiRing

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed) if R has SemiRing

from MagmaWithUnit

sample: %

from AbelianMonoid

smaller?: (%, %) -> Boolean if R has Comparable

from Comparable

subtractIfCan: (%, %) -> Union(%, failed)
support: % -> List E

from FreeModuleCategory(R, E)

totalDegree: % -> NonNegativeInteger

totalDegree(p) returns the largest sum over all monomials of all exponents of a monomial.

totalDegree: (%, List VarSet) -> NonNegativeInteger

totalDegree(p, lv) returns the maximum sum (over all monomials of polynomial p) of the variables in the list lv.

totalDegreeSorted: (%, List VarSet) -> NonNegativeInteger

totalDegreeSorted(p, lv) returns the maximum sum (over all monomials of polynomial p) of the degree in variables in the list lv. lv is assumed to be sorted in decreasing order.

unit?: % -> Boolean if R has EntireRing

from EntireRing

unitCanonical: % -> % if R has EntireRing

from EntireRing

unitNormal: % -> Record(unit: %, canonical: %, associate: %) if R has EntireRing

from EntireRing

variables: % -> List VarSet

variables(p) returns the list of those variables actually appearing in the polynomial p.

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianMonoidRing(R, E)

AbelianSemiGroup

Algebra % if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients

Algebra R if R has CommutativeRing and % has VariablesCommuteWithCoefficients

BasicType

BiModule(%, %)

BiModule(R, R)

CancellationAbelianMonoid

CommutativeRing if R has IntegralDomain and % has VariablesCommuteWithCoefficients or R has CommutativeRing and % has VariablesCommuteWithCoefficients

CommutativeStar if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients

Comparable if R has Comparable

EntireRing if R has EntireRing

FiniteAbelianMonoidRing(R, E)

FreeModuleCategory(R, E)

FullyLinearlyExplicitOver R if R has Ring

IndexedProductCategory(R, E)

IntegralDomain if R has IntegralDomain and % has VariablesCommuteWithCoefficients

LinearlyExplicitOver Integer if R has LinearlyExplicitOver Integer and R has Ring

LinearlyExplicitOver R if R has Ring

Magma

MagmaWithUnit if R has SemiRing

Module % if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients

Module R if R has CommutativeRing

Monoid if R has SemiRing

NonAssociativeRing if R has Ring

NonAssociativeRng if R has Ring

NonAssociativeSemiRing if R has SemiRing

NonAssociativeSemiRng

noZeroDivisors if R has EntireRing

Ring if R has Ring

Rng if R has Ring

SemiGroup

SemiRing if R has SemiRing

SemiRng

SetCategory

TwoSidedRecip if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients

unitsKnown if R has Ring