sympy.solve()只有在用Rational()替换符号系数时才能找到解



我有一组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_4y_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

这里的底线是,有时通用的符号解决方案太复杂而无用。

最新更新