我有一组3个多项式方程,(基本上代表阿波罗尼奥问题的一个特殊情况:给定3个已知位置和半径的圆,找到与其他3相切的第四个圆)。我已经成功地使用sympy创建了这个系统,并解出了x_4, y_4,r_4的方程。如果我解决了一个特定的情况,用精确的值替换3个圆(9个参数)的数据,例如sympy.Rational(number)。我试图用代表3个圆坐标和半径的命名参数来表示一般解,但sympy似乎无法找到解决方案,即使过了一个小时。我读到过使用符号很慢,但我没有用直接的数字,我用的是sp.Rational对于所有的坐标。据我所知,理性并没有变成漂浮的。在我的圈子里没有可能导致术语简化的0坐标,一般方程或特定方程似乎没有什么不同。有人能解释一下吗?
import sympy as sp
#complete running example
x ,y ,x_1,y_1,r_1,x_2,y_2,r_2,x_3,y_3,r_3,x_4,y_4,r_4 = sp.symbols('x y x_1 y_1 r_1 x_2 y_2 r_2 x_3 y_3 r_3 x_4 y_4 r_4')
class Cerchio:
def __init__(self, x, y, r):
self.x = x
self.y = y
self.r = r
class Soluzione:
def crea_eq(self, x_i, y_i, r_i):
expr = (x - x_i) ** 2 + (y - y_i) ** 2 - r_i ** 2
posx = x_i + r_i * ((x_4 - x_i) / (r_4 + r_i))
posy = y_i + r_i * ((y_4 - y_i) / (r_4 + r_i))
val = expr.subs(x, posx).subs(y, posy)
return val
def __init__(self):
self.finale1 = self.crea_eq(x_1, y_1, r_1)
self.finale2 = self.crea_eq(x_2, y_2, r_2)
self.finale3 = self.crea_eq(x_3, y_3, r_3)
def find(self, c1, c2, c3, symbolic) -> object:
if symbolic: # seems to run forever
sol = sp.solve((self.finale1, self.finale2, self.finale3), (x_4, y_4, r_4), set=True)
else: # fast
qua1 = sp.Eq(self.replace(self.finale1, c1, c2, c3), 0)
qua2 = sp.Eq(self.replace(self.finale2, c1, c2, c3), 0)
qua3 = sp.Eq(self.replace(self.finale3, c1, c2, c3), 0)
sol = sp.solve((qua1,qua2,qua3),(x_4,y_4,r_4),set=True)
print(sol, 'nend of equation solution')
def replace(self, esp, c1, c2, c3):
return esp.subs(r_1, c1.r).subs(r_2, c2.r).subs(r_3, c3.r)
.subs(x_1, c1.x).subs(y_1, c1.y).subs(x_2, c2.x)
.subs(y_2, c2.y).subs(x_3, c3.x).subs(y_3, c3.y)
soluzione = Soluzione()
c4 = soluzione.find(Cerchio(sp.Rational(2), sp.Rational(2), sp.Rational(2)),
Cerchio(sp.Rational(5), sp.Rational(5), sp.Rational(2)),
Cerchio(sp.Rational(12), sp.sqrt(3), sp.Rational(2)), symbolic = False)
c4 = soluzione.find(Cerchio(sp.Rational(2), sp.Rational(2), sp.Rational(2)),
Cerchio(sp.Rational(5), sp.Rational(5), sp.Rational(2)),
Cerchio(sp.Rational(12), sp.sqrt(3), sp.Rational(2)), symbolic = True)
您所寻求的一般解决方案将会过于复杂而无法真正发挥作用。在将你的方程转换成多项式系统后,solve
将尝试解这些方程:
In [42]: polys = [Poly(r_1**2*x_4**2 - 2*r_1**2*x_1*x_4 + r_1**2*y_4**2 - 2*r_1**2*y_1*y_4 - r_1**2*r
...: _4**2 - 2*r_1**3*r_4 - r_1**4 + r_1**2*x_1**2 + r_1**2*y_1**2, x_4, y_4, r_4, domain='ZZ[r_1
...: ,x_1,y_1]'), Poly(r_2**2*x_4**2 - 2*r_2**2*x_2*x_4 + r_2**2*y_4**2 - 2*r_2**2*y_2*y_4 - r_2*
...: *2*r_4**2 - 2*r_2**3*r_4 - r_2**4 + r_2**2*x_2**2 + r_2**2*y_2**2, x_4, y_4, r_4, domain='ZZ
...: [r_2,x_2,y_2]'), Poly(r_3**2*x_4**2 - 2*r_3**2*x_3*x_4 + r_3**2*y_4**2 - 2*r_3**2*y_3*y_4 -
...: r_3**2*r_4**2 - 2*r_3**3*r_4 - r_3**4 + r_3**2*x_3**2 + r_3**2*y_3**2, x_4, y_4, r_4, domain
...: ='ZZ[r_3,x_3,y_3]')]
In [43]: eqs = [p.as_expr() for p in polys]
In [44]: eqs[0]
Out[44]:
4 3 2 2 2 2 2 2 2 2 2 2 2 2
- r₁ - 2⋅r₁ ⋅r₄ - r₁ ⋅r₄ + r₁ ⋅x₁ - 2⋅r₁ ⋅x₁⋅x₄ + r₁ ⋅x₄ + r₁ ⋅y₁ - 2⋅r₁ ⋅y₁⋅y₄ + r₁ ⋅y₄
In [45]: eqs[1]
Out[45]:
4 3 2 2 2 2 2 2 2 2 2 2 2 2
- r₂ - 2⋅r₂ ⋅r₄ - r₂ ⋅r₄ + r₂ ⋅x₂ - 2⋅r₂ ⋅x₂⋅x₄ + r₂ ⋅x₄ + r₂ ⋅y₂ - 2⋅r₂ ⋅y₂⋅y₄ + r₂ ⋅y₄
In [46]: eqs[2]
Out[46]:
4 3 2 2 2 2 2 2 2 2 2 2 2 2
- r₃ - 2⋅r₃ ⋅r₄ - r₃ ⋅r₄ + r₃ ⋅x₃ - 2⋅r₃ ⋅x₃⋅x₄ + r₃ ⋅x₄ + r₃ ⋅y₃ - 2⋅r₃ ⋅y₃⋅y₄ + r₃ ⋅y₄
In [47]: syms = [x_4, y_4, r_4]
看起来这些方程很简单,但这并不意味着它们的解很简单。这里有一种方法可以通过计算Groebner基来给出答案:
In [50]: gb = groebner(eqs, syms)
In [51]: gb[0]
Out[51]:
2 2 2 2 2 2
r₁ ⋅y₂ - r₁ ⋅y₃ - r₂ ⋅y₁ + r₂ ⋅y₃ + r₃ ⋅y₁ - r₃ ⋅y₂ + r₄⋅(2⋅r₁⋅y₂ - 2⋅r₁⋅y₃ - 2⋅r₂⋅y₁ + 2⋅r₂⋅y₃ + 2
2 2 2 2 2 2
⋅r₃⋅y₁ - 2⋅r₃⋅y₂) - x₁ ⋅y₂ + x₁ ⋅y₃ + x₂ ⋅y₁ - x₂ ⋅y₃ - x₃ ⋅y₁ + x₃ ⋅y₂ + x₄⋅(2⋅x₁⋅y₂ - 2⋅x₁⋅y₃ - 2
2 2 2 2 2 2
⋅x₂⋅y₁ + 2⋅x₂⋅y₃ + 2⋅x₃⋅y₁ - 2⋅x₃⋅y₂) - y₁ ⋅y₂ + y₁ ⋅y₃ + y₁⋅y₂ - y₁⋅y₃ - y₂ ⋅y₃ + y₂⋅y₃
In [52]: gb[1]
Out[52]:
2 2 2 2 2 2
- r₁ ⋅x₂ + r₁ ⋅x₃ + r₂ ⋅x₁ - r₂ ⋅x₃ - r₃ ⋅x₁ + r₃ ⋅x₂ + r₄⋅(-2⋅r₁⋅x₂ + 2⋅r₁⋅x₃ + 2⋅r₂⋅x₁ - 2⋅r₂⋅x₃
2 2 2 2 2 2 2 2
- 2⋅r₃⋅x₁ + 2⋅r₃⋅x₂) + x₁ ⋅x₂ - x₁ ⋅x₃ - x₁⋅x₂ + x₁⋅x₃ - x₁⋅y₂ + x₁⋅y₃ + x₂ ⋅x₃ - x₂⋅x₃ + x₂⋅y
2 2 2 2
₁ - x₂⋅y₃ - x₃⋅y₁ + x₃⋅y₂ + y₄⋅(2⋅x₁⋅y₂ - 2⋅x₁⋅y₃ - 2⋅x₂⋅y₁ + 2⋅x₂⋅y₃ + 2⋅x₃⋅y₁ - 2⋅x₃⋅y₂)
In [53]: gb[2]
Out[53]:
4 2 4 4 2 4 2 4 4 2 2 2 2 2
r₁ ⋅x₂ - 2⋅r₁ ⋅x₂⋅x₃ + r₁ ⋅x₃ + r₁ ⋅y₂ - 2⋅r₁ ⋅y₂⋅y₃ + r₁ ⋅y₃ - 2⋅r₁ ⋅r₂ ⋅x₁⋅x₂ + 2⋅r₁ ⋅r₂ ⋅x₁⋅
2 2 2 2 2 2 2 2 2 2 2 2
x₃ + 2⋅r₁ ⋅r₂ ⋅x₂⋅x₃ - 2⋅r₁ ⋅r₂ ⋅x₃ - 2⋅r₁ ⋅r₂ ⋅y₁⋅y₂ + 2⋅r₁ ⋅r₂ ⋅y₁⋅y₃ + 2⋅r₁ ⋅r₂ ⋅y₂⋅y₃ - 2⋅r₁ ⋅
2 2 2 2 2 2 2 2 2 2 2 2 2
r₂ ⋅y₃ + 2⋅r₁ ⋅r₃ ⋅x₁⋅x₂ - 2⋅r₁ ⋅r₃ ⋅x₁⋅x₃ - 2⋅r₁ ⋅r₃ ⋅x₂ + 2⋅r₁ ⋅r₃ ⋅x₂⋅x₃ + 2⋅r₁ ⋅r₃ ⋅y₁⋅y₂ - 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
⋅r₁ ⋅r₃ ⋅y₁⋅y₃ - 2⋅r₁ ⋅r₃ ⋅y₂ + 2⋅r₁ ⋅r₃ ⋅y₂⋅y₃ - 2⋅r₁ ⋅x₁ ⋅x₂ + 4⋅r₁ ⋅x₁ ⋅x₂⋅x₃ - 2⋅r₁ ⋅x₁ ⋅x₃
2 2 2 2 2 2 2 2 2 3 2 2 2
- 2⋅r₁ ⋅x₁ ⋅y₂ + 4⋅r₁ ⋅x₁ ⋅y₂⋅y₃ - 2⋅r₁ ⋅x₁ ⋅y₃ + 2⋅r₁ ⋅x₁⋅x₂ - 2⋅r₁ ⋅x₁⋅x₂ ⋅x₃ - 2⋅r₁ ⋅x₁⋅x₂⋅x₃
2 2 2 2 2 2 2 3 2 2 2
+ 2⋅r₁ ⋅x₁⋅x₂⋅y₂ - 4⋅r₁ ⋅x₁⋅x₂⋅y₂⋅y₃ + 2⋅r₁ ⋅x₁⋅x₂⋅y₃ + 2⋅r₁ ⋅x₁⋅x₃ + 2⋅r₁ ⋅x₁⋅x₃⋅y₂ - 4⋅r₁ ⋅
2 2 2 3 2 2 2 2 2 2 2 2
x₁⋅x₃⋅y₂⋅y₃ + 2⋅r₁ ⋅x₁⋅x₃⋅y₃ - 2⋅r₁ ⋅x₂ ⋅x₃ + 4⋅r₁ ⋅x₂ ⋅x₃ - 2⋅r₁ ⋅x₂ ⋅y₁ + 2⋅r₁ ⋅x₂ ⋅y₁⋅y₂ + 2⋅
2 2 2 2 2 3 2 2 2 2
r₁ ⋅x₂ ⋅y₁⋅y₃ - 2⋅r₁ ⋅x₂ ⋅y₂⋅y₃ - 2⋅r₁ ⋅x₂⋅x₃ + 4⋅r₁ ⋅x₂⋅x₃⋅y₁ - 4⋅r₁ ⋅x₂⋅x₃⋅y₁⋅y₂ - 4⋅r₁ ⋅x₂⋅x₃⋅
2 2 2 2 2 2 2 2 2 2
y₁⋅y₃ - 2⋅r₁ ⋅x₂⋅x₃⋅y₂ + 8⋅r₁ ⋅x₂⋅x₃⋅y₂⋅y₃ - 2⋅r₁ ⋅x₂⋅x₃⋅y₃ - 2⋅r₁ ⋅x₃ ⋅y₁ + 2⋅r₁ ⋅x₃ ⋅y₁⋅y₂ + 2
2 2 2 2 2 2 2 2 2 2 2 2 2 3
⋅r₁ ⋅x₃ ⋅y₁⋅y₃ - 2⋅r₁ ⋅x₃ ⋅y₂⋅y₃ - 2⋅r₁ ⋅y₁ ⋅y₂ + 4⋅r₁ ⋅y₁ ⋅y₂⋅y₃ - 2⋅r₁ ⋅y₁ ⋅y₃ + 2⋅r₁ ⋅y₁⋅y₂ -
2 2 2 2 2 3 2 3 2 2 2 2 3
2⋅r₁ ⋅y₁⋅y₂ ⋅y₃ - 2⋅r₁ ⋅y₁⋅y₂⋅y₃ + 2⋅r₁ ⋅y₁⋅y₃ - 2⋅r₁ ⋅y₂ ⋅y₃ + 4⋅r₁ ⋅y₂ ⋅y₃ - 2⋅r₁ ⋅y₂⋅y₃ + r
4 2 4 4 2 4 2 4 4 2 2 2 2 2 2
₂ ⋅x₁ - 2⋅r₂ ⋅x₁⋅x₃ + r₂ ⋅x₃ + r₂ ⋅y₁ - 2⋅r₂ ⋅y₁⋅y₃ + r₂ ⋅y₃ - 2⋅r₂ ⋅r₃ ⋅x₁ + 2⋅r₂ ⋅r₃ ⋅x₁⋅x₂
2 2 2 2 2 2 2 2 2 2 2 2 2
+ 2⋅r₂ ⋅r₃ ⋅x₁⋅x₃ - 2⋅r₂ ⋅r₃ ⋅x₂⋅x₃ - 2⋅r₂ ⋅r₃ ⋅y₁ + 2⋅r₂ ⋅r₃ ⋅y₁⋅y₂ + 2⋅r₂ ⋅r₃ ⋅y₁⋅y₃ - 2⋅r₂ ⋅r₃
2 3 2 3 2 2 2 2 2 2 2 2 2 2
⋅y₂⋅y₃ + 2⋅r₂ ⋅x₁ ⋅x₂ - 2⋅r₂ ⋅x₁ ⋅x₃ - 2⋅r₂ ⋅x₁ ⋅x₂ - 2⋅r₂ ⋅x₁ ⋅x₂⋅x₃ + 4⋅r₂ ⋅x₁ ⋅x₃ + 2⋅r₂ ⋅x₁ ⋅
2 2 2 2 2 2 2 2 2 2 2
y₁⋅y₂ - 2⋅r₂ ⋅x₁ ⋅y₁⋅y₃ - 2⋅r₂ ⋅x₁ ⋅y₂ + 2⋅r₂ ⋅x₁ ⋅y₂⋅y₃ + 4⋅r₂ ⋅x₁⋅x₂ ⋅x₃ - 2⋅r₂ ⋅x₁⋅x₂⋅x₃ + 2⋅r
2 2 2 2 2 2 3 2 2 2
₂ ⋅x₁⋅x₂⋅y₁ - 4⋅r₂ ⋅x₁⋅x₂⋅y₁⋅y₃ + 2⋅r₂ ⋅x₁⋅x₂⋅y₃ - 2⋅r₂ ⋅x₁⋅x₃ - 2⋅r₂ ⋅x₁⋅x₃⋅y₁ - 4⋅r₂ ⋅x₁⋅x₃⋅y
2 2 2 2 2 2 2 2 2
₁⋅y₂ + 8⋅r₂ ⋅x₁⋅x₃⋅y₁⋅y₃ + 4⋅r₂ ⋅x₁⋅x₃⋅y₂ - 4⋅r₂ ⋅x₁⋅x₃⋅y₂⋅y₃ - 2⋅r₂ ⋅x₁⋅x₃⋅y₃ - 2⋅r₂ ⋅x₂ ⋅x₃ -
2 2 2 2 2 2 2 2 2 3 2 2 2
2⋅r₂ ⋅x₂ ⋅y₁ + 4⋅r₂ ⋅x₂ ⋅y₁⋅y₃ - 2⋅r₂ ⋅x₂ ⋅y₃ + 2⋅r₂ ⋅x₂⋅x₃ + 2⋅r₂ ⋅x₂⋅x₃⋅y₁ - 4⋅r₂ ⋅x₂⋅x₃⋅y₁⋅y
2 2 2 2 2 2 2 2 2 2 2 2
₃ + 2⋅r₂ ⋅x₂⋅x₃⋅y₃ + 2⋅r₂ ⋅x₃ ⋅y₁⋅y₂ - 2⋅r₂ ⋅x₃ ⋅y₁⋅y₃ - 2⋅r₂ ⋅x₃ ⋅y₂ + 2⋅r₂ ⋅x₃ ⋅y₂⋅y₃ + 2⋅r₂ ⋅y
3 2 3 2 2 2 2 2 2 2 2 2 2 2
₁ ⋅y₂ - 2⋅r₂ ⋅y₁ ⋅y₃ - 2⋅r₂ ⋅y₁ ⋅y₂ - 2⋅r₂ ⋅y₁ ⋅y₂⋅y₃ + 4⋅r₂ ⋅y₁ ⋅y₃ + 4⋅r₂ ⋅y₁⋅y₂ ⋅y₃ - 2⋅r₂ ⋅y₁
2 2 3 2 2 2 2 3 4 2 4 4 2 4 2
⋅y₂⋅y₃ - 2⋅r₂ ⋅y₁⋅y₃ - 2⋅r₂ ⋅y₂ ⋅y₃ + 2⋅r₂ ⋅y₂⋅y₃ + r₃ ⋅x₁ - 2⋅r₃ ⋅x₁⋅x₂ + r₃ ⋅x₂ + r₃ ⋅y₁ -
4 4 2 2 3 2 3 2 2 2 2 2 2 2
2⋅r₃ ⋅y₁⋅y₂ + r₃ ⋅y₂ - 2⋅r₃ ⋅x₁ ⋅x₂ + 2⋅r₃ ⋅x₁ ⋅x₃ + 4⋅r₃ ⋅x₁ ⋅x₂ - 2⋅r₃ ⋅x₁ ⋅x₂⋅x₃ - 2⋅r₃ ⋅x₁ ⋅
2 2 2 2 2 2 2 2 2 2 2 3 2
x₃ - 2⋅r₃ ⋅x₁ ⋅y₁⋅y₂ + 2⋅r₃ ⋅x₁ ⋅y₁⋅y₃ + 2⋅r₃ ⋅x₁ ⋅y₂⋅y₃ - 2⋅r₃ ⋅x₁ ⋅y₃ - 2⋅r₃ ⋅x₁⋅x₂ - 2⋅r₃ ⋅x₁
2 2 2 2 2 2 2 2
⋅x₂ ⋅x₃ + 4⋅r₃ ⋅x₁⋅x₂⋅x₃ - 2⋅r₃ ⋅x₁⋅x₂⋅y₁ + 8⋅r₃ ⋅x₁⋅x₂⋅y₁⋅y₂ - 4⋅r₃ ⋅x₁⋅x₂⋅y₁⋅y₃ - 2⋅r₃ ⋅x₁⋅x₂⋅y
2 2 2 2 2 2 2 2 2
₂ - 4⋅r₃ ⋅x₁⋅x₂⋅y₂⋅y₃ + 4⋅r₃ ⋅x₁⋅x₂⋅y₃ + 2⋅r₃ ⋅x₁⋅x₃⋅y₁ - 4⋅r₃ ⋅x₁⋅x₃⋅y₁⋅y₂ + 2⋅r₃ ⋅x₁⋅x₃⋅y₂ +
2 3 2 2 2 2 2 2 2 2 2 2 2 2
2⋅r₃ ⋅x₂ ⋅x₃ - 2⋅r₃ ⋅x₂ ⋅x₃ - 2⋅r₃ ⋅x₂ ⋅y₁⋅y₂ + 2⋅r₃ ⋅x₂ ⋅y₁⋅y₃ + 2⋅r₃ ⋅x₂ ⋅y₂⋅y₃ - 2⋅r₃ ⋅x₂ ⋅y₃
2 2 2 2 2 2 2 2 2 2 2
+ 2⋅r₃ ⋅x₂⋅x₃⋅y₁ - 4⋅r₃ ⋅x₂⋅x₃⋅y₁⋅y₂ + 2⋅r₃ ⋅x₂⋅x₃⋅y₂ - 2⋅r₃ ⋅x₃ ⋅y₁ + 4⋅r₃ ⋅x₃ ⋅y₁⋅y₂ - 2⋅r₃ ⋅x
2 2 2 3 2 3 2 2 2 2 2 2 2 2 2
₃ ⋅y₂ - 2⋅r₃ ⋅y₁ ⋅y₂ + 2⋅r₃ ⋅y₁ ⋅y₃ + 4⋅r₃ ⋅y₁ ⋅y₂ - 2⋅r₃ ⋅y₁ ⋅y₂⋅y₃ - 2⋅r₃ ⋅y₁ ⋅y₃ - 2⋅r₃ ⋅y₁⋅y
3 2 2 2 2 2 3 2 2 2 2 ⎛ 2 2 2
₂ - 2⋅r₃ ⋅y₁⋅y₂ ⋅y₃ + 4⋅r₃ ⋅y₁⋅y₂⋅y₃ + 2⋅r₃ ⋅y₂ ⋅y₃ - 2⋅r₃ ⋅y₂ ⋅y₃ + r₄ ⋅⎝4⋅r₁ ⋅x₂ - 8⋅r₁ ⋅x₂⋅x
2 2 2 2 2 2 2
₃ + 4⋅r₁ ⋅x₃ + 4⋅r₁ ⋅y₂ - 8⋅r₁ ⋅y₂⋅y₃ + 4⋅r₁ ⋅y₃ - 8⋅r₁⋅r₂⋅x₁⋅x₂ + 8⋅r₁⋅r₂⋅x₁⋅x₃ + 8⋅r₁⋅r₂⋅x₂⋅x₃
2 2
- 8⋅r₁⋅r₂⋅x₃ - 8⋅r₁⋅r₂⋅y₁⋅y₂ + 8⋅r₁⋅r₂⋅y₁⋅y₃ + 8⋅r₁⋅r₂⋅y₂⋅y₃ - 8⋅r₁⋅r₂⋅y₃ + 8⋅r₁⋅r₃⋅x₁⋅x₂ - 8⋅r₁
2 2
⋅r₃⋅x₁⋅x₃ - 8⋅r₁⋅r₃⋅x₂ + 8⋅r₁⋅r₃⋅x₂⋅x₃ + 8⋅r₁⋅r₃⋅y₁⋅y₂ - 8⋅r₁⋅r₃⋅y₁⋅y₃ - 8⋅r₁⋅r₃⋅y₂ + 8⋅r₁⋅r₃⋅y₂⋅
2 2 2 2 2 2 2 2 2 2 2
y₃ + 4⋅r₂ ⋅x₁ - 8⋅r₂ ⋅x₁⋅x₃ + 4⋅r₂ ⋅x₃ + 4⋅r₂ ⋅y₁ - 8⋅r₂ ⋅y₁⋅y₃ + 4⋅r₂ ⋅y₃ - 8⋅r₂⋅r₃⋅x₁ + 8⋅r₂
2
⋅r₃⋅x₁⋅x₂ + 8⋅r₂⋅r₃⋅x₁⋅x₃ - 8⋅r₂⋅r₃⋅x₂⋅x₃ - 8⋅r₂⋅r₃⋅y₁ + 8⋅r₂⋅r₃⋅y₁⋅y₂ + 8⋅r₂⋅r₃⋅y₁⋅y₃ - 8⋅r₂⋅r₃⋅y
2 2 2 2 2 2 2 2 2 2 2 2
₂⋅y₃ + 4⋅r₃ ⋅x₁ - 8⋅r₃ ⋅x₁⋅x₂ + 4⋅r₃ ⋅x₂ + 4⋅r₃ ⋅y₁ - 8⋅r₃ ⋅y₁⋅y₂ + 4⋅r₃ ⋅y₂ - 4⋅x₁ ⋅y₂ + 8⋅x₁
2 2 2 2
⋅y₂⋅y₃ - 4⋅x₁ ⋅y₃ + 8⋅x₁⋅x₂⋅y₁⋅y₂ - 8⋅x₁⋅x₂⋅y₁⋅y₃ - 8⋅x₁⋅x₂⋅y₂⋅y₃ + 8⋅x₁⋅x₂⋅y₃ - 8⋅x₁⋅x₃⋅y₁⋅y₂ +
2 2 2 2 2 2 2
8⋅x₁⋅x₃⋅y₁⋅y₃ + 8⋅x₁⋅x₃⋅y₂ - 8⋅x₁⋅x₃⋅y₂⋅y₃ - 4⋅x₂ ⋅y₁ + 8⋅x₂ ⋅y₁⋅y₃ - 4⋅x₂ ⋅y₃ + 8⋅x₂⋅x₃⋅y₁ -
2 2 2 2 2⎞ ⎛ 3
8⋅x₂⋅x₃⋅y₁⋅y₂ - 8⋅x₂⋅x₃⋅y₁⋅y₃ + 8⋅x₂⋅x₃⋅y₂⋅y₃ - 4⋅x₃ ⋅y₁ + 8⋅x₃ ⋅y₁⋅y₂ - 4⋅x₃ ⋅y₂ ⎠ + r₄⋅⎝4⋅r₁ ⋅x₂
2 3 3 2 3 2 3 3 2 2 2
- 8⋅r₁ ⋅x₂⋅x₃ + 4⋅r₁ ⋅x₃ + 4⋅r₁ ⋅y₂ - 8⋅r₁ ⋅y₂⋅y₃ + 4⋅r₁ ⋅y₃ - 4⋅r₁ ⋅r₂⋅x₁⋅x₂ + 4⋅r₁ ⋅r₂⋅x₁⋅x₃
2 2 2 2 2 2 2 2
+ 4⋅r₁ ⋅r₂⋅x₂⋅x₃ - 4⋅r₁ ⋅r₂⋅x₃ - 4⋅r₁ ⋅r₂⋅y₁⋅y₂ + 4⋅r₁ ⋅r₂⋅y₁⋅y₃ + 4⋅r₁ ⋅r₂⋅y₂⋅y₃ - 4⋅r₁ ⋅r₂⋅y₃
2 2 2 2 2 2 2
+ 4⋅r₁ ⋅r₃⋅x₁⋅x₂ - 4⋅r₁ ⋅r₃⋅x₁⋅x₃ - 4⋅r₁ ⋅r₃⋅x₂ + 4⋅r₁ ⋅r₃⋅x₂⋅x₃ + 4⋅r₁ ⋅r₃⋅y₁⋅y₂ - 4⋅r₁ ⋅r₃⋅y₁⋅y₃
2 2 2 2 2 2 2 2
- 4⋅r₁ ⋅r₃⋅y₂ + 4⋅r₁ ⋅r₃⋅y₂⋅y₃ - 4⋅r₁⋅r₂ ⋅x₁⋅x₂ + 4⋅r₁⋅r₂ ⋅x₁⋅x₃ + 4⋅r₁⋅r₂ ⋅x₂⋅x₃ - 4⋅r₁⋅r₂ ⋅x₃
2 2 2 2 2 2 2
- 4⋅r₁⋅r₂ ⋅y₁⋅y₂ + 4⋅r₁⋅r₂ ⋅y₁⋅y₃ + 4⋅r₁⋅r₂ ⋅y₂⋅y₃ - 4⋅r₁⋅r₂ ⋅y₃ + 4⋅r₁⋅r₃ ⋅x₁⋅x₂ - 4⋅r₁⋅r₃ ⋅x₁⋅x₃
2 2 2 2 2 2 2 2
- 4⋅r₁⋅r₃ ⋅x₂ + 4⋅r₁⋅r₃ ⋅x₂⋅x₃ + 4⋅r₁⋅r₃ ⋅y₁⋅y₂ - 4⋅r₁⋅r₃ ⋅y₁⋅y₃ - 4⋅r₁⋅r₃ ⋅y₂ + 4⋅r₁⋅r₃ ⋅y₂⋅y₃
2 2 2 2 2 2 2 2 2 2
- 4⋅r₁⋅x₁ ⋅x₂ + 8⋅r₁⋅x₁ ⋅x₂⋅x₃ - 4⋅r₁⋅x₁ ⋅x₃ - 4⋅r₁⋅x₁ ⋅y₂ + 8⋅r₁⋅x₁ ⋅y₂⋅y₃ - 4⋅r₁⋅x₁ ⋅y₃ + 4⋅r
3 2 2 2 2
₁⋅x₁⋅x₂ - 4⋅r₁⋅x₁⋅x₂ ⋅x₃ - 4⋅r₁⋅x₁⋅x₂⋅x₃ + 4⋅r₁⋅x₁⋅x₂⋅y₂ - 8⋅r₁⋅x₁⋅x₂⋅y₂⋅y₃ + 4⋅r₁⋅x₁⋅x₂⋅y₃ + 4
3 2 2 3 2 2
⋅r₁⋅x₁⋅x₃ + 4⋅r₁⋅x₁⋅x₃⋅y₂ - 8⋅r₁⋅x₁⋅x₃⋅y₂⋅y₃ + 4⋅r₁⋅x₁⋅x₃⋅y₃ - 4⋅r₁⋅x₂ ⋅x₃ + 8⋅r₁⋅x₂ ⋅x₃ - 4⋅r₁
2 2 2 2 2 3 2
⋅x₂ ⋅y₁ + 4⋅r₁⋅x₂ ⋅y₁⋅y₂ + 4⋅r₁⋅x₂ ⋅y₁⋅y₃ - 4⋅r₁⋅x₂ ⋅y₂⋅y₃ - 4⋅r₁⋅x₂⋅x₃ + 8⋅r₁⋅x₂⋅x₃⋅y₁ - 8⋅r₁⋅x
2 2 2 2
₂⋅x₃⋅y₁⋅y₂ - 8⋅r₁⋅x₂⋅x₃⋅y₁⋅y₃ - 4⋅r₁⋅x₂⋅x₃⋅y₂ + 16⋅r₁⋅x₂⋅x₃⋅y₂⋅y₃ - 4⋅r₁⋅x₂⋅x₃⋅y₃ - 4⋅r₁⋅x₃ ⋅y₁
2 2 2 2 2 2 2 2
+ 4⋅r₁⋅x₃ ⋅y₁⋅y₂ + 4⋅r₁⋅x₃ ⋅y₁⋅y₃ - 4⋅r₁⋅x₃ ⋅y₂⋅y₃ - 4⋅r₁⋅y₁ ⋅y₂ + 8⋅r₁⋅y₁ ⋅y₂⋅y₃ - 4⋅r₁⋅y₁ ⋅y₃ +
3 2 2 3 3 2 2
4⋅r₁⋅y₁⋅y₂ - 4⋅r₁⋅y₁⋅y₂ ⋅y₃ - 4⋅r₁⋅y₁⋅y₂⋅y₃ + 4⋅r₁⋅y₁⋅y₃ - 4⋅r₁⋅y₂ ⋅y₃ + 8⋅r₁⋅y₂ ⋅y₃ - 4⋅r₁⋅y₂
3 3 2 3 3 2 3 2 3 3 2 2 2
⋅y₃ + 4⋅r₂ ⋅x₁ - 8⋅r₂ ⋅x₁⋅x₃ + 4⋅r₂ ⋅x₃ + 4⋅r₂ ⋅y₁ - 8⋅r₂ ⋅y₁⋅y₃ + 4⋅r₂ ⋅y₃ - 4⋅r₂ ⋅r₃⋅x₁ + 4
2 2 2 2 2 2 2
⋅r₂ ⋅r₃⋅x₁⋅x₂ + 4⋅r₂ ⋅r₃⋅x₁⋅x₃ - 4⋅r₂ ⋅r₃⋅x₂⋅x₃ - 4⋅r₂ ⋅r₃⋅y₁ + 4⋅r₂ ⋅r₃⋅y₁⋅y₂ + 4⋅r₂ ⋅r₃⋅y₁⋅y₃ -
2 2 2 2 2 2 2 2
4⋅r₂ ⋅r₃⋅y₂⋅y₃ - 4⋅r₂⋅r₃ ⋅x₁ + 4⋅r₂⋅r₃ ⋅x₁⋅x₂ + 4⋅r₂⋅r₃ ⋅x₁⋅x₃ - 4⋅r₂⋅r₃ ⋅x₂⋅x₃ - 4⋅r₂⋅r₃ ⋅y₁ + 4
2 2 2 3 3 2 2
⋅r₂⋅r₃ ⋅y₁⋅y₂ + 4⋅r₂⋅r₃ ⋅y₁⋅y₃ - 4⋅r₂⋅r₃ ⋅y₂⋅y₃ + 4⋅r₂⋅x₁ ⋅x₂ - 4⋅r₂⋅x₁ ⋅x₃ - 4⋅r₂⋅x₁ ⋅x₂ - 4⋅r₂⋅x
2 2 2 2 2 2 2 2
₁ ⋅x₂⋅x₃ + 8⋅r₂⋅x₁ ⋅x₃ + 4⋅r₂⋅x₁ ⋅y₁⋅y₂ - 4⋅r₂⋅x₁ ⋅y₁⋅y₃ - 4⋅r₂⋅x₁ ⋅y₂ + 4⋅r₂⋅x₁ ⋅y₂⋅y₃ + 8⋅r₂⋅x₁
2 2 2 2 3
⋅x₂ ⋅x₃ - 4⋅r₂⋅x₁⋅x₂⋅x₃ + 4⋅r₂⋅x₁⋅x₂⋅y₁ - 8⋅r₂⋅x₁⋅x₂⋅y₁⋅y₃ + 4⋅r₂⋅x₁⋅x₂⋅y₃ - 4⋅r₂⋅x₁⋅x₃ - 4⋅r₂⋅
2 2
x₁⋅x₃⋅y₁ - 8⋅r₂⋅x₁⋅x₃⋅y₁⋅y₂ + 16⋅r₂⋅x₁⋅x₃⋅y₁⋅y₃ + 8⋅r₂⋅x₁⋅x₃⋅y₂ - 8⋅r₂⋅x₁⋅x₃⋅y₂⋅y₃ - 4⋅r₂⋅x₁⋅x₃⋅y
2 2 2 2 2 2 2 2 3 2
₃ - 4⋅r₂⋅x₂ ⋅x₃ - 4⋅r₂⋅x₂ ⋅y₁ + 8⋅r₂⋅x₂ ⋅y₁⋅y₃ - 4⋅r₂⋅x₂ ⋅y₃ + 4⋅r₂⋅x₂⋅x₃ + 4⋅r₂⋅x₂⋅x₃⋅y₁ - 8
2 2 2 2 2 2
⋅r₂⋅x₂⋅x₃⋅y₁⋅y₃ + 4⋅r₂⋅x₂⋅x₃⋅y₃ + 4⋅r₂⋅x₃ ⋅y₁⋅y₂ - 4⋅r₂⋅x₃ ⋅y₁⋅y₃ - 4⋅r₂⋅x₃ ⋅y₂ + 4⋅r₂⋅x₃ ⋅y₂⋅y₃
3 3 2 2 2 2 2 2
+ 4⋅r₂⋅y₁ ⋅y₂ - 4⋅r₂⋅y₁ ⋅y₃ - 4⋅r₂⋅y₁ ⋅y₂ - 4⋅r₂⋅y₁ ⋅y₂⋅y₃ + 8⋅r₂⋅y₁ ⋅y₃ + 8⋅r₂⋅y₁⋅y₂ ⋅y₃ - 4⋅r₂⋅
2 3 2 2 3 3 2 3 3 2 3
y₁⋅y₂⋅y₃ - 4⋅r₂⋅y₁⋅y₃ - 4⋅r₂⋅y₂ ⋅y₃ + 4⋅r₂⋅y₂⋅y₃ + 4⋅r₃ ⋅x₁ - 8⋅r₃ ⋅x₁⋅x₂ + 4⋅r₃ ⋅x₂ + 4⋅r₃ ⋅
2 3 3 2 3 3 2 2 2
y₁ - 8⋅r₃ ⋅y₁⋅y₂ + 4⋅r₃ ⋅y₂ - 4⋅r₃⋅x₁ ⋅x₂ + 4⋅r₃⋅x₁ ⋅x₃ + 8⋅r₃⋅x₁ ⋅x₂ - 4⋅r₃⋅x₁ ⋅x₂⋅x₃ - 4⋅r₃⋅x₁
2 2 2 2 2 2 2 3 2
⋅x₃ - 4⋅r₃⋅x₁ ⋅y₁⋅y₂ + 4⋅r₃⋅x₁ ⋅y₁⋅y₃ + 4⋅r₃⋅x₁ ⋅y₂⋅y₃ - 4⋅r₃⋅x₁ ⋅y₃ - 4⋅r₃⋅x₁⋅x₂ - 4⋅r₃⋅x₁⋅x₂
2 2 2
⋅x₃ + 8⋅r₃⋅x₁⋅x₂⋅x₃ - 4⋅r₃⋅x₁⋅x₂⋅y₁ + 16⋅r₃⋅x₁⋅x₂⋅y₁⋅y₂ - 8⋅r₃⋅x₁⋅x₂⋅y₁⋅y₃ - 4⋅r₃⋅x₁⋅x₂⋅y₂ - 8⋅r
2 2 2 3
₃⋅x₁⋅x₂⋅y₂⋅y₃ + 8⋅r₃⋅x₁⋅x₂⋅y₃ + 4⋅r₃⋅x₁⋅x₃⋅y₁ - 8⋅r₃⋅x₁⋅x₃⋅y₁⋅y₂ + 4⋅r₃⋅x₁⋅x₃⋅y₂ + 4⋅r₃⋅x₂ ⋅x₃ -
2 2 2 2 2 2 2 2
4⋅r₃⋅x₂ ⋅x₃ - 4⋅r₃⋅x₂ ⋅y₁⋅y₂ + 4⋅r₃⋅x₂ ⋅y₁⋅y₃ + 4⋅r₃⋅x₂ ⋅y₂⋅y₃ - 4⋅r₃⋅x₂ ⋅y₃ + 4⋅r₃⋅x₂⋅x₃⋅y₁ -
2 2 2 2 2 2 3
8⋅r₃⋅x₂⋅x₃⋅y₁⋅y₂ + 4⋅r₃⋅x₂⋅x₃⋅y₂ - 4⋅r₃⋅x₃ ⋅y₁ + 8⋅r₃⋅x₃ ⋅y₁⋅y₂ - 4⋅r₃⋅x₃ ⋅y₂ - 4⋅r₃⋅y₁ ⋅y₂ + 4⋅
3 2 2 2 2 2 3 2
r₃⋅y₁ ⋅y₃ + 8⋅r₃⋅y₁ ⋅y₂ - 4⋅r₃⋅y₁ ⋅y₂⋅y₃ - 4⋅r₃⋅y₁ ⋅y₃ - 4⋅r₃⋅y₁⋅y₂ - 4⋅r₃⋅y₁⋅y₂ ⋅y₃ + 8⋅r₃⋅y₁⋅y
2 3 2 2⎞ 4 2 4 4 2 4 2 4 4
₂⋅y₃ + 4⋅r₃⋅y₂ ⋅y₃ - 4⋅r₃⋅y₂ ⋅y₃ ⎠ + x₁ ⋅x₂ - 2⋅x₁ ⋅x₂⋅x₃ + x₁ ⋅x₃ + x₁ ⋅y₂ - 2⋅x₁ ⋅y₂⋅y₃ + x₁
2 3 3 3 2 3 2 3 2 3 3 2
⋅y₃ - 2⋅x₁ ⋅x₂ + 2⋅x₁ ⋅x₂ ⋅x₃ + 2⋅x₁ ⋅x₂⋅x₃ - 2⋅x₁ ⋅x₂⋅y₂ + 4⋅x₁ ⋅x₂⋅y₂⋅y₃ - 2⋅x₁ ⋅x₂⋅y₃ - 2⋅x
3 3 3 2 3 3 2 2 4 2 3 2 2 2
₁ ⋅x₃ - 2⋅x₁ ⋅x₃⋅y₂ + 4⋅x₁ ⋅x₃⋅y₂⋅y₃ - 2⋅x₁ ⋅x₃⋅y₃ + x₁ ⋅x₂ + 2⋅x₁ ⋅x₂ ⋅x₃ - 6⋅x₁ ⋅x₂ ⋅x₃ + 2⋅
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
x₁ ⋅x₂ ⋅y₁ - 2⋅x₁ ⋅x₂ ⋅y₁⋅y₂ - 2⋅x₁ ⋅x₂ ⋅y₁⋅y₃ + 2⋅x₁ ⋅x₂ ⋅y₂ - 2⋅x₁ ⋅x₂ ⋅y₂⋅y₃ + 2⋅x₁ ⋅x₂ ⋅y₃ +
2 3 2 2 2 2 2 2 2
2⋅x₁ ⋅x₂⋅x₃ - 4⋅x₁ ⋅x₂⋅x₃⋅y₁ + 4⋅x₁ ⋅x₂⋅x₃⋅y₁⋅y₂ + 4⋅x₁ ⋅x₂⋅x₃⋅y₁⋅y₃ + 2⋅x₁ ⋅x₂⋅x₃⋅y₂ - 8⋅x₁ ⋅x
2 2 2 4 2 2 2 2 2 2 2 2
₂⋅x₃⋅y₂⋅y₃ + 2⋅x₁ ⋅x₂⋅x₃⋅y₃ + x₁ ⋅x₃ + 2⋅x₁ ⋅x₃ ⋅y₁ - 2⋅x₁ ⋅x₃ ⋅y₁⋅y₂ - 2⋅x₁ ⋅x₃ ⋅y₁⋅y₃ + 2⋅x₁ ⋅
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
x₃ ⋅y₂ - 2⋅x₁ ⋅x₃ ⋅y₂⋅y₃ + 2⋅x₁ ⋅x₃ ⋅y₃ + 2⋅x₁ ⋅y₁ ⋅y₂ - 4⋅x₁ ⋅y₁ ⋅y₂⋅y₃ + 2⋅x₁ ⋅y₁ ⋅y₃ - 2⋅x₁
3 2 2 2 2 2 3 2 4 2 3 2 2 2
⋅y₁⋅y₂ + 2⋅x₁ ⋅y₁⋅y₂ ⋅y₃ + 2⋅x₁ ⋅y₁⋅y₂⋅y₃ - 2⋅x₁ ⋅y₁⋅y₃ + x₁ ⋅y₂ - 2⋅x₁ ⋅y₂ ⋅y₃ + 2⋅x₁ ⋅y₂ ⋅y₃
2 3 2 4 4 3 2 3 2 3 3
- 2⋅x₁ ⋅y₂⋅y₃ + x₁ ⋅y₃ - 2⋅x₁⋅x₂ ⋅x₃ + 2⋅x₁⋅x₂ ⋅x₃ - 2⋅x₁⋅x₂ ⋅y₁ + 4⋅x₁⋅x₂ ⋅y₁⋅y₃ - 2⋅x₁⋅x₂ ⋅y
2 2 3 2 2 2 2 2 2
₃ + 2⋅x₁⋅x₂ ⋅x₃ + 2⋅x₁⋅x₂ ⋅x₃⋅y₁ + 4⋅x₁⋅x₂ ⋅x₃⋅y₁⋅y₂ - 8⋅x₁⋅x₂ ⋅x₃⋅y₁⋅y₃ - 4⋅x₁⋅x₂ ⋅x₃⋅y₂ + 4⋅x
2 2 2 4 2 2 2 2
₁⋅x₂ ⋅x₃⋅y₂⋅y₃ + 2⋅x₁⋅x₂ ⋅x₃⋅y₃ - 2⋅x₁⋅x₂⋅x₃ + 2⋅x₁⋅x₂⋅x₃ ⋅y₁ - 8⋅x₁⋅x₂⋅x₃ ⋅y₁⋅y₂ + 4⋅x₁⋅x₂⋅x₃ ⋅
2 2 2 2 2 2 2 2
y₁⋅y₃ + 2⋅x₁⋅x₂⋅x₃ ⋅y₂ + 4⋅x₁⋅x₂⋅x₃ ⋅y₂⋅y₃ - 4⋅x₁⋅x₂⋅x₃ ⋅y₃ - 2⋅x₁⋅x₂⋅y₁ ⋅y₂ + 4⋅x₁⋅x₂⋅y₁ ⋅y₂⋅y₃
2 2 2 2 3 2 2
- 2⋅x₁⋅x₂⋅y₁ ⋅y₃ + 4⋅x₁⋅x₂⋅y₁⋅y₂ ⋅y₃ - 8⋅x₁⋅x₂⋅y₁⋅y₂⋅y₃ + 4⋅x₁⋅x₂⋅y₁⋅y₃ - 2⋅x₁⋅x₂⋅y₂ ⋅y₃ + 4⋅x
3 4 3 2 3 3 2 2 2
₁⋅x₂⋅y₂⋅y₃ - 2⋅x₁⋅x₂⋅y₃ - 2⋅x₁⋅x₃ ⋅y₁ + 4⋅x₁⋅x₃ ⋅y₁⋅y₂ - 2⋅x₁⋅x₃ ⋅y₂ - 2⋅x₁⋅x₃⋅y₁ ⋅y₂ + 4⋅x₁⋅x
2 2 2 3 2 2
₃⋅y₁ ⋅y₂⋅y₃ - 2⋅x₁⋅x₃⋅y₁ ⋅y₃ + 4⋅x₁⋅x₃⋅y₁⋅y₂ - 8⋅x₁⋅x₃⋅y₁⋅y₂ ⋅y₃ + 4⋅x₁⋅x₃⋅y₁⋅y₂⋅y₃ - 2⋅x₁⋅x₃⋅y₂
4 3 2 2 4 2 4 2 4 4 2 3 3
+ 4⋅x₁⋅x₃⋅y₂ ⋅y₃ - 2⋅x₁⋅x₃⋅y₂ ⋅y₃ + x₂ ⋅x₃ + x₂ ⋅y₁ - 2⋅x₂ ⋅y₁⋅y₃ + x₂ ⋅y₃ - 2⋅x₂ ⋅x₃ - 2⋅x₂
3 2 3 3 2 2 4 2 2 2 2 2 2 2
⋅x₃⋅y₁ + 4⋅x₂ ⋅x₃⋅y₁⋅y₃ - 2⋅x₂ ⋅x₃⋅y₃ + x₂ ⋅x₃ + 2⋅x₂ ⋅x₃ ⋅y₁ - 2⋅x₂ ⋅x₃ ⋅y₁⋅y₂ - 2⋅x₂ ⋅x₃ ⋅y₁
2 2 2 2 2 2 2 2 2 4 2 3 2 3
⋅y₃ + 2⋅x₂ ⋅x₃ ⋅y₂ - 2⋅x₂ ⋅x₃ ⋅y₂⋅y₃ + 2⋅x₂ ⋅x₃ ⋅y₃ + x₂ ⋅y₁ - 2⋅x₂ ⋅y₁ ⋅y₂ - 2⋅x₂ ⋅y₁ ⋅y₃ + 2⋅x
2 2 2 2 2 2 2 2 2 2 2 2 2 3
₂ ⋅y₁ ⋅y₂ + 2⋅x₂ ⋅y₁ ⋅y₂⋅y₃ + 2⋅x₂ ⋅y₁ ⋅y₃ - 4⋅x₂ ⋅y₁⋅y₂ ⋅y₃ + 2⋅x₂ ⋅y₁⋅y₂⋅y₃ - 2⋅x₂ ⋅y₁⋅y₃ + 2
2 2 2 2 3 2 4 3 2 3 3 2 4
⋅x₂ ⋅y₂ ⋅y₃ - 2⋅x₂ ⋅y₂⋅y₃ + x₂ ⋅y₃ - 2⋅x₂⋅x₃ ⋅y₁ + 4⋅x₂⋅x₃ ⋅y₁⋅y₂ - 2⋅x₂⋅x₃ ⋅y₂ - 2⋅x₂⋅x₃⋅y₁
3 3 2 2 2 2 2
+ 4⋅x₂⋅x₃⋅y₁ ⋅y₂ + 4⋅x₂⋅x₃⋅y₁ ⋅y₃ - 2⋅x₂⋅x₃⋅y₁ ⋅y₂ - 8⋅x₂⋅x₃⋅y₁ ⋅y₂⋅y₃ - 2⋅x₂⋅x₃⋅y₁ ⋅y₃ + 4⋅x₂⋅x₃
2 2 2 2 4 2 4 4 2 2 4
⋅y₁⋅y₂ ⋅y₃ + 4⋅x₂⋅x₃⋅y₁⋅y₂⋅y₃ - 2⋅x₂⋅x₃⋅y₂ ⋅y₃ + x₃ ⋅y₁ - 2⋅x₃ ⋅y₁⋅y₂ + x₃ ⋅y₂ + x₃ ⋅y₁ - 2⋅x₃
2 3 2 3 2 2 2 2 2 2 2 2 2 3 2
⋅y₁ ⋅y₂ - 2⋅x₃ ⋅y₁ ⋅y₃ + 2⋅x₃ ⋅y₁ ⋅y₂ + 2⋅x₃ ⋅y₁ ⋅y₂⋅y₃ + 2⋅x₃ ⋅y₁ ⋅y₃ - 2⋅x₃ ⋅y₁⋅y₂ + 2⋅x₃ ⋅y₁
2 2 2 2 4 2 3 2 2 2 4 2 4 4
⋅y₂ ⋅y₃ - 4⋅x₃ ⋅y₁⋅y₂⋅y₃ + x₃ ⋅y₂ - 2⋅x₃ ⋅y₂ ⋅y₃ + 2⋅x₃ ⋅y₂ ⋅y₃ + y₁ ⋅y₂ - 2⋅y₁ ⋅y₂⋅y₃ + y₁ ⋅y₃
2 3 3 3 2 3 2 3 3 2 4 2 3 2 2 2
- 2⋅y₁ ⋅y₂ + 2⋅y₁ ⋅y₂ ⋅y₃ + 2⋅y₁ ⋅y₂⋅y₃ - 2⋅y₁ ⋅y₃ + y₁ ⋅y₂ + 2⋅y₁ ⋅y₂ ⋅y₃ - 6⋅y₁ ⋅y₂ ⋅y₃ +
2 3 2 4 4 3 2 2 3 4 4 2 3
2⋅y₁ ⋅y₂⋅y₃ + y₁ ⋅y₃ - 2⋅y₁⋅y₂ ⋅y₃ + 2⋅y₁⋅y₂ ⋅y₃ + 2⋅y₁⋅y₂ ⋅y₃ - 2⋅y₁⋅y₂⋅y₃ + y₂ ⋅y₃ - 2⋅y₂ ⋅
3 2 4
y₃ + y₂ ⋅y₃
现在前两个方程用r_4
线性表示x_4
和y_4
。第三个方程是r_4
的四次多项式。这里有一个四次公式所以如果你想,你可以得到通解但是这个四次公式非常复杂这个多项式有复杂的系数所以解的表达式会非常复杂。如果你想看到它,你可以这样做:
In [55]: sols = roots(gb[2], r_4, multiple=True)
In [56]: sols[0]
Out[56]:
...
这里我不会显示输出,因为它超过了StackOverflow对可以包含在答案中的字符数量的限制,但该输出将显示4个解决方案中第一个r_4
的表达式。要查看x_4
的解决方案,您可以这样做:
In [59]: solve(gb[0], x_4)[0].subs(r_4, sols[0])
这现在是一个非常复杂的解决方案,操作计数为10175:
In [59]: solve(gb[0], x_4)[0].subs(r_4, sols[0]).count_ops()
Out[59]: 10175
这里的底线是,有时通用的符号解决方案太复杂而无用。