2元2次方程组求解
admin
2024-02-01 11:35:18

文章目录

  • 222元222次方程组
    • 老求解方案
      • 计算(2),(3)(2),(3)(2),(3)
      • 计算(4),(5),(6)(4),(5),(6)(4),(5),(6)
      • 当 ∣b3∣+∣b2∣+∣b1∣+∣b0∣=0|b_3|+|b_2|+|b_1|+|b_0|=0∣b3​∣+∣b2​∣+∣b1​∣+∣b0​∣=0
      • 当 ∣b3∣+∣b1∣>0and∣b2∣+∣b0∣>0|b_3|+|b_1|>0\ \ \ a n d\ \ \ |b_2|+|b_0|>0∣b3​∣+∣b1​∣>0   and   ∣b2​∣+∣b0​∣>0
      • 当 ∣b3∣+∣b1∣=0and∣b2∣+∣b0∣>0|b_3|+|b_1|=0\ \ \ a n d\ \ \ |b_2|+|b_0|>0∣b3​∣+∣b1​∣=0   and   ∣b2​∣+∣b0​∣>0
      • 当 ∣b3∣+∣b1∣>0and∣b2∣+∣b0∣=0|b_3|+|b_1|>0\ \ \ a n d\ \ \ |b_2|+|b_0|=0∣b3​∣+∣b1​∣>0   and   ∣b2​∣+∣b0​∣=0
    • 新求解方法
    • 附录
      • 域上多项式
      • 结式
      • SylvesterSylvesterSylvester矩阵
      • 结式

222元222次方程组

对于一般的方程组,2元2次方程组是一个比较常用的问题。虽然代数求解器应对2元2次方程组是小意思。但为了性能足够快。所以特化实现一个计算来处理2元2次情况的专用版本.

早期求解2元2次方程是通过换元消元的策略。这样的策略繁琐,不易理解。

新的方法使用的是结式消元法。如果想看相关定理的证明,可以查阅最后的附录。

老求解方案

a5x2+a4y2+a3xy+a2x+a1y+a0=0b5x2+b4y2+b3xy+b2x+b1y+b0=0(1)a_5x^2+a_4y^2+a_3xy+a_2x+a_1y+a_0=0\\ b_5x^2+b_4y^2+b_3xy+b_2x+b_1y+b_0=0\tag{1} a5​x2+a4​y2+a3​xy+a2​x+a1​y+a0​=0b5​x2+b4​y2+b3​xy+b2​x+b1​y+b0​=0(1)

首先,我们对(1)(1)(1)进行行变换。

会得到下面若干情况:
a5x2+0y2+a3xy+a2x+a1y+a0=00x2+b4y2+b3xy+b2x+b1y+b0=0(2)a_5x^2+0y^2+a_3xy+a_2x+a_1y+a_0=0\\ 0x^2+b_4y^2+b_3xy+b_2x+b_1y+b_0=0\tag{2} a5​x2+0y2+a3​xy+a2​x+a1​y+a0​=00x2+b4​y2+b3​xy+b2​x+b1​y+b0​=0(2)

0x2+0y2+a3xy+a2x+a1y+a0=00x2+b4y2+b3xy+b2x+b1y+b0=0(3)0x^2+0y^2+a_3xy+a_2x+a_1y+a_0=0\\ 0x^2+b_4y^2+b_3xy+b_2x+b_1y+b_0=0\tag{3} 0x2+0y2+a3​xy+a2​x+a1​y+a0​=00x2+b4​y2+b3​xy+b2​x+b1​y+b0​=0(3)

a5x2+a4y2+a3xy+a2x+a1y+a0=00x2+0y2+b3xy+b2x+b1y+b0=0(4)a_5x^2+a_4y^2+a_3xy+a_2x+a_1y+a_0=0\\ 0x^2+0y^2+b_3xy+b_2x+b_1y+b_0=0\tag{4} a5​x2+a4​y2+a3​xy+a2​x+a1​y+a0​=00x2+0y2+b3​xy+b2​x+b1​y+b0​=0(4)

0x2+a4y2+a3xy+a2x+a1y+a0=00x2+0y2+b3xy+b2x+b1y+b0=0(5)0x^2+a_4y^2+a_3xy+a_2x+a_1y+a_0=0\\ 0x^2+0y^2+b_3xy+b_2x+b_1y+b_0=0\tag{5} 0x2+a4​y2+a3​xy+a2​x+a1​y+a0​=00x2+0y2+b3​xy+b2​x+b1​y+b0​=0(5)

0x2+0y2+a3xy+a2x+a1y+a0=00x2+0y2+b3xy+b2x+b1y+b0=0(6)0x^2+0y^2+a_3xy+a_2x+a_1y+a_0=0\\ 0x^2+0y^2+b_3xy+b_2x+b_1y+b_0=0\tag{6} 0x2+0y2+a3​xy+a2​x+a1​y+a0​=00x2+0y2+b3​xy+b2​x+b1​y+b0​=0(6)

在上面各情况中:∣a5∣,∣a4∣,∣b5∣,∣b4∣>0|a_5|,|a_4|,|b_5|,|b_4|>0∣a5​∣,∣a4​∣,∣b5​∣,∣b4​∣>0

