PolynomialCategory(R, E, VarSet)ΒΆ

polycat.spad line 288

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

0: %
from AbelianMonoid
1: % if R has SemiRing
from MagmaWithUnit
*: (%, %) -> %
from Magma
*: (%, Fraction Integer) -> % if R has Algebra Fraction Integer
from RightModule Fraction Integer
*: (%, R) -> %
from RightModule R
*: (Fraction Integer, %) -> % if R has Algebra Fraction Integer
from LeftModule 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: (%, %) -> %
from NonAssociativeSemiRng
associates?: (%, %) -> Boolean if R has EntireRing
from EntireRing
associator: (%, %, %) -> % if R has Ring
from NonAssociativeRng
binomThmExpt: (%, %, NonNegativeInteger) -> % if % has CommutativeRing
from FiniteAbelianMonoidRing(R, E)
characteristic: () -> NonNegativeInteger if R has Ring
from NonAssociativeRing
charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero or % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
coefficient: (%, E) -> R
from AbelianMonoidRing(R, E)
coefficient: (%, List VarSet, List NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, VarSet)
coefficient: (%, VarSet, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, VarSet)
coefficients: % -> List R
from FiniteAbelianMonoidRing(R, E)
coerce: % -> % if R has CommutativeRing
from Algebra %
coerce: % -> OutputForm
from CoercibleTo OutputForm
coerce: Fraction Integer -> % if R has RetractableTo Fraction Integer or R has Algebra Fraction Integer
from Algebra Fraction Integer
coerce: Integer -> % if R has RetractableTo Integer or R has Ring
from NonAssociativeRing
coerce: R -> %
from Algebra R
coerce: VarSet -> % if R has SemiRing
from RetractableTo VarSet
commutator: (%, %) -> % if R has Ring
from NonAssociativeRng
conditionP: Matrix % -> Union(Vector %, failed) if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
content: % -> R if R has GcdDomain
from FiniteAbelianMonoidRing(R, E)
content: (%, VarSet) -> % if R has GcdDomain
content(p, v) is the gcd of the coefficients of the polynomial p when p is viewed as a univariate polynomial with respect to the variable v. Thus, for polynomial 7*x^2*y + 14*x*y^2, the gcd of the coefficients with respect to x is 7*y.
convert: % -> InputForm if VarSet has ConvertibleTo InputForm and R has ConvertibleTo InputForm
from ConvertibleTo InputForm
convert: % -> Pattern Float if R has Ring and VarSet has ConvertibleTo Pattern Float and R has ConvertibleTo Pattern Float
from ConvertibleTo Pattern Float
convert: % -> Pattern Integer if R has Ring and VarSet has ConvertibleTo Pattern Integer and R has ConvertibleTo Pattern Integer
from ConvertibleTo Pattern Integer
D: (%, List VarSet) -> % if R has Ring
from PartialDifferentialRing VarSet
D: (%, List VarSet, List NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing VarSet
D: (%, VarSet) -> % if R has Ring
from PartialDifferentialRing VarSet
D: (%, VarSet, NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing VarSet
degree: % -> E
from AbelianMonoidRing(R, E)
degree: (%, List VarSet) -> List NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, VarSet)
degree: (%, VarSet) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, VarSet)
differentiate: (%, List VarSet) -> % if R has Ring
from PartialDifferentialRing VarSet
differentiate: (%, List VarSet, List NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing VarSet
differentiate: (%, VarSet) -> % if R has Ring
from PartialDifferentialRing VarSet
differentiate: (%, VarSet, NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing VarSet
discriminant: (%, VarSet) -> % if R has CommutativeRing
discriminant(p, v) returns the disriminant of the polynomial p with respect to the variable v.
eval: (%, %, %) -> % if R has SemiRing
from InnerEvalable(%, %)
eval: (%, Equation %) -> % if R has SemiRing
from Evalable %
eval: (%, List %, List %) -> % if R has SemiRing
from InnerEvalable(%, %)
eval: (%, List Equation %) -> % if R has SemiRing
from Evalable %
eval: (%, List VarSet, List %) -> %
from InnerEvalable(VarSet, %)
eval: (%, List VarSet, List R) -> %
from InnerEvalable(VarSet, R)
eval: (%, VarSet, %) -> %
from InnerEvalable(VarSet, %)
eval: (%, VarSet, R) -> %
from InnerEvalable(VarSet, R)
exquo: (%, %) -> Union(%, failed) if R has EntireRing
from EntireRing
exquo: (%, R) -> Union(%, failed) if R has EntireRing
from FiniteAbelianMonoidRing(R, E)
factor: % -> Factored % if R has PolynomialFactorizationExplicit
from UniqueFactorizationDomain
factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
fmecg: (%, E, R, %) -> % if R has Ring
from FiniteAbelianMonoidRing(R, E)
gcd: (%, %) -> % if R has GcdDomain
from GcdDomain
gcd: List % -> % if R has GcdDomain
from GcdDomain
gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GcdDomain
from PolynomialFactorizationExplicit
ground: % -> R
from FiniteAbelianMonoidRing(R, E)
ground?: % -> Boolean
from FiniteAbelianMonoidRing(R, E)
hash: % -> SingleInteger
from SetCategory
hashUpdate!: (HashState, %) -> HashState
from SetCategory
isExpt: % -> Union(Record(var: VarSet, exponent: NonNegativeInteger), failed) if R has SemiRing
isExpt(p) returns [x, n] if polynomial p has the form x^n and n > 0.
isPlus: % -> Union(List %, failed)
isPlus(p) returns [m1, ..., mn] if polynomial p = m1 + ... + mn and n >= 2 and each mi is a nonzero monomial.
isTimes: % -> Union(List %, failed) if R has SemiRing
isTimes(p) returns [a1, ..., an] if polynomial p = a1 ... an and n >= 2, and, for each i, ai is either a nontrivial constant in R or else of the form x^e, where e > 0 is an integer and x is a member of VarSet.
latex: % -> String
from SetCategory
lcm: (%, %) -> % if R has GcdDomain
from GcdDomain
lcm: List % -> % if R has GcdDomain
from GcdDomain
lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %) if R has GcdDomain
from LeftOreRing
leadingCoefficient: % -> R
from AbelianMonoidRing(R, E)
leadingMonomial: % -> %
from AbelianMonoidRing(R, E)
leftPower: (%, NonNegativeInteger) -> % if R has SemiRing
from MagmaWithUnit
leftPower: (%, PositiveInteger) -> %
from Magma
leftRecip: % -> Union(%, failed) if R has SemiRing
from MagmaWithUnit
mainVariable: % -> Union(VarSet, failed)
from MaybeSkewPolynomialCategory(R, E, VarSet)
map: (R -> R, %) -> %
from AbelianMonoidRing(R, E)
mapExponents: (E -> E, %) -> %
from FiniteAbelianMonoidRing(R, E)
minimumDegree: % -> E
from FiniteAbelianMonoidRing(R, E)
minimumDegree: (%, List VarSet) -> List NonNegativeInteger
minimumDegree(p, lv) gives the list of minimum degrees of the polynomial p with respect to each of the variables in the list lv
minimumDegree: (%, VarSet) -> NonNegativeInteger
minimumDegree(p, v) gives the minimum degree of polynomial p with respect to v, i.e. viewed a univariate polynomial in v
monicDivide: (%, %, VarSet) -> Record(quotient: %, remainder: %) if R has Ring
monicDivide(a, b, v) divides the polynomial a by the polynomial b, with each viewed as a univariate polynomial in v returning both the quotient and remainder. Error: if b is not monic with respect to v.
monomial: (%, List VarSet, List NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, VarSet)
monomial: (%, VarSet, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, VarSet)
monomial: (R, E) -> %
from AbelianMonoidRing(R, E)
monomial?: % -> Boolean
from AbelianMonoidRing(R, E)
monomials: % -> List %
from MaybeSkewPolynomialCategory(R, E, VarSet)
multivariate: (SparseUnivariatePolynomial %, VarSet) -> %
multivariate(sup, v) converts an anonymous univariable polynomial sup to a polynomial in the variable v.
multivariate: (SparseUnivariatePolynomial R, VarSet) -> %
multivariate(sup, v) converts an anonymous univariable polynomial sup to a polynomial in the variable v.
numberOfMonomials: % -> NonNegativeInteger
from FiniteAbelianMonoidRing(R, E)
one?: % -> Boolean if R has SemiRing
from MagmaWithUnit
opposite?: (%, %) -> Boolean
from AbelianMonoid
patternMatch: (%, Pattern Float, PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if R has Ring and R has PatternMatchable Float and VarSet has PatternMatchable Float
from PatternMatchable Float
patternMatch: (%, Pattern Integer, PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if R has Ring and R has PatternMatchable Integer and VarSet has PatternMatchable Integer
from PatternMatchable Integer
pomopo!: (%, R, E, %) -> %
from FiniteAbelianMonoidRing(R, E)
prime?: % -> Boolean if R has PolynomialFactorizationExplicit
from UniqueFactorizationDomain
primitiveMonomials: % -> List % if R has SemiRing
from MaybeSkewPolynomialCategory(R, E, VarSet)
primitivePart: % -> % if R has GcdDomain
primitivePart(p) returns the unitCanonical associate of the polynomial p with its content divided out.
primitivePart: (%, VarSet) -> % if R has GcdDomain
primitivePart(p, v) returns the unitCanonical associate of the polynomial p with its content with respect to the variable v divided out.
recip: % -> Union(%, failed) if R has SemiRing
from MagmaWithUnit
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix Integer, vec: Vector Integer) if R has Ring and R has LinearlyExplicitOver Integer
from LinearlyExplicitOver Integer
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix R, vec: Vector R) if R has Ring
from LinearlyExplicitOver R
reducedSystem: Matrix % -> Matrix Integer if R has Ring and R has LinearlyExplicitOver Integer
from LinearlyExplicitOver Integer
reducedSystem: Matrix % -> Matrix R if R has Ring
from LinearlyExplicitOver R
reductum: % -> %
from AbelianMonoidRing(R, E)
resultant: (%, %, VarSet) -> % if R has CommutativeRing
resultant(p, q, v) returns the resultant of the polynomials p and q with respect to the variable v.
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
retract: % -> VarSet if R has SemiRing
from RetractableTo VarSet
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
retractIfCan: % -> Union(VarSet, failed) if R has SemiRing
from RetractableTo VarSet
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
solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed) if R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
squareFree: % -> Factored % if R has GcdDomain
squareFree(p) returns the square free factorization of the polynomial p.
squareFreePart: % -> % if R has GcdDomain
squareFreePart(p) returns product of all the irreducible factors of polynomial p each taken with multiplicity one.
squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
subtractIfCan: (%, %) -> Union(%, failed)
from CancellationAbelianMonoid
totalDegree: % -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, VarSet)
totalDegree: (%, List VarSet) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, VarSet)
totalDegreeSorted: (%, List VarSet) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, VarSet)
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
univariate: % -> SparseUnivariatePolynomial R
univariate(p) converts the multivariate polynomial p, which should actually involve only one variable, into a univariate polynomial in that variable, whose coefficients are in the ground ring. Error: if polynomial is genuinely multivariate
univariate: (%, VarSet) -> SparseUnivariatePolynomial %
univariate(p, v) converts the multivariate polynomial p into a univariate polynomial in v, whose coefficients are still multivariate polynomials (in all the other variables).
variables: % -> List VarSet
from MaybeSkewPolynomialCategory(R, E, VarSet)
zero?: % -> Boolean
from AbelianMonoid

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianMonoidRing(R, E)

