RecursivePolynomialCategory(R, E, V)¶
newpoly.spad line 231 [edit on github]
R: Ring
V: OrderedSet
A category for general multi-variate polynomials with coefficients in a ring, variables in an ordered set, and exponents from an ordered abelian monoid, with a sup operation. When not constant, such a polynomial is viewed as a univariate polynomial in its main variable w
. r
. t
. to the total ordering on the elements in the ordered set, so that some operations usually defined for univariate polynomials make sense here.
- 0: %
from AbelianMonoid
- 1: %
from MagmaWithUnit
- *: (%, %) -> %
from Magma
- *: (%, Fraction Integer) -> % if R has Algebra Fraction Integer
from RightModule Fraction Integer
- *: (%, Integer) -> % if R has LinearlyExplicitOver Integer
from RightModule Integer
- *: (%, R) -> %
from RightModule R
- *: (Fraction Integer, %) -> % if R has Algebra Fraction Integer
from LeftModule Fraction Integer
- *: (Integer, %) -> %
from AbelianGroup
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- *: (R, %) -> %
from LeftModule R
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> %
from AbelianGroup
- -: (%, %) -> %
from AbelianGroup
- /: (%, R) -> % if R has Field
from AbelianMonoidRing(R, E)
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- annihilate?: (%, %) -> Boolean
from Rng
- antiCommutator: (%, %) -> %
- associates?: (%, %) -> Boolean if R has EntireRing
from EntireRing
- associator: (%, %, %) -> %
from NonAssociativeRng
- binomThmExpt: (%, %, NonNegativeInteger) -> % if % has CommutativeRing
from FiniteAbelianMonoidRing(R, E)
- characteristic: () -> NonNegativeInteger
from NonAssociativeRing
- charthRoot: % -> Union(%, failed) if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit or R has CharacteristicNonZero
- coefficient: (%, E) -> R
from AbelianMonoidRing(R, E)
- coefficient: (%, List V, List NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, V)
- coefficient: (%, V, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, V)
- coefficients: % -> List R
from FreeModuleCategory(R, E)
- coerce: % -> % if R has CommutativeRing
from Algebra %
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: % -> Polynomial R if V has ConvertibleTo Symbol
from CoercibleTo Polynomial R
- coerce: Fraction Integer -> % if R has RetractableTo Fraction Integer or R has Algebra Fraction Integer
from CoercibleFrom Fraction Integer
- coerce: Integer -> %
from NonAssociativeRing
- coerce: R -> %
from CoercibleFrom R
- coerce: V -> %
from CoercibleFrom V
- commutator: (%, %) -> %
from NonAssociativeRng
- conditionP: Matrix % -> Union(Vector %, failed) if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
- 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)
- content: (%, V) -> % if R has GcdDomain
from PolynomialCategory(R, E, V)
- convert: % -> InputForm if V has ConvertibleTo InputForm and R has ConvertibleTo InputForm
from ConvertibleTo InputForm
- convert: % -> Pattern Float if V has ConvertibleTo Pattern Float and R has ConvertibleTo Pattern Float
from ConvertibleTo Pattern Float
- convert: % -> Pattern Integer if V has ConvertibleTo Pattern Integer and R has ConvertibleTo Pattern Integer
from ConvertibleTo Pattern Integer
- convert: % -> Polynomial R if V has ConvertibleTo Symbol
from ConvertibleTo Polynomial R
- convert: % -> String if R has RetractableTo Integer and V has ConvertibleTo Symbol
from ConvertibleTo String
- convert: Polynomial Fraction Integer -> % if V has ConvertibleTo Symbol and R has Algebra Fraction Integer
convert(p)
returns the same asretract(p)
.
- convert: Polynomial Integer -> % if V has ConvertibleTo Symbol and R has Algebra Integer
convert(p)
returns the same asretract(p)
.
- convert: Polynomial R -> % if V has ConvertibleTo Symbol
convert(p)
returns the same asretract(p)
.
- D: (%, List V) -> %
from PartialDifferentialRing V
- D: (%, List V, List NonNegativeInteger) -> %
from PartialDifferentialRing V
- D: (%, V) -> %
from PartialDifferentialRing V
- D: (%, V, NonNegativeInteger) -> %
from PartialDifferentialRing V
- deepestInitial: % -> %
deepestInitial(p)
returns an error ifp
belongs toR
, otherwise returns the last term ofiteratedInitials(p)
.
- deepestTail: % -> %
deepestTail(p)
returns0
ifp
belongs toR
, otherwise returns tail(p
), iftail(p)
belongs toR
ormvar(tail(p)) < mvar(p)
, otherwise returnsdeepestTail(tail(p))
.
- degree: % -> E
from AbelianMonoidRing(R, E)
- degree: (%, List V) -> List NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, V)
- degree: (%, V) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, V)
- differentiate: (%, List V) -> %
from PartialDifferentialRing V
- differentiate: (%, List V, List NonNegativeInteger) -> %
from PartialDifferentialRing V
- differentiate: (%, V) -> %
from PartialDifferentialRing V
- differentiate: (%, V, NonNegativeInteger) -> %
from PartialDifferentialRing V
- discriminant: (%, V) -> % if R has CommutativeRing
from PolynomialCategory(R, E, V)
- eval: (%, %, %) -> %
from InnerEvalable(%, %)
- eval: (%, Equation %) -> %
from Evalable %
- eval: (%, List %, List %) -> %
from InnerEvalable(%, %)
- eval: (%, List Equation %) -> %
from Evalable %
- eval: (%, List V, List %) -> %
from InnerEvalable(V, %)
- eval: (%, List V, List R) -> %
from InnerEvalable(V, R)
- eval: (%, V, %) -> %
from InnerEvalable(V, %)
- eval: (%, V, R) -> %
from InnerEvalable(V, R)
- exactQuotient!: (%, %) -> % if R has IntegralDomain
exactQuotient!(a, b)
replacesa
byexactQuotient(a, b)
- exactQuotient!: (%, R) -> % if R has IntegralDomain
exactQuotient!(p, r)
replacesp
byexactQuotient(p, r)
.
- exactQuotient: (%, %) -> % if R has IntegralDomain
exactQuotient(a, b)
computes the exact quotient ofa
byb
, which is assumed to be a divisor ofa
. No error is returned if this exact quotient fails!
- exactQuotient: (%, R) -> % if R has IntegralDomain
exactQuotient(p, r)
computes the exact quotient ofp
byr
, which is assumed to be a divisor ofp
. No error is returned if this exact quotient fails!
- exquo: (%, %) -> Union(%, failed) if R has EntireRing
from EntireRing
- exquo: (%, R) -> Union(%, failed) if R has EntireRing
from FiniteAbelianMonoidRing(R, E)
- extendedSubResultantGcd: (%, %) -> Record(gcd: %, coef1: %, coef2: %) if R has IntegralDomain
extendedSubResultantGcd(a, b)
returns[g, ca, cb]
such thatg
issubResultantGcd(a, b)
and we haveca * a + cb * cb = g
.
- factor: % -> Factored % if R has PolynomialFactorizationExplicit
- factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
- factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
- fmecg: (%, E, R, %) -> %
from FiniteAbelianMonoidRing(R, E)
- gcd: (R, %) -> R if R has GcdDomain
gcd(r, p)
returns thegcd
ofr
and the content ofp
.- gcd: List % -> % if R has GcdDomain
from GcdDomain
- gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GcdDomain
from GcdDomain
- ground?: % -> Boolean
from FiniteAbelianMonoidRing(R, E)
- ground: % -> R
from FiniteAbelianMonoidRing(R, E)
- halfExtendedSubResultantGcd1: (%, %) -> Record(gcd: %, coef1: %) if R has IntegralDomain
halfExtendedSubResultantGcd1(a, b)
returns[g, ca]
ifextendedSubResultantGcd(a, b)
returns[g, ca, cb]
otherwise produces an error.
- halfExtendedSubResultantGcd2: (%, %) -> Record(gcd: %, coef2: %) if R has IntegralDomain
halfExtendedSubResultantGcd2(a, b)
returns[g, cb]
ifextendedSubResultantGcd(a, b)
returns[g, ca, cb]
otherwise produces an error.
- hash: % -> SingleInteger if R has Hashable and V has Hashable
from Hashable
- head: % -> %
head(p)
returnsp
ifp
belongs toR
, otherwise returns its leading term (monomial in the FriCAS sense), wherep
is viewed as a univariate polynomial in its main variable.
- headReduce: (%, %) -> %
headReduce(a, b)
returns a polynomialr
such thatheadReduced?(r, b)
holds and there exists an integere
such thatinit(b)^e a - r
is zero modulob
.
- headReduced?: (%, %) -> Boolean
headReduced?(a, b)
returnstrue
iffdegree(head(a), mvar(b)) < mdeg(b)
.
- headReduced?: (%, List %) -> Boolean
headReduced?(q, lp)
returnstrue
iffheadReduced?(q, p)
holds for everyp
inlp
.
- iexactQuo: (R, R) -> R if R has IntegralDomain
iexactQuo(x, y)
should be local but conditional
- infRittWu?: (%, %) -> Boolean
infRittWu?(a, b)
returnstrue
ifa
is less thanb
w
.r
.t
. the Ritt and Wu Wen Tsun ordering using the refinement of Lazard.
- init: % -> %
init(p)
returns an error ifp
belongs toR
, otherwise returns its leading coefficient, wherep
is viewed as a univariate polynomial in its main variable.
- initiallyReduce: (%, %) -> %
initiallyReduce(a, b)
returns a polynomialr
such thatinitiallyReduced?(r, b)
holds and there exists an integere
such thatinit(b)^e a - r
is zero modulob
.
- initiallyReduced?: (%, %) -> Boolean
initiallyReduced?(a, b)
returnsfalse
iff there exists an iterated initial ofa
which is not reducedw
.r
.t
b
.
- initiallyReduced?: (%, List %) -> Boolean
initiallyReduced?(q, lp)
returnstrue
iffinitiallyReduced?(q, p)
holds for everyp
inlp
.
- isExpt: % -> Union(Record(var: V, exponent: NonNegativeInteger), failed)
from PolynomialCategory(R, E, V)
- isPlus: % -> Union(List %, failed)
from PolynomialCategory(R, E, V)
- isTimes: % -> Union(List %, failed)
from PolynomialCategory(R, E, V)
- iteratedInitials: % -> List %
iteratedInitials(p)
returns[]
ifp
belongs toR
, otherwise returns the list of the iterated initials ofp
.
- lastSubResultant: (%, %) -> % if R has IntegralDomain
lastSubResultant(a, b)
returns the last non-zero subresultant ofa
andb
wherea
andb
are assumed to have the same main variablev
and are viewed as univariate polynomials inv
.
- latex: % -> String
from SetCategory
- LazardQuotient2: (%, %, %, NonNegativeInteger) -> % if R has IntegralDomain
LazardQuotient2(p, a, b, n)
returns(a^(n-1) * p) exquo b^(n-1)
assuming that this quotient does not fail.
- LazardQuotient: (%, %, NonNegativeInteger) -> % if R has IntegralDomain
LazardQuotient(a, b, n)
returnsa^n exquo b^(n-1)
assuming that this quotient does not fail.
- lazyPquo: (%, %) -> %
lazyPquo(a, b)
returns the polynomialq
such thatlazyPseudoDivide(a, b)
returns[c, g, q, r]
.
- lazyPquo: (%, %, V) -> %
lazyPquo(a, b, v)
returns the polynomialq
such thatlazyPseudoDivide(a, b, v)
returns[c, g, q, r]
.
- lazyPrem: (%, %) -> %
lazyPrem(a, b)
returns the polynomialr
reducedw
.r
.t
.b
and such thatb
dividesinit(b)^e a - r
wheree
is the number of steps of this pseudo-division.
- lazyPrem: (%, %, V) -> %
lazyPrem(a, b, v)
returns the polynomialr
reducedw
.r
.t
.b
viewed as univariate polynomials in the variablev
such thatb
dividesinit(b)^e a - r
wheree
is the number of steps of this pseudo-division.
- lazyPremWithDefault: (%, %) -> Record(coef: %, gap: NonNegativeInteger, remainder: %)
lazyPremWithDefault(a, b)
returns[c, g, r]
such thatr = lazyPrem(a, b)
and(c^g)*r = prem(a, b)
.
- lazyPremWithDefault: (%, %, V) -> Record(coef: %, gap: NonNegativeInteger, remainder: %)
lazyPremWithDefault(a, b, v)
returns[c, g, r]
such thatr = lazyPrem(a, b, v)
and(c^g)*r = prem(a, b, v)
.
- lazyPseudoDivide: (%, %) -> Record(coef: %, gap: NonNegativeInteger, quotient: %, remainder: %)
lazyPseudoDivide(a, b)
returns[c, g, q, r]
such that[c, g, r] = lazyPremWithDefault(a, b)
andq
is the pseudo-quotient computed in this lazy pseudo-division.
- lazyPseudoDivide: (%, %, V) -> Record(coef: %, gap: NonNegativeInteger, quotient: %, remainder: %)
lazyPseudoDivide(a, b, v)
returns[c, g, q, r]
such thatr = lazyPrem(a, b, v)
,(c^g)*r = prem(a, b, v)
andq
is the pseudo-quotient computed in this lazy pseudo-division.
- lazyResidueClass: (%, %) -> Record(polnum: %, polden: %, power: NonNegativeInteger)
lazyResidueClass(a, b)
returns[p, q, n]
wherep / q^n
represents the residue class ofa
modulob
andp
is reducedw
.r
.t
.b
andq
isinit(b)
.
- lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %) if R has GcdDomain
from LeftOreRing
- leadingCoefficient: % -> R
from IndexedProductCategory(R, E)
- leadingCoefficient: (%, V) -> %
leadingCoefficient(p, v)
returns the leading coefficient ofp
, wherep
is viewed as A univariate polynomial inv
.
- leadingMonomial: % -> %
from IndexedProductCategory(R, E)
- leadingSupport: % -> E
from IndexedProductCategory(R, E)
- leadingTerm: % -> Record(k: E, c: R)
from IndexedProductCategory(R, E)
- leastMonomial: % -> %
leastMonomial(p)
returns an error ifp
isO
, otherwise, ifp
belongs toR
returns1
, otherwise, the monomial ofp
with lowest degree, wherep
is viewed as a univariate polynomial in its main variable.
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
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)
- mainCoefficients: % -> List %
mainCoefficients(p)
returns an error ifp
isO
, otherwise, ifp
belongs toR
returns [p
], otherwise returns the list of the coefficients ofp
, wherep
is viewed as a univariate polynomial in its main variable.
- mainContent: % -> % if R has GcdDomain
mainContent(p)
returns the content ofp
viewed as a univariate polynomial in its main variable and with coefficients in the polynomial ring generated by its other variables overR
.
- mainMonomial: % -> %
mainMonomial(p)
returns an error ifp
isO
, otherwise, ifp
belongs toR
returns1
, otherwise,mvar(p)
raised to the powermdeg(p)
.
- mainMonomials: % -> List %
mainMonomials(p)
returns an error ifp
isO
, otherwise, ifp
belongs toR
returns [1], otherwise returns the list of the monomials ofp
, wherep
is viewed as a univariate polynomial in its main variable.
- mainPrimitivePart: % -> % if R has GcdDomain
mainPrimitivePart(p)
returns the primitive part ofp
viewed as a univariate polynomial in its main variable and with coefficients in the polynomial ring generated by its other variables overR
.
- mainSquareFreePart: % -> % if R has GcdDomain
mainSquareFreePart(p)
returns the square free part ofp
viewed as a univariate polynomial in its main variable and with coefficients in the polynomial ring generated by its other variables overR
.
- mainVariable: % -> Union(V, failed)
from MaybeSkewPolynomialCategory(R, E, V)
- map: (R -> R, %) -> %
from IndexedProductCategory(R, E)
- mapExponents: (E -> E, %) -> %
from FiniteAbelianMonoidRing(R, E)
- mdeg: % -> NonNegativeInteger
mdeg(p)
returns an error ifp
is0
, otherwise, ifp
belongs toR
returns0
, otherwise, returns the degree ofp
in its main variable.
- minimumDegree: % -> E
from FiniteAbelianMonoidRing(R, E)
- minimumDegree: (%, List V) -> List NonNegativeInteger
from PolynomialCategory(R, E, V)
- minimumDegree: (%, V) -> NonNegativeInteger
from PolynomialCategory(R, E, V)
- monic?: % -> Boolean
monic?(p)
returnsfalse
ifp
belongs toR
, otherwise returnstrue
iffp
is monic as a univariate polynomial in its main variable.
- monicDivide: (%, %, V) -> Record(quotient: %, remainder: %)
from PolynomialCategory(R, E, V)
- monicModulo: (%, %) -> %
monicModulo(a, b)
computesa mod b
, ifb
is monic as univariate polynomial in its main variable.
- monomial?: % -> Boolean
from IndexedProductCategory(R, E)
- monomial: (%, List V, List NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, V)
- monomial: (%, V, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, E, V)
- monomial: (R, E) -> %
from IndexedProductCategory(R, E)
- monomials: % -> List %
from MaybeSkewPolynomialCategory(R, E, V)
- multivariate: (SparseUnivariatePolynomial %, V) -> %
from PolynomialCategory(R, E, V)
- multivariate: (SparseUnivariatePolynomial R, V) -> %
from PolynomialCategory(R, E, V)
- mvar: % -> V
mvar(p)
returns an error ifp
belongs toR
, otherwise returns its main variablew
.r
.t
. to the total ordering on the elements inV
.
- next_subResultant2: (%, %, %, %) -> % if R has IntegralDomain
next_subResultant2(p, q, z, s)
is the multivariate version of the operation \ ``next_sousResultant2`\ <l50736575646f52656d61696e64657253657175656e6365-5c2060606e6578745f736f7573526573756c74616e743260605c20>` from the PseudoRemainderSequence constructor.
- normalized?: (%, %) -> Boolean
normalized?(a, b)
returnstrue
iffa
and its iterated initials have degree zerow
.r
.t
. the main variable ofb
- normalized?: (%, List %) -> Boolean
normalized?(q, lp)
returnstrue
iffnormalized?(q, p)
holds for everyp
inlp
.
- numberOfMonomials: % -> NonNegativeInteger
from IndexedDirectProductCategory(R, E)
- one?: % -> Boolean
from MagmaWithUnit
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- patternMatch: (%, Pattern Float, PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if V has PatternMatchable Float and R has PatternMatchable Float
from PatternMatchable Float
- patternMatch: (%, Pattern Integer, PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if V has PatternMatchable Integer and R has PatternMatchable Integer
from PatternMatchable Integer
- plenaryPower: (%, PositiveInteger) -> % if R has CommutativeRing or R has Algebra Fraction Integer
from NonAssociativeAlgebra %
- pomopo!: (%, R, E, %) -> %
from FiniteAbelianMonoidRing(R, E)
- pquo: (%, %) -> %
pquo(a, b)
computes the pseudo-quotient ofa
byb
, both viewed as univariate polynomials in the main variable ofb
.
- pquo: (%, %, V) -> %
pquo(a, b, v)
computes the pseudo-quotient ofa
byb
, both viewed as univariate polynomials inv
.
- prem: (%, %) -> %
prem(a, b)
computes the pseudo-remainder ofa
byb
, both viewed as univariate polynomials in the main variable ofb
.
- prem: (%, %, V) -> %
prem(a, b, v)
computes the pseudo-remainder ofa
byb
, both viewed as univariate polynomials inv
.
- prime?: % -> Boolean if R has PolynomialFactorizationExplicit
- primitiveMonomials: % -> List %
from MaybeSkewPolynomialCategory(R, E, V)
- primitivePart!: % -> % if R has GcdDomain
primitivePart!(p)
replacesp
by its primitive part.
- primitivePart: % -> % if R has GcdDomain
from PolynomialCategory(R, E, V)
- primitivePart: (%, V) -> % if R has GcdDomain
from PolynomialCategory(R, E, V)
- primPartElseUnitCanonical!: % -> % if R has IntegralDomain
primPartElseUnitCanonical!(p)
replacesp
byprimPartElseUnitCanonical(p)
.
- primPartElseUnitCanonical: % -> % if R has IntegralDomain
primPartElseUnitCanonical(p)
returnsprimitivePart(p)
ifR
is agcd
-domain, otherwiseunitCanonical(p)
.
- pseudoDivide: (%, %) -> Record(quotient: %, remainder: %)
pseudoDivide(a, b)
computes[pquo(a, b), prem(a, b)]
, both polynomials viewed as univariate polynomials in the main variable ofb
, ifb
is not a constant polynomial.
- quasiMonic?: % -> Boolean
quasiMonic?(p)
returnsfalse
ifp
belongs toR
, otherwise returnstrue
iff the initial ofp
lies in the base ringR
.
- recip: % -> Union(%, failed)
from MagmaWithUnit
- reduced?: (%, %) -> Boolean
reduced?(a, b)
returnstrue
iffdegree(a, mvar(b)) < mdeg(b)
.
- reduced?: (%, List %) -> Boolean
reduced?(q, lp)
returnstrue
iffreduced?(q, p)
holds for everyp
inlp
.
- 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
- reductum: % -> %
from IndexedProductCategory(R, E)
- reductum: (%, V) -> %
reductum(p, v)
returns the reductum ofp
, wherep
is viewed as a univariate polynomial inv
.
- resultant: (%, %) -> % if R has IntegralDomain
resultant(a, b)
computes the resultant ofa
andb
wherea
andb
are assumed to have the same main variablev
and are viewed as univariate polynomials inv
.- resultant: (%, %, V) -> % if R has CommutativeRing
from PolynomialCategory(R, E, 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: % -> V
from RetractableTo V
- retract: Polynomial Fraction Integer -> % if V has ConvertibleTo Symbol and R has Algebra Fraction Integer
retract(p)
returnsp
as an element of the current domain, ifretractIfCan(p)
does not return “failed”, otherwise an error is produced.
- retract: Polynomial Integer -> % if V has ConvertibleTo Symbol and R has Algebra Integer
retract(p)
returnsp
as an element of the current domain, ifretractIfCan(p)
does not return “failed”, otherwise an error is produced.
- retract: Polynomial R -> % if V has ConvertibleTo Symbol
retract(p)
returnsp
as an element of the current domain, ifretractIfCan(p)
does not return “failed”, otherwise an error is produced.
- 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(V, failed)
from RetractableTo V
- retractIfCan: Polynomial Fraction Integer -> Union(%, failed) if V has ConvertibleTo Symbol and R has Algebra Fraction Integer
retractIfCan(p)
returnsp
as an element of the current domain, if all its variables belong toV
.
- retractIfCan: Polynomial Integer -> Union(%, failed) if V has ConvertibleTo Symbol and R has Algebra Integer
retractIfCan(p)
returnsp
as an element of the current domain, if all its variables belong toV
.
- retractIfCan: Polynomial R -> Union(%, failed) if V has ConvertibleTo Symbol
retractIfCan(p)
returnsp
as an element of the current domain, if all its variables belong toV
.
- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> %
from Magma
- rightRecip: % -> Union(%, failed)
from MagmaWithUnit
- RittWuCompare: (%, %) -> Union(Boolean, failed)
RittWuCompare(a,b)
returns"failed"
ifa
andb
have same rankw
.r
.t
. Ritt and Wu Wen Tsun ordering using the refinement of Lazard, otherwise returnsinfRittWu?(a, b)
.
- sample: %
from AbelianMonoid
- smaller?: (%, %) -> Boolean if R has Comparable
from Comparable
- solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed) if R has PolynomialFactorizationExplicit
- squareFree: % -> Factored % if R has GcdDomain
from PolynomialCategory(R, E, V)
- squareFreePart: % -> % if R has GcdDomain
from PolynomialCategory(R, E, V)
- squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit
- subResultantChain: (%, %) -> List % if R has IntegralDomain
subResultantChain(a, b)
, wherea
andb
are not constant polynomials with the same main variable, returns the subresultant chain ofa
andb
.
- subResultantGcd: (%, %) -> % if R has IntegralDomain
subResultantGcd(a, b)
computes agcd
ofa
andb
wherea
andb
are assumed to have the same main variablev
and are viewed as univariate polynomials inv
with coefficients in the fraction field of the polynomial ring generated by their other variables overR
.
- subtractIfCan: (%, %) -> Union(%, failed)
- support: % -> List E
from FreeModuleCategory(R, E)
- supRittWu?: (%, %) -> Boolean
supRittWu?(a, b)
returnstrue
ifa
is greater thanb
w
.r
.t
. the Ritt and Wu Wen Tsun ordering using the refinement of Lazard.
- tail: % -> %
tail(p)
returns its reductum, wherep
is viewed as a univariate polynomial in its main variable.
- totalDegree: % -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, V)
- totalDegree: (%, List V) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, V)
- totalDegreeSorted: (%, List V) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, E, V)
- 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
from PolynomialCategory(R, E, V)
- univariate: (%, V) -> SparseUnivariatePolynomial %
from PolynomialCategory(R, E, V)
- variables: % -> List V
from MaybeSkewPolynomialCategory(R, E, V)
- zero?: % -> Boolean
from AbelianMonoid
AbelianMonoidRing(R, E)
Algebra % if R has CommutativeRing
Algebra Fraction Integer if R has Algebra Fraction Integer
Algebra R if R has CommutativeRing
BiModule(%, %)
BiModule(Fraction Integer, Fraction Integer) if R has Algebra Fraction Integer
BiModule(R, R)
canonicalUnitNormal if R has canonicalUnitNormal
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
CoercibleTo Polynomial R if V has ConvertibleTo Symbol
CommutativeRing if R has CommutativeRing
CommutativeStar if R has CommutativeRing
Comparable if R has Comparable
ConvertibleTo InputForm if V has ConvertibleTo InputForm and R has ConvertibleTo InputForm
ConvertibleTo Pattern Float if V has ConvertibleTo Pattern Float and R has ConvertibleTo Pattern Float
ConvertibleTo Pattern Integer if V has ConvertibleTo Pattern Integer and R has ConvertibleTo Pattern Integer
ConvertibleTo Polynomial R if V has ConvertibleTo Symbol
ConvertibleTo String if R has RetractableTo Integer and V has ConvertibleTo Symbol
EntireRing if R has EntireRing
Evalable %
FiniteAbelianMonoidRing(R, E)
FreeModuleCategory(R, E)
Hashable if R has Hashable and V has Hashable
IndexedDirectProductCategory(R, E)
IndexedProductCategory(R, E)
InnerEvalable(%, %)
InnerEvalable(V, %)
InnerEvalable(V, R)
IntegralDomain if R has IntegralDomain
LeftModule Fraction Integer if R has Algebra Fraction Integer
LeftOreRing if R has GcdDomain
LinearlyExplicitOver Integer if R has LinearlyExplicitOver Integer
MaybeSkewPolynomialCategory(R, E, V)
Module % if R has CommutativeRing
Module Fraction Integer if R has Algebra Fraction Integer
Module R if R has CommutativeRing
NonAssociativeAlgebra % if R has CommutativeRing
NonAssociativeAlgebra Fraction Integer if R has Algebra Fraction Integer
NonAssociativeAlgebra R if R has CommutativeRing
noZeroDivisors if R has EntireRing
PatternMatchable Float if V has PatternMatchable Float and R has PatternMatchable Float
PatternMatchable Integer if V has PatternMatchable Integer and R has PatternMatchable Integer
PolynomialCategory(R, E, V)
PolynomialFactorizationExplicit if R has PolynomialFactorizationExplicit
RetractableTo Fraction Integer if R has RetractableTo Fraction Integer
RetractableTo Integer if R has RetractableTo Integer
RightModule Fraction Integer if R has Algebra Fraction Integer
RightModule Integer if R has LinearlyExplicitOver Integer
TwoSidedRecip if R has CommutativeRing
UniqueFactorizationDomain if R has PolynomialFactorizationExplicit