其中 (2),(3)(2),(3)(2),(3)可以一起处理。

计算(2),(3)(2),(3)(2),(3)

单独看:

b4y2+b3xy+b2x+b1y+b0=0b_4y^2+b_3xy+b_2x+b_1y+b_0=0 b4​y2+b3​xy+b2​x+b1​y+b0​=0

将上式子看作关于yyy的方程:

b4y2+(b3x+b1)y+b2x+b0=0b_4y^2+(b_3x+b_1)y+b_2x+b_0=0 b4​y2+(b3​x+b1​)y+b2​x+b0​=0

Δy=(b3x+b1)2−4b4(b2x+b0)=b32x2+2b3b1x+b12−4b4b2x−4b4b0=b32x2+(2b3b1−4b4b2)x+b12−4b4b0\Delta_y=(b_3x+b_1)^2-4b_4(b_2x+b_0)\\ =b_3^2x^2+2b_3b_1x+b_1^2-4b_4b_2x-4b_4b_0\\ =b_3^2x^2+(2b_3b_1-4b_4b_2)x+b _1^2-4b_4b_0 Δy​=(b3​x+b1​)2−4b4​(b2​x+b0​)=b32​x2+2b3​b1​x+b12​−4b4​b2​x−4b4​b0​=b32​x2+(2b3​b1​−4b4​b2​)x+b12​−4b4​b0​

那么可以用xxx替换yyy有:

y=−(b3x+b1)+EΔy2b4y=\frac{-(b_3x+b_1)+E\sqrt{\Delta_y}}{2b_4} y=2b4​−(b3​x+b1​)+EΔy​​​

代入a5x2+0y2+a3xy+a2x+a1y+a0=0a_5x^2+0y^2+a_3xy+a_2x+a_1y+a_0=0a5​x2+0y2+a3​xy+a2​x+a1​y+a0​=0:

a5x2+0+a3xy+a2x+a1y+a0=a5x2+(a3x+a1)y+a2x+a0=a5x2+(a3x+a1)−(b3x+b1)+EΔy2b4+a2x+a0=0a_5x^2+0+a_3xy+a_2x+a_1y+a_0\\ =a_5x^2+(a_3x+a_1)y+a_2x+a_0\\ =a_5x^2+(a_3x+a_1)\frac{-(b_3x+b_1)+E\sqrt{\Delta_y}}{2b_4}+a_2x+a_0=0 a5​x2+0+a3​xy+a2​x+a1​y+a0​=a5​x2+(a3​x+a1​)y+a2​x+a0​=a5​x2+(a3​x+a1​)2b4​−(b3​x+b1​)+EΔy​​​+a2​x+a0​=0

为了消除根号。我们将根号项转移到右侧:

a5x2+(a3x+a1)−(b3x+b1)2b4+a2x+a0=−(a3x+a1)EΔy2b4a_5x^2+(a_3x+a_1)\frac{-(b_3x+b_1)}{2b_4}+a_2x+a_0 =-(a_3x+a_1)\frac{E\sqrt{\Delta_y}}{2b_4}\\ a5​x2+(a3​x+a1​)2b4​−(b3​x+b1​)​+a2​x+a0​=−(a3​x+a1​)2b4​EΔy​​​
于是有,
a5x2−12b4(a3b3x2+x(a3b1+a1b3)+a1b1)+a2x+a0=x2(a5−a3b32b4)+x(a2−12b4(a3b1+a1b3))+a0−a1b12b4=−(a3x+a1)EΔy2b4a_5x^2-\frac{1}{2b_4}\big(a_3b_3x^2+x(a_3b_1+a_1b_3)+a_1b_1\big)+a_2x+a_0\\ =x^2(a_5-\frac{a_3b_3}{2b_4})+x\Big(a_2-\frac{1}{2b_4}(a_3b_1+a_1b_3)\Big)+a_0-\frac{a_1b_1}{2b_4} =-(a_3x+a_1)\frac{E\sqrt{\Delta_y}}{2b_4} a5​x2−2b4​1​(a3​b3​x2+x(a3​b1​+a1​b3​)+a1​b1​)+a2​x+a0​=x2(a5​−2b4​a3​b3​​)+x(a2​−2b4​1​(a3​b1​+a1​b3​))+a0​−2b4​a1​b1​​=−(a3​x+a1​)2b4​EΔy​​​

令:A=a5−a3b32b4,B=a2−12b4(a3b1+a1b3),C=a0−a1b12b4A=a_5-\frac{a_3b_3}{2b_4},B=a_2-\frac{1}{2b_4}(a_3b_1+a_1b_3),C=a_0-\frac{a_1b_1}{2b_4}A=a5​−2b4​a3​b3​​,B=a2​−2b4​1​(a3​b1​+a1​b3​),C=a0​−2b4​a1​b1​​

两边同时平方:

A2x4+2ABx3+(2AC+B2)x2+2BCx+C2=(a3x+a1)2Δy4b42A^2x^4+2ABx^3+(2AC+B^2)x^2+2BCx+C^2=(a_3x+a_1)^2\frac{\Delta_y}{4b_4^2} A2x4+2ABx3+(2AC+B2)x2+2BCx+C2=(a3​x+a1​)24b42​Δy​​