AbelianSemiGroup

Algebra % if R has CommutativeRing

Algebra Fraction Integer if R has Algebra Fraction Integer

Algebra R if R has CommutativeRing

BasicType

BiModule(%, %)

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

BiModule(R, R)

CancellationAbelianMonoid

canonicalUnitNormal if R has canonicalUnitNormal

CharacteristicNonZero if R has CharacteristicNonZero

CharacteristicZero if R has CharacteristicZero

CoercibleTo OutputForm

CommutativeRing if R has CommutativeRing

CommutativeStar if R has CommutativeRing

Comparable if R has Comparable

ConvertibleTo InputForm if VarSet has ConvertibleTo InputForm and R has ConvertibleTo InputForm

ConvertibleTo Pattern Float if R has Ring and VarSet has ConvertibleTo Pattern Float and R has ConvertibleTo Pattern Float

ConvertibleTo Pattern Integer if R has Ring and VarSet has ConvertibleTo Pattern Integer and R has ConvertibleTo Pattern Integer

EntireRing if R has EntireRing

Evalable % if R has SemiRing

FiniteAbelianMonoidRing(R, E)

FullyLinearlyExplicitOver R if R has Ring

FullyRetractableTo R

GcdDomain if R has GcdDomain

InnerEvalable(%, %) if R has SemiRing

