sympy - 用浮动力象征性地求解方程

aar*_*n02 4 python sympy

使用sympy,我定义符号,

a, b, c = sympy.symbols(['a', 'b', 'c'])
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试解决以下方程组时,

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(a, 2)])
Run Code Online (Sandbox Code Playgroud)

我得到了解决方案,

[{b: c + 5.86446702875684, a: 2.00000000000000}]
Run Code Online (Sandbox Code Playgroud)

但是,当我试图解决时,

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(b, 2)])
Run Code Online (Sandbox Code Playgroud)

它似乎继续运行(约4小时),没有解决方案.任何帮助,将不胜感激!

fur*_*ras 5

我不知道为什么但有rational=False帮助

sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(b, 2)], rational=False)
Run Code Online (Sandbox Code Playgroud)

看:当试图解决一个简单的代数方程时,sympy会挂起

  • 浮点功率被转换为合理功率,这可以导致极大程度的多项式. (2认同)