PolynomialFactorizationExplicit

catdef.spad line 1228 [edit on github]

This is the category of domains that know "enough" about themselves in order to factor univariate polynomials over their fraction field.

* : (%, %) -> %
from Magma
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
^ : (%, NonNegativeInteger) -> %
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
annihilate? : (%, %) -> Boolean
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associates? : (%, %) -> Boolean
from EntireRing
associator : (%, %, %) -> %
from NonAssociativeRng
characteristic : () -> NonNegativeInteger
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if % has CharacteristicNonZero

charthRoot(r) returns the p-th root of r, or "failed" if none exists in the domain.

coerce : % -> %
from Algebra(%)
coerce : Integer -> %
from NonAssociativeRing
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %
from NonAssociativeRng
conditionP : Matrix(%) -> Union(Vector(%), "failed") if % has CharacteristicNonZero

conditionP(m) returns a vector of elements, not all zero, whose p-th powers (p is the characteristic of the domain) are a solution of the homogeneous linear system represented by m, or "failed" is there is no such vector.

exquo : (%, %) -> Union(%, "failed")
from EntireRing
factor : % -> Factored(%)
from UniqueFactorizationDomain
factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))

factorPolynomial(p) returns the factorization into irreducibles of the univariate polynomial p.

factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))

factorSquareFreePolynomial(p) factors the univariate polynomial p into irreducibles where p is known to be square free and primitive with respect to its main variable.

gcd : (%, %) -> %
from GcdDomain
gcd : List(%) -> %
from GcdDomain
gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)

gcdPolynomial(p, q) returns the gcd of the univariate polynomials p qnd q.

latex : % -> String
from SetCategory
lcm : (%, %) -> %
from GcdDomain
lcm : List(%) -> %
from GcdDomain
lcmCoef : (%, %) -> Record(llcm_res : %, coeff1 : %, coeff2 : %)
from LeftOreRing
leftPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed")
from MagmaWithUnit
one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
plenaryPower : (%, PositiveInteger) -> %
from NonAssociativeAlgebra(%)
prime? : % -> Boolean
from UniqueFactorizationDomain
recip : % -> Union(%, "failed")
from MagmaWithUnit
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)), SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)), "failed")

solveLinearPolynomialEquation([f1, ..., fn], g) (where the fi are relatively prime to each other) returns a list of ai such that g/prod fi = sum ai/fi or returns "failed" if no such list of ai's exists.

squareFree : % -> Factored(%)
from UniqueFactorizationDomain
squareFreePart : % -> %
from UniqueFactorizationDomain
squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%))

squareFreePolynomial(p) returns the square-free factorization of the univariate polynomial p.

subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
unit? : % -> Boolean
from EntireRing
unitCanonical : % -> %
from EntireRing
unitNormal : % -> Record(unit : %, canonical : %, associate : %)
from EntireRing
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

IntegralDomain

noZeroDivisors

Algebra(%)

RightModule(%)

Monoid

GcdDomain

EntireRing

CancellationAbelianMonoid

MagmaWithUnit

NonAssociativeRing

AbelianGroup

LeftModule(%)

CommutativeStar

Module(%)

SetCategory

LeftOreRing

Rng

CommutativeRing

TwoSidedRecip

Magma

UniqueFactorizationDomain

SemiGroup

BiModule(%, %)

CoercibleTo(OutputForm)

AbelianSemiGroup

NonAssociativeSemiRing

NonAssociativeAlgebra(%)

NonAssociativeRng

unitsKnown

Ring

SemiRng

AbelianMonoid

NonAssociativeSemiRng

BasicType

SemiRing