# FactoringUtilities(E, OV, R, P)¶

This package provides utilities used by the factorizers which operate on polynomials represented as univariate polynomials with multivariate coefficients.

completeEval: (SparseUnivariatePolynomial P, List OV, List R) -> SparseUnivariatePolynomial R
completeEval(upoly, lvar, lval) evaluates the polynomial upoly with each variable in lvar replaced by the corresponding value in lval. Substitutions are done for all variables in upoly producing a univariate polynomial over R.
degree: (SparseUnivariatePolynomial P, List OV) -> List NonNegativeInteger
degree(upoly, lvar) returns a list containing the maximum degree for each variable in lvar.
lowerPolynomial: SparseUnivariatePolynomial P -> SparseUnivariatePolynomial R
lowerPolynomial(upoly) converts upoly to be a univariate polynomial over R. An error if the coefficients contain variables.
normalDeriv: (SparseUnivariatePolynomial P, Integer) -> SparseUnivariatePolynomial P
normalDeriv(poly, i) computes the ith derivative of poly divided by i!.
raisePolynomial: SparseUnivariatePolynomial R -> SparseUnivariatePolynomial P
raisePolynomial(rpoly) converts rpoly from a univariate polynomial over r to be a univariate polynomial with polynomial coefficients.
ran: Integer -> R
ran(k) computes a random integer between -k and k as a member of R.
variables: SparseUnivariatePolynomial P -> List OV
variables(upoly) returns the list of variables for the coefficients of upoly.