gpt4 book ai didi

python - SymPy:如果等式在列表中,为什么 `solve` 有时会失败?

转载 作者:行者123 更新时间:2023-11-28 19:09:02 25 4
gpt4 key购买 nike

根据SymPy documentation on solve ,第一个参数可以是:

  • a single Expr or Poly that must be zero,
  • an Equality
  • a Relational expression or boolean
  • iterable of one or more of the above

但是,有时它确实会有所不同,如果它是 solve(equation, x)solve([equation], x)[equation] 应该是 equation 的可迭代对象,对吧?我真的很困惑为什么它只是有时是个问题。

您可以在以下 MCVE 中看到我的问题:

from sympy import *
x, y = symbols("x y")

def test_sympy_solve(equation):
print("For given equation", equation, "...")
print("... solve(equation, x) finds", len(solve(equation, x)), "solutions")
print("... solve([equation], x) finds", len(solve([equation], x)), "solutions\n")

test_sympy_solve(Eq((x + 1)**2 - 1, y))
test_sympy_solve(Eq((x + 1)**3 - 1, y))

输出是:

For given equation Eq((x + 1)**2 - 1, y) ...
... solve(equation, x) finds 2 solutions
... solve([equation], x) finds 2 solutions

For given equation Eq((x + 1)**3 - 1, y) ...
... solve(equation, x) finds 3 solutions
... solve([equation], x) finds 0 solutions

Eq((x + 1)**2 - 1, y) 两次得到两个解,Eq((x + 1)**3 - 1, y) 没有。这是怎么回事?

最佳答案

可能是一个错误。向 SymPy 的问题跟踪器提交了一个问题:#12326

我会及时更新这个答案。

关于python - SymPy:如果等式在列表中,为什么 `solve` 有时会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42818086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com