显然:a5=0a_5=0a5​=0方程依然有意义。

注意,当我们解出方程
A2x4+2ABx3+(2AC+B2)x2+2BCx+C2=(a3x+a1)2Δy4b42A^2x^4+2ABx^3+(2AC+B^2)x^2+2BCx+C^2=(a_3x+a_1)^2\frac{\Delta_y}{4b_4^2}A2x4+2ABx3+(2AC+B2)x2+2BCx+C2=(a3​x+a1​)24b42​Δy​​
时,假设xxx的可能取值为:r∈{r1,r2,r3,r4}r \in \{r_1,r_2,r_3,r_4\}r∈{r1​,r2​,r3​,r4​}.

现在我们思考,对于上述方程,如果我们认为上述方程隐含了对Δy\Delta_yΔy​对约束,理应

y=−(b3x+b1)±Δy2b4y=\frac{-(b_3x+b_1)\pm\sqrt{\Delta_y}}{2b_4} y=2b4​−(b3​x+b1​)±Δy​​​

都是合法的,是不对的。这是因为这个方程是从:

Ax2+Bx+C=±(a3x+a1)Δy2b4Ax^2+Bx+C = \pm(a_3x+a_1)\frac{\sqrt{\Delta_y}}{2b_4} Ax2+Bx+C=±(a3​x+a1​)2b4​Δy​​​

两边同时平方得来的。这也就是说,当我们解出一个xxx后,那么,
Ax2+Bx+CAx^2+Bx+CAx2+Bx+C只会对应等号另一次的一个,而不是两个。说白了,

2=22=−22=2\\ 2=-2 2=22=−2

上述两个式子一个成立,一个不成立,但同时两侧平方就会让他们都成立。所以此时我们应该有效去除增根

去掉增根的方法就是重新代入原来的方程判断一下即可。

所以方程两边的每一次平方都有可能使方程产生增根,所以一旦有两边同时平方的操作就要对原有方程去验证一下。以防止增根

计算(4),(5),(6)(4),(5),(6)(4),(5),(6)

先来看:

0+0+b3xy+b2x+b1y+b0=(b3x+b1)y+b2x+b0=00+0+b_3xy+b_2x+b_1y+b_0=(b_3x+b_1)y+b_2x+b_0=0 0+0+b3​xy+b2​x+b1​y+b0​=(b3​x+b1​)y+b2​x+b0​=0

此时讨论一下情况:

当 ∣b3∣+∣b2∣+∣b1∣+∣b0∣=0|b_3|+|b_2|+|b_1|+|b_0|=0∣b3​∣+∣b2​∣+∣b1​∣+∣b0​∣=0

说明此事方程冗余。无法解的有限个根。

当 ∣b3∣+∣b1∣>0and∣b2∣+∣b0∣>0|b_3|+|b_1|>0\ \ \ a n d\ \ \ |b_2|+|b_0|>0∣b3​∣+∣b1​∣>0   and   ∣b2​∣+∣b0​∣>0

若b3x+b1≠0b_3x+b_1\not=0b3​x+b1​​=0:

y=−b2x+b0b3x+b1y=-\frac{b_2x+b_0}{b_3x+b_1} y=−b3​x+b1​b2​x+b0​​

代入:a5x2+a4y2+a3xy+a2x+a1y+a0=0a_5x^2+a_4y^2+a_3xy+a_2x+a_1y+a_0=0a5​x2+a4​y2+a3​xy+a2​x+a1​y+a0​=0

a5x2+a4y2+(a3x+a1)y+a2x+a0=a5x2+a4(b2x+b0b3x+b1)2−(a3x+a1)b2x+b0b3x+b1+a2x+a0a_5x^2+a_4y^2+(a_3x+a_1)y+a_2x+a_0\\ =a_5x^2+a_4\Big(\frac{b_2x+b_0}{b_3x+b_1}\Big)^2-(a_3x+a_1)\frac{b_2x+b_0}{b_3x+b_1}+a_2x+a_0 a5​x2+a4​y2+(a3​x+a1​)y+a2​x+a0​=a5​x2+a4​(b3​x+b1​b2​x+b0​​)2−(a3​x+a1​)b3​x+b1​b2​x+b0​​+a2​x+a0​

得到:

(a5x2+a2x+a0)(b3x+b1)2−(a3x+a1)(b2x+b0)(b3x+b1)+a4(b2x+b0)2=0(a_5x^2+a_2x+a_0)(b_3x+b_1)^2-(a_3x+a_1)(b_2x+b_0)(b_3x+b_1)+a_4(b_2x+b_0)^2=0 (a5​x2+a2​x+a0​)(b3​x+b1​)2−(a3​x+a1​)(b2​x+b0​)(b3​x+b1​)+a4​(b2​x+b0​)2=0

去掉使得b3x+b1=0b_3x+b_1=0b3​x+b1​=0的根

若b3x+b1=0b_3x+b_1=0b3​x+b1​=0:

说明b3≠0b_3\not=0b3​​=0,且此时b2x+b0=0b_2x+b_0=0b2​x+b0​=0也应该成立。否则无解

那么yyy的取值任意,x=−b1/b3x = -b_1/b_3x=−b1​/b3​

