我想知道如何解析从 Mathematica 到 Sympy 的不等式字符串
我有这个字符串:
Inequality[1, Less, x, Less, 2]
如何将其解析为 Sympy 以获得:
(x>1, x<2)
我尝试过
parse_mathematica
函数,但我得到了一个“未知”类型的变量。
我不清楚你想要做什么下一步,但我可能会这样写
>>> from sympy import *
>>> x = symbols('x')
>>> sympy.reduce_inequalities([x > 1, x < 2], x)
(1 < x) & (x < 2)
我对 Mathematica 不熟悉,尽管有一个解析器 - 它似乎无法理解您提供的输入,错误地将
Less
解析为名为 Symbol
的 Less
,而不是 <
>>> from sympy.parsing import mathematica
>>> result = mathematica.parse_mathematica("Inequality[1, Less, x, Less, 2]")
>>> result
Inequality(1, Less, x, Less, 2)
>>> srepr(result)
"Function('Inequality')(Integer(1), Symbol('Less'), Symbol('x'), Symbol('Less'), Integer(2))"