MultivariateLifting(E, OV, R, P)¶
mlift.spad line 1 [edit on github]
OV: OrderedSet
P: PolynomialCategory(R, E, OV)
This package provides the functions for the multivariate “lifting”, using an algorithm of Paul Wang. This package will work for every euclidean domain R
which has property F
, i.e. there exists a factor operation in R[x]
.
- corrPoly: (SparseUnivariatePolynomial P, List OV, List R, List NonNegativeInteger, List SparseUnivariatePolynomial P, SparseUnivariatePolynomial R -> Union(List SparseUnivariatePolynomial R, failed)) -> Union(List SparseUnivariatePolynomial P, failed)
corrPoly(u, lv, lr, ln, lu, bsolv)
solves polynomial equation system u/f = sum(ai/lu(i
)) wheref
is product oflu
(i
) and deg(ai
) < deg(lu
(i
)) using modular method. corrPoly returns “failed” if there are no solution.lv
is list of variables,lr
is list of corresponding evaluation points, bsolv is solver overR
specialized for modular images oflu
.
- lifting: (SparseUnivariatePolynomial P, List OV, List SparseUnivariatePolynomial R, List R, List P, List NonNegativeInteger, List SparseUnivariatePolynomial R -> Union(SparseUnivariatePolynomial R -> Union(List SparseUnivariatePolynomial R, failed), failed)) -> Union(List SparseUnivariatePolynomial P, failed)
lifting(u, lv, lu, lr, lp, ln, gen_solv)
lifts univariate factorization, returning recovered factors or “failed” in case of bad reduction.u
is multivariate polynomial to factor,lu
is list of univariate factors,lv
is list of variables,ln
is list of degrees corresponding to variables,lr
is list of evaluation points,lp
is list of leading coefficients of factors if known, empty otherwise, gen_solv delivers solver for polynomial equations
- lifting: (SparseUnivariatePolynomial P, List OV, List SparseUnivariatePolynomial R, List R, List P, List NonNegativeInteger, R) -> Union(List SparseUnivariatePolynomial P, failed) if R has EuclideanDomain
lifting(u, lv, lu, lr, lp, ln, r)
is lifting(u
,lv
,lu
,lr
,lp
,ln
, solv(r
)) where solv(r
) is solver using reduction modulor
and lifting. Memberes oflu
must be relatively prime modulor