mirror of
https://github.com/Z3Prover/z3
synced 2026-04-26 22:03:34 +00:00
Address review comments on multivariate factorization
- 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>
This commit is contained in:
parent
3e5e9026d8
commit
5bae864d6e
2 changed files with 61 additions and 64 deletions
|
|
@ -1,4 +1,5 @@
|
|||
Polynomial manipulation package.
|
||||
It contains support for univariate (upolynomial.*) and multivariate polynomials (polynomial.*).
|
||||
Multivariate polynomial factorization uses evaluation and GCD recovery: evaluate away extra variables
|
||||
to get a univariate polynomial, factor it, then recover multivariate factors via GCD computation.
|
||||
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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue