2016-10-05 2 views
4

Использованием SymPy, я определяю символы,SymPy - символический решать уравнения с поплавком мощностью

a, b, c = sympy.symbols(['a', 'b', 'c']) 

Тогда, когда я пытаюсь решить следующую систему уравнений,

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(a, 2)]) 

я получаю решение ,

[{b: c + 5.86446702875684, a: 2.00000000000000}] 

Но, когда я пытаюсь решить,

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(b, 2)]) 

Просто кажется, что он работает (на ~ 4 часа) без решения. Любая помощь будет оценена!

ответ

5

Я не знаю, почему, но rational=False помогает

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(b, 2)], rational=False) 

см: sympy hangs when trying to solve a simple algebraic equation

+2

Плавающие силы точки преобразуются в рациональные полномочия, которые могут привести к полиномам огромной степени. – asmeurer

+0

Это сработало! Спасибо тонну @furas! – aaron02

Смежные вопросы