代入a5x2+a4y2+(a3x+a1)y+a2x+a0a_5x^2+a_4y^2+(a_3x+a_1)y+a_2x+a_0a5​x2+a4​y2+(a3​x+a1​)y+a2​x+a0​ 得到关于yyy的方程。

综上,为们只需要计算方程
(a5x2+a2x+a0)(b3x+b1)2−(a3x+a1)(b2x+b0)(b3x+b1)+a4(b2x+b0)2=0(a_5x^2+a_2x+a_0)(b_3x+b_1)^2-(a_3x+a_1)(b_2x+b_0)(b_3x+b_1)+a_4(b_2x+b_0)^2=0(a5​x2+a2​x+a0​)(b3​x+b1​)2−(a3​x+a1​)(b2​x+b0​)(b3​x+b1​)+a4​(b2​x+b0​)2=0

当 ∣b3∣+∣b1∣=0and∣b2∣+∣b0∣>0|b_3|+|b_1|=0\ \ \ a n d\ \ \ |b_2|+|b_0|>0∣b3​∣+∣b1​∣=0   and   ∣b2​∣+∣b0​∣>0

那么此时方程:
0+0+b3xy+b2x+b1y+b0=(b3x+b1)y+b2x+b0=b2x+b0=00+0+b_3xy+b_2x+b_1y+b_0=(b_3x+b_1)y+b_2x+b_0=b_2x+b_0=00+0+b3​xy+b2​x+b1​y+b0​=(b3​x+b1​)y+b2​x+b0​=b2​x+b0​=0

也就是说:b2x+b0=0b_2x+b_0=0b2​x+b0​=0 若b2=0b_2 = 0b2​=0则无解。

否则:x=−b0/b2x = -b_0/b_2x=−b0​/b2​

代入a5x2+a4y2+(a3x+a1)y+a2x+a0a_5x^2+a_4y^2+(a_3x+a_1)y+a_2x+a_0a5​x2+a4​y2+(a3​x+a1​)y+a2​x+a0​得到关于yyy的方程。

当 ∣b3∣+∣b1∣>0and∣b2∣+∣b0∣=0|b_3|+|b_1|>0\ \ \ a n d\ \ \ |b_2|+|b_0|=0∣b3​∣+∣b1​∣>0   and   ∣b2​∣+∣b0​∣=0

那么此时方程:0+0+b3xy+b2x+b1y+b0=(b3x+b1)y=00+0+b_3xy+b_2x+b_1y+b_0=(b_3x+b_1)y=00+0+b3​xy+b2​x+b1​y+b0​=(b3​x+b1​)y=0

那么存在两种情况:y=0ORb3x+b1=0y=0\ \ OR\ \ b_3x+b_1=0y=0  OR  b3​x+b1​=0

y=0y=0y=0时,代入上面方程,求出xxx

b3x+b1=0b_3x+b_1=0b3​x+b1​=0此时存在根的必要条件是b3≠0b_3\not=0b3​​=0 此时x=−b1/b3x = -b_1/b_3x=−b1​/b3​,代入上面方程,求的yyy.

第二次求出的根要去掉y=0y=0y=0的情况。此种情况被第一次计算过了.

新求解方法

考虑222元方程组f,g∈R[x,y]f,g\in \R[x,y]f,g∈R[x,y]

f(x,y)=∑k∑tak,txkyt,ak,t∈Rg(x,y)=∑k∑tbk,txkyt,bk,t∈Rf(x,y)=\sum_{k}\sum_{t}a_{k,t}x^{k}y^t,a_{k,t}\in\R\\ g(x,y)=\sum_{k}\sum_{t}b_{k,t}x^{k}y^t,b_{k,t}\in\R\\ f(x,y)=k∑​t∑​ak,t​xkyt,ak,t​∈Rg(x,y)=k∑​t∑​bk,t​xkyt,bk,t​∈R

若我们将R[x,y]\R[x,y]R[x,y]看作R[x][y]\R[x][y]R[x][y] 问题就了。

那么改写f,gf,gf,g有:

f(x,y)=fx(x)=f0+f1y+f2y2+...+fnyn,fi∈F[x]g(x,y)=gx(x)=g0+g1y+g2y2+...+gnyn,gi∈F[x]f(x,y)=f_x(x)=f_0+f_1y+f_2y^2+...+f_ny^n,f_i\in F[x]\\ g(x,y)=g_x(x)=g_0+g_1y+g_2y^2+...+g_ny^n,g_i\in F[x] f(x,y)=fx​(x)=f0​+f1​y+f2​y2+...+fn​yn,fi​∈F[x]g(x,y)=gx​(x)=g0​+g1​y+g2​y2+...+gn​yn,gi​∈F[x]

此时,若f,gf,gf,g零点集有共公解(x0,y0)(x_0,y_0)(x0​,y0​).则:gcd(fx,gx)≠1gcd(f_x,g_x)\not=1gcd(fx​,gx​)​=1

根据结式定理 :

gcd(f,g)=1⇔det(syl(f,g))=res(f,g)≠0gcd(f,g)=1\Leftrightarrow det(syl(f,g))=res(f,g)\not=0 gcd(f,g)=1⇔det(syl(f,g))=res(f,g)​=0

所以,方程组有解当切仅当

