# InnerMultFact(OV, E, R, P)ΒΆ

- OV: OrderedSet
- E: OrderedAbelianMonoidSup
- R: Join(EuclideanDomain, CharacteristicZero)
- P: PolynomialCategory(R, E, OV)

This is an inner package for factoring multivariate polynomials over various coefficient domains in characteristic 0. The univariate factor operation is passed as a parameter. Multivariate hensel lifting is used to lift the univariate factorization

- factor: (P, SparseUnivariatePolynomial R -> Factored SparseUnivariatePolynomial R) -> Factored P
`factor(p, ufact)`

factors the multivariate polynomial`p`

by specializing variables and calling the univariate factorizer ufact.

- factor: (SparseUnivariatePolynomial P, SparseUnivariatePolynomial R -> Factored SparseUnivariatePolynomial R) -> Factored SparseUnivariatePolynomial P
`factor(p, ufact)`

factors the multivariate polynomial`p`

by specializing variables and calling the univariate factorizer ufact.`p`

is represented as a univariate polynomial with multivariate coefficients.