2017-08-25 5 views
-2

私は以下の式のシステムを持っている:簡素化ソリューション

-2yz = a 
-2xy = b 
-x^2 + y^2 - z^2 = c 

どのように私はSymPyを使用して、これらの方程式のためのソリューションを簡素化することができますか? x, y, zは不明です。私は次のスクリプトを持っています:

from sympy import * 

x, y, z = var('x y z') 
a, b, c = var('a b c') 

E1 = -2 * y * z - a 
E2 = -2 * x * y - b 
E3 = -x**2 + y ** 2 - z ** 2 - c 


sols = solve([E1, E2, E3], [x, y, z]) 

簡素化された解決法は本当に美味しくありません。何か案が?

+0

あなたは '.. Evの@ –

+0

を自分でsympy'タグ付き。 Kounis私はちょうど私のポストを更新しました。実際、sympyの答えは読みにくいです! – QuestionMark

答えて

0

解決策の上でcseを実行することを検討することもできます。私はあなたがreplacmentsが何であるかを見てみましょうが、ここでの結果であるだろう。

>>> r, e = cse(flatten(sols)) 
>>> reshape(e, (3,)) # restore tuples of 3 solutions 
[ 
(x1*x9, -x11*x13, x9), 
(-x1*x13, x11*x9, -x13), 
(-x16, x12*x17, -x15), 
(x16, x17*x8, x15)]