# PolynomialFactorizationByRecursion(R, E, VarSet, S)ΒΆ

- R: PolynomialFactorizationExplicit
- E: OrderedAbelianMonoidSup
- VarSet: OrderedSet
- S: PolynomialCategory(R, E, VarSet)

PolynomialFactorizationByRecursion(`R`

, `E`

, `VarSet`

, `S`

) is used for factorization of sparse univariate polynomials over a domain `S`

of multivariate polynomials over `R`

.

- bivariateSLPEBR: (List SparseUnivariatePolynomial S, SparseUnivariatePolynomial S, VarSet) -> Union(List SparseUnivariatePolynomial S, failed)
`bivariateSLPEBR(lp, p, v)`

implements the bivariate case of solveLinearPolynomialEquationByRecursion; its implementation depends on`R`

- factorByRecursion: SparseUnivariatePolynomial S -> Factored SparseUnivariatePolynomial S
`factorByRecursion(p)`

factors polynomial`p`

. This function performs the recursion step for factorPolynomial, as defined in PolynomialFactorizationExplicit category (see factorPolynomial)

- factorSquareFreeByRecursion: SparseUnivariatePolynomial S -> Factored SparseUnivariatePolynomial S
`factorSquareFreeByRecursion(p)`

returns the square free factorization of`p`

. This functions performs the recursion step for factorSquareFreePolynomial, as defined in PolynomialFactorizationExplicit category (see factorSquareFreePolynomial).

- randomR: Integer -> R
`randomR produces`

a random element of`R`

- solveLinearPolynomialEquationByRecursion: (List SparseUnivariatePolynomial S, SparseUnivariatePolynomial S) -> Union(List SparseUnivariatePolynomial S, failed)
`solveLinearPolynomialEquationByRecursion([p1, ..., pn], p)`

returns the list of polynomials`[q1, ..., qn]`

such that`sum qi/pi = p / prod pi`

, a recursion step for solveLinearPolynomialEquation as defined in PolynomialFactorizationExplicit category (see solveLinearPolynomialEquation). If no such list of`qi`

exists, then “failed” is returned.