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

Author : `P`.Gianni This package provides the functions for the computation of the square free decomposition of a multivariate polynomial. It uses modular reduction and the package `MultivariateLifting` for the “multivariate” lifting.

check: (List Record(factor: SparseUnivariatePolynomial R, exponent: NonNegativeInteger), List Record(factor: SparseUnivariatePolynomial R, exponent: NonNegativeInteger)) -> Boolean

`check should` be local

coefChoose: (Integer, P, List Record(factor: P, exponent: NonNegativeInteger)) -> P

`coefChoose should` be local

compdegd: List Record(factor: SparseUnivariatePolynomial R, exponent: NonNegativeInteger) -> Integer

`compdegd should` be local

consnewpol: (SparseUnivariatePolynomial P, SparseUnivariatePolynomial R, Integer) -> Record(pol: SparseUnivariatePolynomial P, polval: SparseUnivariatePolynomial R)

`consnewpol should` be local

intChoose: (SparseUnivariatePolynomial P, List OV, List List R) -> Record(upol: SparseUnivariatePolynomial R, Lval: List R, Lfact: List Record(factor: SparseUnivariatePolynomial R, exponent: NonNegativeInteger), ctpol: R)

`intChoose should` be local

lift: (SparseUnivariatePolynomial P, SparseUnivariatePolynomial R, SparseUnivariatePolynomial R, P, List OV, List NonNegativeInteger, List R, R) -> Union(List SparseUnivariatePolynomial P, failed)

`lift should` be local

myDegree: (SparseUnivariatePolynomial P, List OV, NonNegativeInteger) -> List NonNegativeInteger

`myDegree should` be local

normDeriv2: (SparseUnivariatePolynomial R, Integer) -> SparseUnivariatePolynomial R

`normDeriv2 should` be local

nsqfree: (SparseUnivariatePolynomial P, List OV, List List R) -> Record(unitPart: P, suPart: List Record(factor: SparseUnivariatePolynomial P, exponent: NonNegativeInteger))

`nsqfree should` be local

squareFree: P -> Factored P

`squareFree(p)` computes the square free decomposition of a multivariate polynomial `p`.

squareFree: SparseUnivariatePolynomial P -> Factored SparseUnivariatePolynomial P

`squareFree(p)` computes the square free decomposition of a multivariate polynomial `p` presented as a univariate polynomial with multivariate coefficients.

univcase: (P, OV) -> Factored P

`univcase should` be local