#8969: problems with maxima inequalities
-------------------------+--------------------------------------------------
Reporter: dsm | Owner: burcin
Type: defect | Status: new
Priority: minor | Milestone:
Component: symbolics | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------+--------------------------------------------------
'Sage Version 4.4.1, Release Date: 2010-05-02'[[BR]]mac 10.4 32 bit
running on 10.5.8.
sage: solve([2*x==3, x < 10], x)[[BR]][[x == (3/2)]][[BR]]sage:
solve([2*x==3, x > 10], x)[[BR]][][[BR]]sage: solve([2*x==3, x == 10],
x)[[BR]][][[BR]]sage: solve([2*x==3, x == 3/2], x)[[BR]][[x == (3/2)]]
sage: solve([2*x==3, x < 4, x > 4], x)[[BR]][][[BR]]
all work as expected, but:
sage: solve([2*x==3, x != 5],
x)[[BR]]---------------------------------------------------------------------------[[BR]]!TypeError
Traceback (most recent call last)[[BR]][[BR]]/Applications/sage/devel
/sage-main/build/sage/<ipython console> in
<module>()[[BR]][[BR]]/Applications/sage/local/lib/python2.6/site-
packages/sage/symbolic/relation.pyc in solve(f, *args, **kwds)[[BR]]
670 s = [][[BR]] 671 [[BR]]--> 672 sol_list =
string_to_list_of_solutions(repr(s))[[BR]] 673 if
'solution_dict' in kwds and kwds!['solution_dict']==True:[[BR]] 674
if isinstance(sol_list![0],
list):[[BR]][[BR]]/Applications/sage/local/lib/python2.6/site-
packages/sage/symbolic/relation.pyc in
string_to_list_of_solutions(s)[[BR]] 455 from
sage.structure.sequence import Sequence[[BR]] 456 from
sage.calculus.calculus import
symbolic_expression_from_maxima_string[[BR]]--> 457 v =
symbolic_expression_from_maxima_string(s, equals_sub=True)[[BR]] 458
return Sequence(v, universe=Objects(), cr_str=True)[[BR]] 459
[[BR]][[BR]]/Applications/sage/local/lib/python2.6/site-
packages/sage/calculus/calculus.py in
symbolic_expression_from_maxima_string(x, equals_sub, maxima)[[BR]] 1527
return symbolic_expression_from_string(s, syms,
accept_sequence=True)[[BR]] 1528 except !!!SyntaxError:[[BR]]-> 1529
raise !TypeError, "unable to make sense of Maxima expression '%s' in
Sage"%s[[BR]] 1530 finally:[[BR]] 1531 is_simplified =
False[[BR]][[BR]]!TypeError: unable to make sense of Maxima expression
'[[x==3/2,-7/2!==0]]' in Sage
--
The "!==" which is causing trouble is due to the
if equals_sub:[[BR]] s = s.replace('=','==')
lines in symbolic_expression_from_maxima_string. This could be fixed by
changing the replace to a regexp, or adding a hack s = s.replace('!==',
'!=') afterwards.
This deals with the obvious problem but not the underlying one, which is
that the result is still IMHO underprocessed:
MODIFIED_sage: solve([2*x==3, x != 4], x)[[BR]][[x == (3/2), (-5/2) != 0]]
when I wanted [[x == (3/2)]], or
MODIFIED_sage: solve([2*x==3, x != 3/2], x)[[BR]][[x == (3/2), 0 != 0]]
when I wanted [].
In fact, even in cases not involving "!=", it's possible for maxima output
-- %union([x = 3/2, -5/2 # 0]) -- to be insufficiently processed,IMHO:
sage: solve([2*x==3, (x-4)!^2 > 0], x)[[BR]][[x == (3/2), (-5/2) != 0]]
ISTM the extra information about what condition maxima used isn't worth
the inconvenience of having to postprocess the solutions to see if one
exists.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8969>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.