res(fx,gx)=0res(f_x,g_x)=0 res(fx​,gx​)=0

那么回到222元222次方程组。

a1x2+a2y2+a3xy+a4x+a5y+a6=0b1x2+b2y2+b3xy+b4x+b5y+b6=0a_1x^2+a_2y^2+a_3xy+a_4x+a_5y+a_6=0\\ b_1x^2+b_2y^2+b_3xy+b_4x+b_5y+b_6=0\\ a1​x2+a2​y2+a3​xy+a4​x+a5​y+a6​=0b1​x2+b2​y2+b3​xy+b4​x+b5​y+b6​=0

我们将上述方程组改写为:

fx=a2y2+(a3x+a5)y+(a1x2+a4x+a6)=f2y2+f1y+f0=0gx=b2y2+(b3x+b5)y+(b1x2+b4x+b6)=g2y2+g1y+g0=0f_x=a_2y^2+(a_3x+a_5)y+(a_1x^2+a_4x+a_6)=f_2y^2+f_1y+f_0=0\\ g_x=b_2y^2+(b_3x+b_5)y+(b_1x^2+b_4x+b_6)=g_2y^2+g_1y+g_0=0 fx​=a2​y2+(a3​x+a5​)y+(a1​x2+a4​x+a6​)=f2​y2+f1​y+f0​=0gx​=b2​y2+(b3​x+b5​)y+(b1​x2+b4​x+b6​)=g2​y2+g1​y+g0​=0

syl(fx,gx)=[f20g20f1f2g1g2f0f1g0g10f00g0]syl(f_x,g_x)= \left[ \begin{matrix} f_2&0&g_2&0\\ f_1&f_2&g_1&g_2\\ f_0&f_1&g_0&g_1\\ 0&f_0&0&g_0 \end{matrix} \right] syl(fx​,gx​)=⎣⎢⎢⎡​f2​f1​f0​0​0f2​f1​f0​​g2​g1​g0​0​0g2​g1​g0​​⎦⎥⎥⎤​

则:

∣f20g20f1f2g1g2f0f1g0g10f00g0∣=1f2∣f20g2f20f1f2g1f2g2f0f1g0f2g10f00g0∣=1f2∣f2000f1f2g1f2−g2f1g2f0f1g0f2−g2f0g10f00g0∣\left| \begin{matrix} f_2&0&g_2&0\\ f_1&f_2&g_1&g_2\\ f_0&f_1&g_0&g_1\\ 0&f_0&0&g_0 \end{matrix} \right| =\frac{1}{f_2}\left| \begin{matrix} f_2&0&g_2f_2&0\\ f_1&f_2&g_1f_2&g_2\\ f_0&f_1&g_0f_2&g_1\\ 0&f_0&0&g_0 \end{matrix} \right|=\frac{1}{f_2}\left| \begin{matrix} f_2&0&0&0\\ f_1&f_2&g_1f_2-g_2f_1&g_2\\ f_0&f_1&g_0f_2-g_2f_0&g_1\\ 0&f_0&0&g_0 \end{matrix} \right| ∣∣∣∣∣∣∣∣​f2​f1​f0​0​0f2​f1​f0​​g2​g1​g0​0​0g2​g1​g0​​∣∣∣∣∣∣∣∣​=f2​1​∣∣∣∣∣∣∣∣​f2​f1​f0​0​0f2​f1​f0​​g2​f2​g1​f2​g0​f2​0​0g2​g1​g0​​∣∣∣∣∣∣∣∣​=f2​1​∣∣∣∣∣∣∣∣​f2​f1​f0​0​0f2​f1​f0​​0g1​f2​−g2​f1​g0​f2​−g2​f0​0​0g2​g1​g0​​∣∣∣∣∣∣∣∣​

当f2≠0f_2\not=0f2​​=0时(f2f_2f2​,g2g_2g2​地位相同,所以仅仅讨论f2≠0f_2\not=0f2​​=0),上术变换成立.

因为 f2f_2f2​时常数。则求解条件就变成了:

∣f2g1f2−g2f1g2f1g0f2−g2f0g1f00g0∣=0\left| \begin{matrix} f_2&g_1f_2-g_2f_1&g_2\\ f_1&g_0f_2-g_2f_0&g_1\\ f_0&0&g_0 \end{matrix} \right|=0 ∣∣∣∣∣∣​f2​f1​f0​​g1​f2​−g2​f1​g0​f2​−g2​f0​0​g2​g1​g0​​∣∣∣∣∣∣​=0

得到一个单变元方程:

f2(g0f2−g2f0)−(g1f2−g2f1)(f1g0−g1f0)+g2f0(g0f2−g2f0)=0f_2(g_0f_2-g_2f_0)-(g_1f_2-g_2f_1)(f_1g_0-g_1f_0)+g_2f_0(g_0f_2-g_2f_0)=0 f2​(g0​f2​−g2​f0​)−(g1​f2​−g2​f1​)(f1​g0​−g1​f0​)+g2​f0​(g0​f2​−g2​f0​)=0

当f2=g2=0f_2=g_2=0f2​=g2​=0时,依然是求解:

