3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 19:47:52 +00:00

add __copy__, __deepcopy__ as alias to translate on same context #1427. Add generalized Gaussian elimination as an option to first-pass NL solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-01-01 17:11:43 -08:00
parent b78c538e02
commit 8dadd30db5
5 changed files with 32 additions and 7 deletions

View file

@ -10,6 +10,7 @@ def_module_params('nlsat',
('randomize', BOOL, True, "randomize selection of a witness in nlsat."),
('max_conflicts', UINT, UINT_MAX, "maximum number of conflicts."),
('shuffle_vars', BOOL, False, "use a random variable order."),
('inline_vars', BOOL, False, "inline variables that can be isolated from equations"),
('seed', UINT, 0, "random seed."),
('factor', BOOL, True, "factor polynomials produced during conflict resolution.")
))

View file

@ -154,6 +154,7 @@ namespace nlsat {
bool m_randomize;
bool m_random_order;
unsigned m_random_seed;
bool m_inline_vars;
unsigned m_max_conflicts;
// statistics
@ -210,6 +211,7 @@ namespace nlsat {
m_max_conflicts = p.max_conflicts();
m_random_order = p.shuffle_vars();
m_random_seed = p.seed();
m_inline_vars = p.inline_vars();
m_ism.set_seed(m_random_seed);
m_explain.set_simplify_cores(m_simplify_cores);
m_explain.set_minimize_cores(min_cores);
@ -1313,11 +1315,8 @@ namespace nlsat {
m_explain.set_full_dimensional(is_full_dimensional());
bool reordered = false;
#if 0
// disabled
if (!m_incremental)
if (!m_incremental && m_inline_vars)
simplify();
#endif
if (!can_reorder()) {