为在Python方程组的求解符号(用符号输出)简化的解决方案

问题描述:

我有公式的以下系统:为在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

您可能会考虑在您的解决方案上运行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)]