# XPolynomialFactor(vl, F)¶

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 thare 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`.