從整數 gcd 到多項式 gcd
第 7 章說明整數整除由最大公因數、Euclidean algorithm、Bézout 恆等式與質因數分解
控制。第 8 章在多項式中重建同一套結構。類比很強,但多項式有一個新的細節:
乘上一個非零常數不會改變整除關係的本質。
例如 x−1 與 5x−5 只差一個非零常數倍。為了令 gcd 唯一,我們取 monic 代表。
多項式整除與相伴多項式
定義
多項式整除
對 f(x),g(x)∈R[x],若存在 q(x)∈R[x] 使得
f(x)=g(x)q(x),便稱 g(x) 整除 f(x),記作 g(x)∣f(x)。
兩個非零多項式互相整除,當且僅當它們只差一個非零常數倍。
定理
互相整除
對非零 f(x),g(x)∈R[x],
g∣f 且 f∣g⟺f(x)=kg(x)其中 k∈R 且 k=0。
證明用次數即可。若 f=d1g 且 g=d2f,則 f=d1d2f。由於 f=0,
乘積 d1d2 必須是常數多項式 1,所以 d1、d2 都是常數。
R[x] 中的最大公因式
定義
多項式最大公因式
設 f(x),g(x)∈R[x] 不同時為零。若 d(x) 滿足:
- d(x)∣f(x) 且 d(x)∣g(x);
- 每個
f 與 g 的共同因式都整除 d(x);
則 d(x) 是 f 與 g 的最大公因式。記號 gcd(f,g) 指唯一的 monic 最大公因式。
這裡「最大」不是大小排序,而是整除意義:gcd 是吸收所有共同因式的那個共同因式。
常見錯誤
gcd 按慣例取 monic
若 Euclidean algorithm 的最後非零餘式是 −2x+2,通常不把 gcd 寫成 −2x+2。
因為 −2x+2=−2(x−1),monic gcd 是 x−1。
多項式 Euclidean algorithm
若
f(x)=g(x)q(x)+r(x),degr<degg,
則
gcd(f,g)=gcd(g,r).
原因是:f 與 g 的任何共同因式都整除 r=f−gq;反過來,g 與 r 的任何共同
因式也整除 f=gq+r。重複這個步驟時,餘式次數嚴格下降,因此算法必會停止。
最後非零餘式經 monic 化後就是 gcd。
例題
一個多項式 Euclidean algorithm
設
f(x)=4x4−2x3−16x2+5x+9,g(x)=2x3−x2−5x+4.投影片中的計算為
f(x)=(2x)g(x)+(−6x2−3x+9),g(x)=(−31x+31)(−6x2−3x+9)+(−x+1),且
−6x2−3x+9=(6x+9)(−x+1)+0.最後非零餘式是 −x+1,所以 monic gcd 是
gcd(f,g)=x−1.
Bézout 恆等式
延伸 Euclidean algorithm 亦適用於 R[x]。
定理
多項式 Bézout 恆等式
若 f(x),g(x)∈R[x] 非零,則存在 a(x),b(x)∈R[x] 使得
gcd(f,g)=a(x)f(x)+b(x)g(x).
在上面的例子中,回代得到
x−1=(−31x+31)f(x)(32x2−32x−1)g(x).
這不只是計算技巧。若 gcd(f,g)=1,Bézout 恆等式說明 f 與 g 的多項式線性
組合可以產生常數多項式 1,這正是許多整除定理的核心。
定義
互質多項式
非零多項式 f(x) 與 g(x) 互質,意思是
gcd(f,g)=1.等價地,存在 a(x),b(x)∈R[x] 使得
a(x)f(x)+b(x)g(x)=1.
不可約多項式
定義
在一個域上不可約
設 F 是一個域。非常數多項式 p(x)∈F[x] 若不能寫成
p(x)=g(x)h(x)其中 g(x),h(x)∈F[x] 且 0<degg,degh<degp,便稱為在 F 上不可約。
不可約性取決於係數域。
例題
改變係數域會改變不可約性
x2−2 在 Q 上不可約,但在 R 上可約:
x2−2=(x−2)(x+2).x2+1 在 R 上不可約,但在 C 上可約:
x2+1=(x−i)(x+i).
在 C[x] 中,每個不可約多項式都是一次式。原因是代數基本定理保證每個非常數複
係數多項式都有根。在 R[x] 中,不可約多項式剛好是一次式以及判別式
b2−4ac<0 的二次式 ax2+bx+c。
定理
不可約多項式的整除原理
設 p(x) 在 R 上不可約。
- 若 p∤a,則 gcd(a,p)=1。
- 若 p∣ab,則 p∣a 或 p∣b。
- 方程 a(x)u(x)+b(x)v(x)=c(x) 有多項式解,當且僅當 gcd(a,b)∣c。
- 域上的每個非常數多項式都可分解成不可約多項式;分解在排列與非零常數倍以外唯一。
證明基本上重複第 7 章的整數證明。Bézout 恆等式是關鍵。若 p 不整除 a,
則 ua+vp=1;乘以 b 後即可證明 p∣ab 時必有 p∣b。
證明思路
理解多項式 gcd 時,最安全的方法不是把它想成「最大的式子」。多項式沒有像正整數
那樣自然又合用的大小排序。gcd 的真正意思是:它是一個共同因式,而且每個共同因式
都整除它。因此定義中的第二條才是核心。
Euclidean step
gcd(f,g)=gcd(g,r)
只是共同因式的等價。若某多項式同時整除 f 與 g,它便整除 r=f−gq;反過來,
若它同時整除 g 與 r,它便整除 f=gq+r。所以兩對多項式有完全相同的共同因式,
也就有同一個 monic gcd。算法能停止,是因為每步都有 degr<degg,次數嚴格下降。
Bézout 恆等式來自保留除法中的商式方程。每個新餘式都是前兩個餘式的多項式線性組合;
而最初兩個餘式就是 f 與 g。因此最後非零餘式,即 gcd 的常數倍,也可以寫成
a(x)f(x)+b(x)g(x)。這也解釋了為甚麼 Bézout 表示通常不唯一:只要一組 a,b 可行,
就可用適當倍數改變它們而保持同一個線性組合。
例題
用 gcd 判斷多項式方程有無解
判斷是否存在 u(x),v(x)∈R[x] 使得
(x2−1)u(x)+(x−1)v(x)=x+1.左邊是 x2−1 與 x−1 的多項式線性組合。因為
x2−1=(x−1)(x+1),所以
gcd(x2−1,x−1)=x−1.由多項式 Bézout 可解性判別,方程有解必須有 x−1∣x+1。但代入 x=1
得到 2=0,所以 x−1 不整除 x+1,方程無解。
常見錯誤
常見錯誤
把常數倍當成不同 gcd 答案
在 R[x] 中,x−1、2x−2、−7x+7 的整除內容相同。只有 x−1 是 monic
代表,因此標準 gcd 寫作 x−1。
常見錯誤
說不可約時沒有指定係數域
「x2−2 不可約」這句話不完整。它在 Q 上不可約,但在 R 上可約。討論
不可約性時一定要說明係數域。
總結
多項式 gcd 理論複製了整數 gcd 理論的結構,只是以次數取代大小,以 monic 標準化
取代正數代表。Euclidean algorithm 在保持共同因式不變的同時降低次數;延伸算法給出
Bézout 恆等式。不可約多項式扮演質數的角色,但不可約性取決於係數域:在 C 上只有
一次式不可約;在 R 上,不可約多項式是一式一次式與判別式為負的二次式。
練習閱讀指南
求多項式 gcd 時,先判斷能否直接分解。若兩個多項式都容易分解,共同的 monic 因式
可以直接讀出;若不容易,就照整數情況做 Euclidean algorithm:除法、用除式與餘式
取代原來一對,再重複直到餘式為零。最後非零餘式可能要乘上一個非零常數,才成為
monic gcd。
求 Bézout 恆等式時,要保留每一步除法方程。gcd 是向下做 Euclidean algorithm 得到,
但 Bézout 表示是把方程向上回代得到。常見錯誤是改寫了一個餘式,卻忘記它來自哪一個
前一方程。最後最好展開 a(x)f(x)+b(x)g(x),檢查高次項是否全部抵消。
判斷不可約性時,係數域是題目的一部分。二次式沒有有理根,不代表它在 R 上不可約;
二次式沒有實根,仍會在 C 上分解。對 R 上二次式,判別式測試已足夠;對 Q,
則要使用有理根與數系資訊。例如 x2−5 在 Q 上不可約,因為 5 不是有理數,
但它在 R 上可分解。
證明題要有意識地重用整數章。不可約因式整除乘積時必整除其中一個因式,背後是
Bézout。若 p∤a,則 gcd(a,p)=1,所以 ua+vp=1;兩邊乘以 b 後,就能把
p∣ab 轉化為 p∣b。
快速檢查
快速檢查
為甚麼在 R[x] 中要取 monic gcd?
快速檢查
−x+1 與 0 的 monic gcd 是甚麼?
快速檢查
x2+1 在 R 上不可約嗎?在 C 上不可約嗎?
Exercises
- 用 Euclidean algorithm 計算
R[x] 中的 gcd(x3−1,x2−1)。
- 在例題中,展開右邊以驗證 x−1 的 Bézout 恆等式。
- 判斷 x2−5 在 Q、R、C 上是否不可約。
- 證明:若
p(x) 不可約且 p∤a(x),則 gcd(a,p)=1。
- 證明:若
p(x) 不可約且 p∣a(x)b(x),則 p∣a(x) 或 p∣b(x)。
- 判斷是否存在 u(x),v(x)∈R[x] 使得
(x2−1)u(x)+(x−1)v(x)=x+1。