# LeadingCoefDetermination(OV, E, Z, P)ΒΆ

leadcdet.spad line 1 [edit on github]

OV: OrderedSet

Z: GcdDomain

P: PolynomialCategory(Z, E, OV)

Package for leading coefficient determination in the lifting step. Package working for every unique factorization domain `R`

. Uses algorithm given in section 3 of [1] generalized to arbitrary unique factorization domain.

- distFact: (Z, List SparseUnivariatePolynomial Z, Record(contp: Z, factors: List Record(irr: P, pow: NonNegativeInteger)), List Z, List OV, List Z) -> Union(Record(polfac: List P, correct: Z, corrfact: List SparseUnivariatePolynomial Z), failed)
`distFact(contm, unilist, plead, vl, lvar, lval)`

, where`contm`

is the content of the evaluated polynomial,`unilist`

is the list of factors of the evaluated polynomial,`plead`

is the complete factorization of the leading coefficient,`vl`

is the list of factors of the leading coefficient evaluated,`lvar`

is the list of variables, lval is the list of values, returns a record giving the list of leading coefficients to impose on the univariate factors,

- polCase: (Z, NonNegativeInteger, List Z) -> Boolean
`polCase(contprod, numFacts, evallcs)`

, where`contprod`

is the product of the content of the leading coefficient of the polynomial to be factored with the content of the evaluated polynomial,`numFacts`

is the number of factors of the leadingCoefficient, and evallcs is the list of the evaluated factors of the leadingCoefficient, returns`true`

if the factors of the leading Coefficient can be distributed with this valuation.