【问题标题】:How can I solve following pattern equations in SymPy, like (x-1)**2+y**2=0?如何在 SymPy 中求解以下模式方程,例如 (x-1)**2+y**2=0?
【发布时间】:2018-10-01 04:10:14
【问题描述】:

我想求解以下方程:(x-1)**2+y**2=0,我想得到如下结果:x = 1,y = 0,但下面的代码不起作用。

from sympy import *

x = symbols("x")
y = symbols("y")

expression = [(x-1)**2+y**2]

solve(expression,[x,y])

【问题讨论】:

  • 不工作怎么办?请更具体。
  • 我只得到虚数解[(-I*(x - 1),), (I*(x - 1),)]
  • 为我工作; [(-I*y + 1, y), (I*y + 1, y)]。这是一个二次方;两种解决方案。请注意,它给出了x = f(y) 和y=y,因为显然有一系列由y 参数化的解决方案

标签: python math sympy


【解决方案1】:

如果您正在寻找整数解决方案,那么 diophantine 可能就是您想要的:

>>> diophantine((x-1)**2+y**2, (x,y))
{(1, 0)}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2020-12-31
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多