# PolynomialFactorizationByRecursion(R, E, VarSet, S)¶

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.