2017-08-25 27 views
-2

我有公式的以下系統:爲在Python方程組的求解符號(用符號輸出)簡化的解決方案

-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

您標記'sympy'自己.. –

+0

@ EV。 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)]