InnerEvalable(VarSet, %)

InnerEvalable(VarSet, R)

IntegralDomain if R has IntegralDomain

LeftModule %

LeftModule Fraction Integer if R has Algebra Fraction Integer

LeftModule R

LeftOreRing if R has GcdDomain

LinearlyExplicitOver Integer if R has Ring and R has LinearlyExplicitOver Integer

LinearlyExplicitOver R if R has Ring

Magma

MagmaWithUnit if R has SemiRing

MaybeSkewPolynomialCategory(R, E, VarSet)

Module % if R has CommutativeRing

Module Fraction Integer if R has Algebra Fraction Integer

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

PartialDifferentialRing VarSet if R has Ring

PatternMatchable Float if R has Ring and R has PatternMatchable Float and VarSet has PatternMatchable Float

PatternMatchable Integer if R has Ring and R has PatternMatchable Integer and VarSet has PatternMatchable Integer

PolynomialFactorizationExplicit if R has PolynomialFactorizationExplicit

RetractableTo Fraction Integer if R has RetractableTo Fraction Integer

RetractableTo Integer if R has RetractableTo Integer

RetractableTo R

RetractableTo VarSet if R has SemiRing

RightModule %

RightModule Fraction Integer if R has Algebra Fraction Integer

RightModule R

Ring if R has Ring

Rng if R has Ring

SemiGroup

SemiRing if R has SemiRing

SemiRng

SetCategory

UniqueFactorizationDomain if R has PolynomialFactorizationExplicit

unitsKnown if R has Ring

VariablesCommuteWithCoefficients