SparseMultivariatePolynomial(R, VarSet)ΒΆ

multpoly.spad line 80 [edit on github]

This type is the basic representation of sparse recursive multivariate polynomials. It is parameterized by the coefficient ring and the variable set which may be infinite. The variable ordering is determined by the variable set parameter. The coefficient ring may be non-commutative, but the variables are assumed to commute.

0: %

from AbelianMonoid

1: % if R has SemiRing

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

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

from RightModule Fraction Integer

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

from RightModule 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, IndexedExponents VarSet)

=: (%, %) -> 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, IndexedExponents VarSet)

characteristic: () -> NonNegativeInteger if R has Ring

from NonAssociativeRing

charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero or % has CharacteristicNonZero and R has PolynomialFactorizationExplicit

from CharacteristicNonZero

coefficient: (%, IndexedExponents VarSet) -> R

from FreeModuleCategory(R, IndexedExponents VarSet)

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

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

coefficients: % -> List R

from FreeModuleCategory(R, IndexedExponents VarSet)

coerce: % -> % if R has CommutativeRing

from Algebra %

coerce: % -> OutputForm

from CoercibleTo OutputForm

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

from Algebra Fraction Integer

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

from NonAssociativeRing

coerce: R -> %

from Algebra R

coerce: VarSet -> % if R has SemiRing

from CoercibleFrom VarSet

commutator: (%, %) -> % if R has Ring

from NonAssociativeRng

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

from PolynomialFactorizationExplicit

construct: List Record(k: IndexedExponents VarSet, c: R) -> %

from IndexedProductCategory(R, IndexedExponents VarSet)

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

from IndexedProductCategory(R, IndexedExponents VarSet)

content: % -> R if R has GcdDomain

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

content: (%, VarSet) -> % if R has GcdDomain

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

convert: % -> InputForm if R has ConvertibleTo InputForm and VarSet has ConvertibleTo InputForm

from ConvertibleTo InputForm

convert: % -> Pattern Float if R has ConvertibleTo Pattern Float and R has Ring and VarSet has ConvertibleTo Pattern Float

from ConvertibleTo Pattern Float

convert: % -> Pattern Integer if R has ConvertibleTo Pattern Integer and R has Ring and VarSet 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: % -> IndexedExponents VarSet

from AbelianMonoidRing(R, IndexedExponents VarSet)

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

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

degree: (%, VarSet) -> NonNegativeInteger

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, 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

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

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, IndexedExponents VarSet)

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: (%, IndexedExponents VarSet, R, %) -> % if R has Ring

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

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

from GcdDomain

gcd: List % -> % if R has GcdDomain

from GcdDomain

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

from GcdDomain

ground?: % -> Boolean

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

ground: % -> R

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

hash: % -> SingleInteger if VarSet has Hashable and R has Hashable

from Hashable

hashUpdate!: (HashState, %) -> HashState if VarSet has Hashable and R has Hashable

from Hashable

isExpt: % -> Union(Record(var: VarSet, exponent: NonNegativeInteger), failed) if R has SemiRing

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

isPlus: % -> Union(List %, failed)

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

