XPolynomialFactor(vl, F)¶
xpfact.spad line 1 [edit on github]
vl: OrderedSet
F: Field
This package implements factorization for free ring.
- factor: XDistributedPolynomial(vl, F) -> List XDistributedPolynomial(vl, F) if F has PolynomialFactorizationExplicit
factor(p)returns a factorization ofpinto irreducible factors. Note: in general there are finitely many nonequivalent factorizations into irreducible factors, this routine returns only one.
- homo_fact: XDistributedPolynomial(vl, F) -> List XDistributedPolynomial(vl, F)
homo_fact(p)factors homogeneous polynomialpinto irreducible factors.
- ldivide: (XDistributedPolynomial(vl, F), XDistributedPolynomial(vl, F)) -> Record(quotient: XDistributedPolynomial(vl, F), remainder: XDistributedPolynomial(vl, F))
ldivide(a, b)returns [c,r] such that a =b*c+r,ris is of minimal possible degree and homogeneous part of ofrof maximal degree contains no terms divisible from left by leading term ofb.
- left_ext_GCD: (XDistributedPolynomial(vl, F), XDistributedPolynomial(vl, F)) -> Union(Record(g: XDistributedPolynomial(vl, F), c1: XDistributedPolynomial(vl, F), c2: XDistributedPolynomial(vl, F), cu: XDistributedPolynomial(vl, F), cv: XDistributedPolynomial(vl, F)), failed)
left_ext_GCD(a, b)returns [g,u0,v0,u,v] wheregis leftGCDof a andb,g=a*u0+b*v0and au = -bvis least common right multiple of a andbwhen a andbhave least common right multiple. Otherwise left_ext_GCD(a,b) returns “failed”.
- rdivide: (XDistributedPolynomial(vl, F), XDistributedPolynomial(vl, F)) -> Record(quotient: XDistributedPolynomial(vl, F), remainder: XDistributedPolynomial(vl, F))
ldivide(a,
b) returns [c,r] such that a =c*b+r,ris is of minimal possible degree and homogeneous part of ofrof maximal degree contains no terms divisible from right by leading term ofb.
- top_split: XDistributedPolynomial(vl, F) -> List XDistributedPolynomial(vl, F)
top_split(p)returns [p1,p2] wherep1is homogeneous part ofpof maximal degree andp2is sum of lower order terms ofp.