2017-03-15 9 views
3

SymPy documentation on solveによれば、最初の引数があることができる。ゼロでなければならないSymPy:式がリストに含まれていると、 `solve`が失敗することがあるのはなぜですか?

  • 単一Exprに又はポリは、
  • 平等
  • 一方の関係式またはブール
  • 反復可能上記のうちの1つ以上

ただし、時には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)にはない2つの解に両方の時間を取得します。何が起きてる?

+1

私はこれをSymPyのバグと見なします。 [issue tracker](https://github.com/sympy/sympy/issues/new)で問題を開くことはできますか? – asmeurer

+0

@asmeurerありがとう、完了[#12326](https://github.com/sympy/sympy/issues/12326) – Jayjayyy

答えて

0

バグかもしれません。 SymPyの問題追跡ツールに問題を提出しました。#12326

私はこの回答を更新しておきます。

関連する問題