∣f2g1g2f1g0g1f00g0∣=0\left| \begin{matrix} f_2&g_1&g_2\\ f_1&g_0&g_1\\ f_0&0&g_0 \end{matrix} \right|=0 ∣∣∣∣∣∣​f2​f1​f0​​g1​g0​0​g2​g1​g0​​∣∣∣∣∣∣​=0

他其实等效于:

lim⁡f2→0∣f2(g0f2−g2f0)−(g1f2−g2f1)(f1g0−g1f0)+g2f0(g0f2−g2f0)/f2∣=∣g1(f1g0−g1f0)∣\lim_{f_2\rightarrow0}|f_2(g_0f_2-g_2f_0)-(g_1f_2-g_2f_1)(f_1g_0-g_1f_0)+g_2f_0(g_0f_2-g_2f_0)/f_2|=|g_1(f_1g_0-g_1f_0)| f2​→0lim​∣f2​(g0​f2​−g2​f0​)−(g1​f2​−g2​f1​)(f1​g0​−g1​f0​)+g2​f0​(g0​f2​−g2​f0​)/f2​∣=∣g1​(f1​g0​−g1​f0​)∣

利用这种方法,我们可以求解3次4次或者更一般的多项式方程组问题。但是此方法现在随未知数的增加和次数的增加难度大增!!。

对于单变元多项式求解,文档中提供了一个全局收敛且为二次收敛的高效算法 jenkins−traubjenkins-traubjenkins−traub

注意,结式法很显然可以扩展到高纬求解的情况。例如 R3\R^3R3上的方程求解。

我们每计算一次结式resresres就相当于降低维度。

给定方程组:

F1(x1,x2,...xn)F2(x1,x2,...xn)F3(x1,x2,...xn)⋮Fn(x1,x2,...xn)F_1(x_1,x_2,...x_n)\\ F_2(x_1,x_2,...x_n)\\ F_3(x_1,x_2,...x_n)\\ \vdots\\ F_n(x_1,x_2,...x_n)\\ F1​(x1​,x2​,...xn​)F2​(x1​,x2​,...xn​)F3​(x1​,x2​,...xn​)⋮Fn​(x1​,x2​,...xn​)

我们可以生成后Rn−1\R^{n-1}Rn−1上的方程组:

res(F1,F2)res(F2,F3)⋮res(Fn−1,Fn)res(F_1,F_2)\\ res(F_2,F_3)\\ \vdots\\ res(F_{n-1},F_n) res(F1​,F2​)res(F2​,F3​)⋮res(Fn−1​,Fn​)

以此类推,知道生成R\RR上的多项式。求解后反代入上一级求解第二个未知数。

附录

在读附录之前,希望读有抽象代数基础。

域上多项式

设FFF是域, FFF上的多项式F[x]F[x]F[x]被定义为:

ai∈F,f(x)=a0+a1x+a2x2+..+anxn∈F[x]a_i\in F,\ \ f(x)=a_0+a_1x+a_2x^2+..+a_nx^n\in F[x] ai​∈F,  f(x)=a0​+a1​x+a2​x2+..+an​xn∈F[x]

此时,我们记: n=deg⁡fn=\deg fn=degf

类似的,FFF上的多元多项式F[x]=F[x1,x2,...xn]F[x]=F[x_1,x_2,...x_n]F[x]=F[x1​,x2​,...xn​]被定义为:

ai1,i2,..in∈F,f(x)=∑k=0n∑i1+i2+..+in=kai1,i2,..inkxk∈F[x]a_{i_1,i_2,..i_n}\in F,\ \ f(x)=\sum_{k=0}^n\sum_{i_1+i_2+..+i_n=k}a_{i_1,i_2,..i_n}^kx^k\ \ \in F[x] ai1​,i2​,..in​​∈F,  f(x)=k=0∑n​i1​+i2​+..+in​=k∑​ai1​,i2​,..in​k​xk  ∈F[x]

结式

引理 1:设FFF是域,非零单变元多项式 f,g∈F[x]f,g\in F[x]f,g∈F[x],则gcd(f,g)≠1gcd(f,g)\not=1gcd(f,g)​=1当且仅当存在s,t∈F[x]/{0}s,t\in F[x]/\{0\}s,t∈F[x]/{0},是的sf+tg=0sf+tg=0sf+tg=0,且deg⁡s

证明充分性:

假设f≠1,g≠1f\not=1, g\not=1f​=1,g​=1

令 h=gcd(f,g)h=gcd(f,g)h=gcd(f,g)

则可以构造s=−g/h,t=f/hs=-g/h,t=f/hs=−g/h,t=f/h,充分性得证.

证明必要性

假设f≠1,g≠1f\not=1, g\not=1f​=1,g​=1

令 h=gcd(f,g)h=gcd(f,g)h=gcd(f,g),若h=1h=1h=1。 由sf=−tgsf=-tgsf=−tg可以推出:f∣tf|tf∣t. 这与t≠0t\not=0t​=0且deg⁡t

若F[x]F[x]F[x]仅为UFDUFDUFD(唯一因子分解整环)则只需要要求hhh非平凡。

