sympy求方程组:导致错误:仅支持零维系统

时间:2016-11-07 12:32:05

标签: python sympy equation

我想计算一组微分方程的稳态,如下面的代码所示。

from sympy import *
from sympy import solve
from sympy import init_printing
init_printing()

X = Symbol("\X")
Y = Symbol("\Y")
Z = Symbol("\Z")

tau = Symbol(r"\tau")

Ryx = Symbol(r"\Ryx")
Rxy = Symbol(r"\Rxy")
Ry    = Symbol(r"\Ry")
Rz    = Symbol(r"\Rz")
Rzy    = Symbol(r"\Rzy")
Rzz    = Symbol(r"\Rzz")
Rxz    = Symbol(r"\Rxz")
Ryz    = Symbol(r"\Ryz")

#equation system
dX = X - X**2 - Ryx * Y * X
dY = Ry * ( Y - Y**2 + Rxy * X * Y + Rzy * Z * Y )
dZ = Rz * ( -Rzz * Z + Rxz * X * Z + Ryz * Y * Z )
equilibria = solve( (dX,dY,dZ),X,Y,Z )

如果我在sympy live shell中复制我的代码,代码工作正常,并为我提供了一套解决方案。

由于我想将结果保存在latex文件中,我想在我的系统上运行此代码。以下是Ubuntu 12.04,python2.7.3,sympy 0.7.1。 在这里,我的代码导致以下错误:

NotImplementedError: only zero-dimensional systems supported (finite number of solutions)

如果我取消最后一个等式和Z变量,我得到一组解决方案

equilibria = solve( (dX,dY),X,Y )
-> [(0, 0), (1, 0)]

在我看来,系统需要很多计算时间来解决整套问题。

你有什么建议吗?

我找到了可以解决这个问题的模块

 from sympy.solvers.solveset import nonlinsolve

但我的同意版本并不知道这个模块。

提前谢谢

0 个答案:

没有答案