from PolynomialCategory(R, IndexedExponents VarSet, 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 IndexedProductCategory(R, IndexedExponents VarSet)

leadingMonomial: % -> %

from IndexedProductCategory(R, IndexedExponents VarSet)

leadingSupport: % -> IndexedExponents VarSet

from IndexedProductCategory(R, IndexedExponents VarSet)

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

from IndexedProductCategory(R, IndexedExponents VarSet)

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

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

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

from MagmaWithUnit

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

from FreeModuleCategory(R, IndexedExponents VarSet)

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

from IndexedDirectProductCategory(R, IndexedExponents VarSet)

mainVariable: % -> Union(VarSet, failed)

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

from IndexedProductCategory(R, IndexedExponents VarSet)

mapExponents: (IndexedExponents VarSet -> IndexedExponents VarSet, %) -> %

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

minimumDegree: % -> IndexedExponents VarSet

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

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

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

minimumDegree: (%, VarSet) -> NonNegativeInteger

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

monicDivide: (%, %, VarSet) -> Record(quotient: %, remainder: %) if R has Ring

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

monomial?: % -> Boolean

from IndexedProductCategory(R, IndexedExponents VarSet)

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

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

monomial: (R, IndexedExponents VarSet) -> %

from IndexedProductCategory(R, IndexedExponents VarSet)

monomials: % -> List %

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

multivariate: (SparseUnivariatePolynomial %, VarSet) -> %

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

multivariate: (SparseUnivariatePolynomial R, VarSet) -> %

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

numberOfMonomials: % -> NonNegativeInteger

from IndexedDirectProductCategory(R, IndexedExponents VarSet)

one?: % -> Boolean if R has SemiRing

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

patternMatch: (%, Pattern Float, PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if VarSet has PatternMatchable Float and R has PatternMatchable Float and R has Ring

from PatternMatchable Float

patternMatch: (%, Pattern Integer, PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if VarSet has PatternMatchable Integer and R has PatternMatchable Integer and R has Ring

from PatternMatchable Integer

plenaryPower: (%, PositiveInteger) -> % if R has CommutativeRing or R has Algebra Fraction Integer

from NonAssociativeAlgebra %

pomopo!: (%, R, IndexedExponents VarSet, %) -> %

from FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

prime?: % -> Boolean if R has PolynomialFactorizationExplicit

from UniqueFactorizationDomain

primitiveMonomials: % -> List % if R has SemiRing

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

primitivePart: % -> % if R has GcdDomain

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

primitivePart: (%, VarSet) -> % if R has GcdDomain

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

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 LinearlyExplicitOver Integer and R has Ring

from LinearlyExplicitOver Integer

reducedSystem: Matrix % -> Matrix R if R has Ring

from LinearlyExplicitOver R

reductum: % -> %

from IndexedProductCategory(R, IndexedExponents VarSet)

resultant: (%, %, VarSet) -> % if R has CommutativeRing

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

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

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

squareFreePart: % -> % if R has GcdDomain

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

subtractIfCan: (%, %) -> Union(%, failed)

from CancellationAbelianMonoid

support: % -> List IndexedExponents VarSet

from FreeModuleCategory(R, IndexedExponents VarSet)

totalDegree: % -> NonNegativeInteger

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

totalDegree: (%, List VarSet) -> NonNegativeInteger

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

totalDegreeSorted: (%, List VarSet) -> NonNegativeInteger

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, 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

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

univariate: (%, VarSet) -> SparseUnivariatePolynomial %

from PolynomialCategory(R, IndexedExponents VarSet, VarSet)

variables: % -> List VarSet

from MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, VarSet)

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianMonoidRing(R, IndexedExponents VarSet)

AbelianProductCategory R

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

CoercibleFrom Fraction Integer if R has RetractableTo Fraction Integer

CoercibleFrom Integer if R has RetractableTo Integer

CoercibleFrom R

CoercibleFrom VarSet if R has SemiRing

CoercibleTo OutputForm

CommutativeRing if R has CommutativeRing

CommutativeStar if R has CommutativeRing

Comparable if R has Comparable

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

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

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

EntireRing if R has EntireRing

Evalable % if R has SemiRing

FiniteAbelianMonoidRing(R, IndexedExponents VarSet)

FreeModuleCategory(R, IndexedExponents VarSet)

FullyLinearlyExplicitOver R if R has Ring

FullyRetractableTo R

GcdDomain if R has GcdDomain

Hashable if VarSet has Hashable and R has Hashable

IndexedDirectProductCategory(R, IndexedExponents VarSet)

IndexedProductCategory(R, IndexedExponents VarSet)

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 LinearlyExplicitOver Integer and R has Ring

LinearlyExplicitOver R if R has Ring

Magma

MagmaWithUnit if R has SemiRing

MaybeSkewPolynomialCategory(R, IndexedExponents VarSet, 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

NonAssociativeAlgebra % if R has CommutativeRing

NonAssociativeAlgebra Fraction Integer if R has Algebra Fraction Integer

NonAssociativeAlgebra R if R has CommutativeRing

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 VarSet has PatternMatchable Float and R has PatternMatchable Float and R has Ring

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

PolynomialCategory(R, IndexedExponents VarSet, VarSet)

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 Integer if R has LinearlyExplicitOver Integer and R has Ring

RightModule R

Ring if R has Ring

Rng if R has Ring

SemiGroup

SemiRing if R has SemiRing

SemiRng

SetCategory

TwoSidedRecip if R has CommutativeRing

UniqueFactorizationDomain if R has PolynomialFactorizationExplicit

unitsKnown if R has Ring

VariablesCommuteWithCoefficients