mirror of
https://github.com/Z3Prover/z3
synced 2026-03-27 06:45:48 +00:00
- Fix memory leaks: use scoped_numeral instead of raw numeral for evaluation points, ensuring cleanup on exceptions - Precompute lc_inv before the Hensel lifting loop instead of recomputing each iteration - Use scoped_numeral_vector for eval_vals for consistency with codebase - Move eval_values and candidate_primes to static constexpr class-level - Document limitations: single-prime Hensel lifting, contiguous factor splits only, pseudo-division lc-power caveat - Condense Bezout derivation comment to 4-line summary - Fix README to say Hensel lifting instead of GCD recovery Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
5 lines
423 B
Text
5 lines
423 B
Text
Polynomial manipulation package.
|
|
It contains support for univariate (upolynomial.*) and multivariate polynomials (polynomial.*).
|
|
Multivariate polynomial factorization uses evaluation and bivariate Hensel lifting: evaluate away
|
|
extra variables, factor the univariate specialization, then lift to bivariate factors in Zp[x]
|
|
and verify over Z. For >2 variables, trial division checks if bivariate factors divide the original.
|