XPolynomialFactor(vl, F)

xpfact.spad line 1 [edit on github]

undocumented

factor : XDistributedPolynomial(vl, F) -> List(XDistributedPolynomial(vl, F)) if F has PolynomialFactorizationExplicit

factor(p) returns a factorization of p into 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 polynomial p into 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, r is is of minimal possible degree and homogeneous part of of r of maximal degree contains no terms divisible from left by leading term of b.

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] where g is left GCD of a and b, g = a*u0 + b*v0 and au = - bv is least common right multiple of a and b when a and b have least common right multiple. Otherwise left_ext_GCD(a, b) returns "failed".

top_split : XDistributedPolynomial(vl, F) -> List(XDistributedPolynomial(vl, F))

top_split(p) returns [p1, p2] where p1 is homogeneous part of p of maximal degree and p2 is sum of lower order terms of p.