# 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.