sympy: как использовать sympy.sympify для двух переменных?

#python #sympy

#python #sympy

Вопрос:

Как использовать sympy.sympify для двух или более переменных?

Этот код с одной переменной работает.

 aa = sympify("4*x**2   5*x - 6 > 1 , x > 0.8")
print(solve(aa))

>> (0.838087488839953 < x) amp; (x < oo)
  

Но этот код с двумя переменными не работает.

 aa = sympify("x   y = 8 ,  2x - y < 5 ")
print(solve(aa))

>> sympy.core.sympify.SympifyError: Sympify of expression 'could not parse 'x   y = 8 ,  2x - y < 5 '' 
failed, because of exception being raised:
SyntaxError: invalid syntax (<string>, line 1)
  

Я хотел бы решать уравнения или неравенства, включающие две или более переменных, со строковым вводом типа «4 x**2 5 x — 6> 1, x> 0,8″ вместо символов sympy. Возможно ли решить линейные уравнения с двумя переменными с помощью sympy sympify?

Комментарии:

1. Игра с вашей проблемной строкой, которую я нахожу sympify("x y = 8") , приводит к синтаксической ошибке. sympy во введении много говорится о ‘=’ gotcha. ‘2x’ во втором выражении также является проблемой, «2 * x-y<5» разбирается нормально. Синтаксическую ошибку выдают не две переменные.

2. Спасибо hpaulj. Но я все еще не могу использовать sympy для решения многомерных неравенств и буду использовать пакет PuLP для многомерных неравенств.