定义:d∈N,Pd={a∈F[x]∣deg⁡aa∈F[x]∣dega

定义如下映射φf,g,f,g∈F[x],deg⁡f=n,deg⁡g=m\varphi_{f,g},f,g\in F[x],\deg f=n,\deg g=mφf,g​,f,g∈F[x],degf=n,degg=m

φ=φf,h:F[x]×F[x]→F[x],φf,g(s,t)=sf+tg\varphi=\varphi_{f,h}:F[x]\times F[x]\rightarrow F[x],\varphi_{f,g}(s,t)=sf+tg φ=φf,h​:F[x]×F[x]→F[x],φf,g​(s,t)=sf+tg

令φ0:Pm×Pn→Pn+m\varphi_0:P_m\times P_n\rightarrow P_{n+m}φ0​:Pm​×Pn​→Pn+m​为φ\varphiφ在Pm×PnP_m\times P_nPm​×Pn​上的限制。

则对于任意的f,g∈F[x]f,g\in F[x]f,g∈F[x]分别为nnn次与mmm次多项式。

则:gcd⁡(f,g)=1⇔φ0\gcd(f,g)=1\Leftrightarrow \varphi_0gcd(f,g)=1⇔φ0​是同构。(在抽象代数中,同构指的是一个保持结构的双射。)

这里,同构的意思是两个线性空间Pm×PnP_m\times P_nPm​×Pn​ 和Pm+nP_{m+n}Pm+n​之间的一个同构映射。

显然,gcd⁡(f,g)=1\gcd(f,g)=1gcd(f,g)=1时,(s,t)≠(s′,t′)(s,t)\not=(s',t')(s,t)​=(s′,t′)时。φ0(s,t)≠φ0(s′,t′)\varphi_0(s,t)\not=\varphi_0(s',t')φ0​(s,t)​=φ0​(s′,t′)

这是因为,若φ0(s,t)=φ0(s′,t′)\varphi_0(s,t)=\varphi_0(s',t')φ0​(s,t)=φ0​(s′,t′)则有:

sf+tg=s′f+tg′⇒(s−s′)f+(t−t′)g=0sf+tg=s'f+tg'\Rightarrow(s-s')f+(t-t')g=0 sf+tg=s′f+tg′⇒(s−s′)f+(t−t′)g=0

这与引理1矛盾。

所以,φ0\varphi_0φ0​此时是单射(https://baike.baidu.com/item/%E5%8D%95%E5%B0%84/9274884)

同志们,我们将多项式看作一个线性空间的时候。本质上是将多项式看作了一个向量。

那么PmP_mPm​中的元素是mmm维向量。PnP_nPn​是nnn维度 所以Pm×PnP_m\times P_nPm​×Pn​是n+mn+mn+m维,与Pn+mP_{n+m}Pn+m​维数相同。

所以这个映射满足两个性质: 1:φ0\varphi_0φ0​是线性映射. 2:φ0\varphi_0φ0​是单设。那么也就是说φ0\varphi_0φ0​ 是可逆的。

但φ0\varphi_0φ0​未必是满的。是否能说φ0\varphi_0φ0​是同构呢?因为此时的映射可能是线性空间到目标线性空间子集的一个映射。

所以我们还需要证明,φ0\varphi_0φ0​是满的。

若存在一个元素h∈Pn+mh\in P_{n+m}h∈Pn+m​,根据扩展gcdgcdgcd一定有s,t∈F[x],sf+tg=hs,t\in F[x],sf+tg=hs,t∈F[x],sf+tg=h

若此时 deg⁡s≥deg⁡g\deg s\geq \deg gdegs≥degg则一定有deg⁡t≥deg⁡f\deg t\geq \deg fdegt≥degf

令s=qxm+rs,t=pxn+rts=qx^m+r_s,t=px^n+r_ts=qxm+rs​,t=pxn+rt​

则:h=(qxm+rs)f+(pxn+rt)g=qxmf+pxng+rsf+rtgh=(qx^m+r_s)f+(px^n+r_t)g=qx^mf+px^ng+r_sf+r_tgh=(qxm+rs​)f+(pxn+rt​)g=qxmf+pxng+rs​f+rt​g

所以:qxmf+pxng=0qx^mf+px^ng=0qxmf+pxng=0.这也就是说,每一个h∈Pn+mh\in P_{n+m}h∈Pn+m​都有至少一个s∈Pm,t∈Pns\in P_m,t\in P_ns∈Pm​,t∈Pn​与之对应。

所以φ0\varphi_0φ0​也是满的。同构得证明。

注意(原书中认为,同维度线性空间的线形映射,且为单射是同构的这一点是不对的。这个映射可能是目标先行空间的子集)

所以,既然是同构。那么也就是说φ0(s,t)=1\varphi_0(s,t)=1φ0​(s,t)=1的解是唯一的

SylvesterSylvesterSylvester矩阵

令f∈F[x]f\in F[x]f∈F[x]有:

f(x)=f0+f1x+..+fnxnf(x)=f_0+f_1x+..+f_nx^n f(x)=f0​+f1​x+..+fn​xn

令g∈F[x]g\in F[x]g∈F[x]有:

g(x)=g0+g1x+...+gmxmg(x)=g_0+g_1x+...+g_mx^m g(x)=g0​+g1​x+...+gm​xm

SylvesterSylvesterSylvester矩阵syl(f,g)syl(f,g)syl(f,g)被定义为:

syl(f,g)=[fn0⋯0gm0⋯0fn−1fn⋯0gm−1gm⋯0⋮⋮⋱⋮⋮⋮⋱f0f1⋯fng1g2⋯00f0⋯fn−1g0g1⋯000⋯fn−20g0⋯gm⋮⋮⋱⋮⋮⋮⋱⋮00⋯f000⋯g0](syl(f,g))syl(f,g)= \left[ \begin{matrix} f_n & 0 & \cdots &0& g_m&0&\cdots &0\\ f_{n-1} & f_n & \cdots &0& g_{m-1}&g_m&\cdots&0\\ \vdots &\vdots & \ddots& \vdots &\vdots &\vdots&\ddots\\ f_{0} & f_{1} & \cdots &f_n &g_1 & g_2&\cdots &0\\ 0 & f_0 & \cdots &f_{n-1} &g_0 & g_1&\cdots &0\\ 0&0&\cdots &f_{n-2}&0 &g_0&\cdots&g_m\\ \vdots &\vdots & \ddots& \vdots &\vdots&\vdots&\ddots &\vdots\\ 0&0&\cdots&f_0&0&0&\cdots&g_0 \end{matrix} \right] \tag{syl(f,g)} syl(f,g)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​fn​fn−1​⋮f0​00⋮0​0fn​⋮f1​f0​0⋮0​⋯⋯⋱⋯⋯⋯⋱⋯​00⋮fn​fn−1​fn−2​⋮f0​​gm​gm−1​⋮g1​g0​0⋮0​0gm​⋮g2​g1​g0​⋮0​⋯⋯⋱⋯⋯⋯⋱⋯​0000gm​⋮g0​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​(syl(f,g))

它的意义在于,前面计算φ0\varphi_0φ0​的时候,假设s∈Pm,t∈Pns\in P_m, t\in P_ns∈Pm​,t∈Pn​ 且

s(x)=s0+s1x+s2x2+...+sm−1xm−1t(t)=t0+t1x+t2x2+...+tn−1xn−1(sf+tg)(x)=h0+h1x+...hn+m−1xn+m−1s(x)=s_0+s_1x+s_2x^2+...+s_{m-1}x^{m-1}\\ t(t)=t_0+t_1x+t_2x^2+...+t_{n-1}x^{n-1}\\ (sf+tg)(x)=h_0+h_1x+...h_{n+m-1}x^{n+m-1} s(x)=s0​+s1​x+s2​x2+...+sm−1​xm−1t(t)=t0​+t1​x+t2​x2+...+tn−1​xn−1(sf+tg)(x)=h0​+h1​x+...hn+m−1​xn+m−1

则:sf+tg=hsf+tg=hsf+tg=h的系数数组成的向量等于:

syl(f,g)[sm−1sm−2⋮s0tn−1⋮t0]=[hn+m−1hn+m−2⋮hnhn−1⋮h0]syl(f,g)\left[\begin{matrix} s_{m-1}\\ s_{m-2}\\ \vdots\\ s_0\\ t_{n-1}\\ \vdots\\ t_0 \end{matrix}\right]=\left[\begin{matrix} h_{n+m-1}\\ h_{n+m-2}\\ \vdots\\ h_n\\ h_{n-1}\\ \vdots\\ h_0 \end{matrix}\right] syl(f,g)⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​sm−1​sm−2​⋮s0​tn−1​⋮t0​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​hn+m−1​hn+m−2​⋮hn​hn−1​⋮h0​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​

自行手算验证。

这就是说, 在矩阵的视角下,gcd(f,g)=1,syl(f,g)gcd(f,g)=1,syl(f,g)gcd(f,g)=1,syl(f,g)描绘了可逆线性变换φ0\varphi_0φ0​

这也就是说:

gcd(f,g)=1⇔det(syl(f,g))≠0gcd(f,g)≠1⇔det(syl(f,g))=0gcd(f,g)=1\Leftrightarrow det(syl(f,g))\not=0\\ gcd(f,g)\not = 1 \Leftrightarrow det(syl(f,g))=0\\ gcd(f,g)=1⇔det(syl(f,g))​=0gcd(f,g)​=1⇔det(syl(f,g))=0

结式

定义结式:称det(syl(f,g)det(syl(f,g)det(syl(f,g)为结式,记:res(f,g)=det(syl(f,g))res(f,g)=det(syl(f,g))res(f,g)=det(syl(f,g))

相关内容

热门资讯

马斯克即将创下的人类历史记录:...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:网易科技)特...
三大世界级科创中心呼之欲出! ​​在当今世界百年未有之大变局加速演进、国际力量对比深刻调整的大背景下,外部环境不稳定、不确定因素明...
成都7宗涉宅用地14.94亿元... 格隆汇12月24日|12月24日,成都有7宗涉宅用地出让,其中双流区2宗(组合出让)、郫都区1宗、新...
严把质控关 守护“延安蓝”——... 来源:环球网 为进一步强化环境空气质量自动监测数据质量管控,规范环境空气质量自动监测站点运维管理,切...
海致科技冲刺港股:智能体收入暴... 主营业务:图模融合技术驱动增长,智能体成第二曲线但客户基数薄弱海致科技核心业务为提供Atlas图谱解...