#18695: propagate the variable domain to the assumptions database
-------------------------------------+-------------------------------------
Reporter: rws | Owner:
Type: defect | Status: needs_work
Priority: major | Milestone: sage-6.8
Component: symbolics | Resolution:
Keywords: | Merged in:
Authors: Ralf Stephan | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/rws/setting_domain_integer_on_var_has_no_effect_with_solve|
e103b5682b8de062309ce2a1283984f6adc94a78
Dependencies: #18877 | Stopgaps:
-------------------------------------+-------------------------------------
Description changed by rws:
Old description:
> While this works as expected:
> {{{
> sage: n = var('n')
> sage: assume(n, 'integer')
> sage: solve([n^2 == 3],n)
> []
> }}}
> this does not:
> {{{
> sage: forget()
> sage: n = var('n', domain='integer')
> sage: solve([n^2 == 3],n)
> [n == -sqrt(3), n == sqrt(3)]
> }}}
> So, either `solve` should also look at the variable domain, or better,
> let's propagate domain settings to the assumption list.
> Also:
> {{{
> sage: _ = var('n', domain='integer')
> sage: n.is_integer()
> False
> }}}
New description:
While this works as expected:
{{{
sage: n = var('n')
sage: assume(n, 'integer')
sage: solve([n^2 == 3],n)
[]
}}}
this does not:
{{{
sage: forget()
sage: n = var('n', domain='integer')
sage: solve([n^2 == 3],n)
[n == -sqrt(3), n == sqrt(3)]
}}}
So, either `solve` should also look at the variable domain, or better,
let's propagate domain settings to the assumption list.
Also:
{{{
sage: _ = var('n', domain='integer')
sage: n.is_integer()
False
}}}
Creating a non-complex var will invoke Maxima with this. I think this is
acceptable for now. Alternatively, examine if assumptions can be done
lazily, i.e., before any call to Maxima.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/18695#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.