Skip to content

problems with maxima inequalities #8969

@sagetrac-dsm

Description

@sagetrac-dsm

'Sage Version 4.4.1, Release Date: 2010-05-02'

mac 10.4 32 bit running on 10.5.8.

sage: solve([2*x==3, x < 10], x)
[[x == (3/2)]]
sage: solve([2*x==3, x > 10], x)
[]
sage: solve([2*x==3, x == 10], x)
[]
sage: solve([2*x==3, x == 3/2], x)
[[x == (3/2)]]

sage: solve([2*x==3, x < 4, x > 4], x)
[]

all work as expected, but:

sage: solve([2*x==3, x != 5], x)
-----------------------------------------------------------
!TypeError                                 Traceback (most recent call last)

/Applications/sage/devel/sage-main/build/sage/<ipython console> in <module>()
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/relation.pyc in solve(f, *args, **kwds)
    670                 s = []
    671 
--> 672         sol_list = string_to_list_of_solutions(repr(s))
    673         if 'solution_dict' in kwds and kwds!['solution_dict']==True:
    674             if isinstance(sol_list![0], list):
]/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/relation.pyc in string_to_list_of_solutions(s)
    455     from sage.structure.sequence import Sequence
    456     from sage.calculus.calculus import symbolic_expression_from_maxima_string
--> 457     v = symbolic_expression_from_maxima_string(s, equals_sub=True)
    458     return Sequence(v, universe=Objects(), cr_str=True)
    459 
/Applications/sage/local/lib/python2.6/site-packages/sage/calculus/calculus.py in symbolic_expression_from_maxima_string(x, equals_sub, maxima)
   1527         return symbolic_expression_from_string(s, syms, accept_sequence=True)
   1528     except !!!!SyntaxError:
-> 1529         raise !TypeError, "unable to make sense of Maxima expression '%s' in Sage"%s
   1530     finally:
   1531         is_simplified = False
!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:
            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.

Component: symbolics

Keywords: sd40.5

Author: Douglas McNeil

Reviewer: Karl-Dieter Crisman

Merged: sage-5.1.beta5

Issue created by migration from https://trac.sagemath.org/ticket/8969

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions