我有以下方程组:
-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 :(得分:0)
您可以考虑在解决方案上运行cse。我会让你看看替换是什么,但结果如下:
>>> 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)]