从mathematica解析不等式到sympy

问题描述 投票:0回答:1

我想知道如何解析从 Mathematica 到 Sympy 的不等式字符串

我有这个字符串:

Inequality[1, Less, x, Less, 2]

如何将其解析为 Sympy 以获得:

(x>1, x<2)

我尝试过

parse_mathematica
函数,但我得到了一个“未知”类型的变量。

sympy
1个回答
0
投票

我不清楚你想要做什么下一步,但我可能会这样写

>>> 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))"
© www.soinside.com 2019 - 2024. All rights reserved.