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

leadcdet.spad line 1

Package for leading coefficient determination in the lifting step. Package working for every R euclidean with property "F". Uses algorithm given in section 3 of P. S. Wang “An improved multivariate polynomial factoring algorithm”, Math. of Comput. 32, 1978, p. 1215--1231, generalized to arbitrary euclidean domain.

distFact: (Z, List SparseUnivariatePolynomial Z, Record(contp: Z, factors: List Record(irr: P, pow: Integer)), 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.