# HG changeset patch
# User D. S. McNeil <dsm054@gmail.com>
# Date 1337989349 25200
# Node ID 8555de83ba1dd56b4daecab6fd8b3ff1f4708929
# Parent 5299aa8232d7acb68d37162f5bef2068c8a68d54
Trac #8969: allow conversion of != from maxima strings
diff --git a/sage/calculus/calculus.py b/sage/calculus/calculus.py
a
|
b
|
|
1671 | 1671 | \overline{x} |
1672 | 1672 | sage: latex(t._maxima_()._sage_()) |
1673 | 1673 | \overline{x} |
| 1674 | |
| 1675 | Check that we can understand maxima's not-equals (:trac:`8969`):: |
| 1676 | |
| 1677 | sage: from sage.calculus.calculus import symbolic_expression_from_maxima_string as sefms |
| 1678 | sage: sefms("x != 3") == SR(x != 3) |
| 1679 | True |
| 1680 | sage: sefms("x # 3") == SR(x != 3) |
| 1681 | True |
| 1682 | sage: solve([x != 5], x) |
| 1683 | [[x - 5 != 0]] |
| 1684 | sage: solve([2*x==3, x != 5], x) |
| 1685 | [[x == (3/2), (-7/2) != 0]] |
| 1686 | |
1674 | 1687 | """ |
1675 | 1688 | syms = sage.symbolic.pynac.symbol_table.get('maxima', {}).copy() |
1676 | 1689 | |
… |
… |
|
1711 | 1724 | |
1712 | 1725 | if equals_sub: |
1713 | 1726 | s = s.replace('=','==') |
| 1727 | # unfortunately, this will turn != into !==, which we correct |
| 1728 | s = s.replace("!==", "!=") |
1714 | 1729 | |
1715 | 1730 | #replace %union from to_poly_solve with a list |
1716 | 1731 | if s[0:5]=='union': |