Groebner 基底 - bladeblade.nagaokaut.ac.jp/~hara/class/groebner/groebner-2005-0719.pdf2 第1 章...
Transcript of Groebner 基底 - bladeblade.nagaokaut.ac.jp/~hara/class/groebner/groebner-2005-0719.pdf2 第1 章...
1
Groebner 基底
(2005 年 1 学期現代数学特論)
原 信一郎[email protected]
http://blade.nagaokaut.ac.jp/˜ hara/
2005年 7月 19日版
3
目次
第 1章 代数と幾何 1
1 環と体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 1変数多項式環 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 イデアルとアフィン多様体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
第 2章 Groebner 基底 15
1 順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 順序に関するディクソンの補題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 単項式順序と整除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 ヒルベルトの補題とグレブナ基底 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 グレブナ基底の性質 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 ブッフベルガーのアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
第 3章 Groebner 基底の応用 33
1 計算の実例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2 拡張定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
付録 43
1 参考書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2 参考 URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1
第 1章
代数と幾何
まず最初に代数系の基礎を紹介する。
§1 環と体
1.1 環と体の公理
定義 1.1 (環と体) 集合 R 上に 2 つの演算
+ : R×R → R, (a, b) 7→ a + b· : R×R → R, (a, b) 7→ a · b
が定義されているとする。更に 2 つの要素 0, 1 ∈ R が定められているとする。
これらが、以下の条件(環の 公理)を満たしているとき、(R, +, ·, 0, 1) は 環であるという。
(1) 【結合則】 任意の a, b, c ∈ R について (a + b) + c = a + (b + c).
(2) 【交換則】 任意の a, b ∈ R について a + b = b + a.
(3) 【零元の存在】任意の a ∈ R について a + 0 = a, 0 + a = a.
(4) 【負元の存在】 任意の a ∈ R について、ある b ∈ R が存在して a + b = b + a = 0.
(5) 【結合則】 任意の a, b, c ∈ R について (a · b) · c = a · (b · c).(6) 【単位元の存在】任意の a ∈ R について a · 1 = a, 1 · a = a.
(7) 【分配則】 任意の a, b, c ∈ R について a · (b + c) = a · b + a · c, (a + b) · c = a · c + b · c.
更に
(8) 【交換則】 任意の a, b ∈ R について a · b = b · a.
が成り立つならば、 可換環であると言う。
また、更に
(9) 【逆元の存在】 任意の a ∈ R について、a 6= 0 ならば、ある b ∈ R が存在して a · b = b · a = 1.
が成り立つならば、 体であると言う。
記法 1 (1) +, · を R の加法、乗法と呼ぶ。
(2) 0, 1 を R の零元、単位元と呼ぶ。
(3) a · b はしばしば · を省略して ab と書く。
(4) 定義 1.1の (4)の b を a の負元と言い、−a と書く。
(5) a + (−b) を a− b と書く。
(6) 定義 1.1の (9)の b を a の逆元と言い、a−1 と書く。
2 第 1章 代数と幾何
(7) a · b−1 を a/b と書く。
注 1 (1) この文書では「環」といえば「可換環」を指すことにする。
(2) 環 (R, +, ·, 0, 1) を単に R と書くことがある。
命題 1.2 (環の性質) R を環とするとき以下が成り立つ。
(1) R の零元は一意的である。
(2) R の単位元は一意的である。
(3) a ∈ R の負元は一意的である。
(4) a ∈ R の逆元は存在すれば一意的である。
(5) a · 0 = 0.
(6) a · (−b) = −(a · b).
例 1 (環と体の例) (1) 【整数環】(Z, +, ·, 0, 1).
(2) 【有理数体】(Q, +, ·, 0, 1).
(3) 【実数体】(R, +, ·, 0, 1).
(4) 【複素数体】(C, +, ·, 0, 1).
(5) (Z[√
d], +, ·, 0, 1)、ただし、d を整数とする。
(6) 【多項式環】(k[x1, x2, · · · , xn], +, ·, 0, 1). ただし k を環とする。(以下同様)
(7) 【正方行列環】(Mn(k), +, ·, O, E) (非可換).
(8) 【対角行列環】(Dn(k), +, ·, O, E).
(9) A2 = {a, b}+ a b
a a b
b b a
· a b
a a a
b a b
において、0 = a, 1 = b としたもの。
(10) A4 = {a, b, c, d}
+ a b c d
a a b c d
b b c d a
c c d a b
d d a b c
· a b c d
a a a a a
b a b c d
c a c a c
d a d c b
において、0 = a, 1 = b としたもの。
1.2 準同型
記法 2 • 今後 k で任意の体(例 Q, R, C)を表す。• {a, b, c} : 順序のない集合。
• (a, b, c) : 順序のある集合。
• 論理記号∀x · · · : 任意の x について · · ·。∃x · · · : ある x について · · ·。P =⇒ Q : P ならば Q。
P ⇐⇒ Q : P と Q は同値。
P ∨Q : P または Q。
P ∧Q : P かつ Q。
定義 1.3 (全射と単射) f : X → Y を写像とするとき、
(1)「∀y ∈ Y ∃x ∈ Xf(x) = y」が成り立つ時、f は 全射であるという。
(2)「∀x, x′ ∈ X(x 6= x′ ⇒ f(x) 6= f(x′))」が成り立つ時、f は 単射であるという。
(3) f が全射でかつ単射であるとき f は 全単射といういう。
1 環と体 3
定義 1.4 (準同型) R, S を環とし、写像 f : R → S に対して次の条件が成り立つとき、f は R から S への 準同型
写像という。
(1) ∀a, b ∈ R f(a + b) = f(a) + f(b)
(2) ∀a, b ∈ R f(a · b) = f(a) · f(b)
(3) f(1) = 1
また更に f が全単射であるとき、f は R から S への 同型写像であるという。環 R と S の間に少なくとも一つ同
型写像がある時、R と S は 同型 であるといい、R ∼= S と書く。
命題 1.5 f : R → S を環の準同型とするとき以下が成り立つ。
(1) f(0) = 0.
(2) f(−a) = −f(a).
(3) f(a−1) = f(a)−1, (a−1が存在するとき).
(4) f が同型なら f−1 も同型。
代数学は同型で不変な性質を研究する。
例 2 (1) 任意の環 R について、その恒等写像 i : R → R, x 7→ x は同型。
(2) f : A2 → A4, f(a) = a, f(b) = c は単射準同型。
(3) g : A4 → A2, g(a) = a, g(b) = b, g(c) = a, g(d) = b は全射準同型。
定義 1.6 (部分環) (R, +, ·, 0, 1) を環、S がその部分集合で、同じ +, ·, 0, 1 で環になっているとき、S を R の
部分環 という。このとき恒等写像 j : S → R, x 7→ x は準同型であり、これを 包含写像あるいは 埋め込み写像と
いう。
例 3 (1) Z は Q の部分環。(2) Q は R の部分環。(3) R は C の部分環。(4) Dn(k) は Mn(k) の部分環。
1.3 イデアルと剰余環
定義 1.7 (イデアル) R を環、I をその空でない部分集合で、次の条件を満たすとき、I は R のイデアルであると
いう。
(1) ∀x, y ∈ I x + y ∈ I.
(2) ∀x ∈ R ∀y ∈ I x · y ∈ I.
例 4 (1) R と {0} は R のイデアル。これらを 自明なイデアルという。
(2) nZ = {n ·m | m ∈ Z} は Z のイデアル。(3) A4 の中で I = {a, c} はイデアルである。(4) 多項式環 R = k[x] の中で、x2 + 1 の倍数の集合 I = <x2 + 1> はイデアルである。
(5) R の部分環 S が R のイデアルなら R = S である。
(6) R が体ならそのイデアルは自明なものしかない。
定義 1.8 S を R の部分集合とするとき
<S> = {x ∈ R | s1, s2, · · · , sn ∈ S と r1, r2, · · · , rn ∈ Rが存在して x = r1s1 + r2s2 + · · ·+ rnsn}
4 第 1章 代数と幾何
とおき、これを S で 生成されたイデアルという。S = {s1, s2, · · · , sk} と有限集合であるとき、<S> を単に
<s1, s2, · · · , sk> あるいは Rs1 + Rs2 + · · ·+ Rsk と書く。一つの要素で生成されるイデアル <a> = Ra を 単項
イデアルという。
注 2 < S > は R のイデアルである。
例 5 Zでは、<n> = nZ。
定義 1.9 (剰余類) R を環、I をそのイデアルとするとき、a ∈ R に対して
[a] = {x ∈ R | x− a ∈ I}
と書き、これを a の 剰余類と呼ぶ。また、全ての剰余類の集合 ( 剰余集合)を
R/I = {[a] | a ∈ R}
と書く。
注 3 [a] = {a + x ∈ R | x ∈ I} であるので、これを a + I と書くことがある。
例 6 (剰余類の例) (1) Z/2Z = {[0], [1]}, [0] = {· · · ,−2, 0, 2, 4, · · · }, [1] = {· · · ,−1, 1, 3, 5, · · · }.(2) Z/4Z = {[0], [1], [2], [3]}, [0] = {· · · ,−4, 0, 4, 8, · · · }.(3) k[x]/<x2 + 1>, [0] = {a(x2 + 1) ∈ k[x] | a ∈ k}.
命題 1.10 (剰余類の性質) 以下の条件は全て同値である。
(1) a− b ∈ I.
(2) [a] ∩ [b] 6= φ.
(3) [a] = [b].
(4) a ∈ [b].
定義 1.11 (1) x を剰余類 x ∈ R/I とするとき、a ∈ x となる a を x の 代表元 という。
(2) a1, a2, · · · ∈ R について、[a1] ∪ [a2] ∪ · · · = R かつ、各 [a1], [a2], · · · に交わりがないとき、{a1, a2, · · · }を R/I の 代表系という。
(3) 写像 π : R → R/I, a 7→ [a] を 標準射影 という。
例 7 (代表系の例) (1) {0, 1} は Z/2Z の代表系である。(2) {0, 1, 2, 3} は Z/4Z の代表系である。(3) {a + bx ∈ k[x] | a ∈ k, b ∈ k} は k[x]/<x2 + 1> の代表系である。
定義 1.12 (剰余環) R を環、I をその Rと異なるイデアルとするとき、R/I に演算 +, · と元 0, 1 を次のように定
義する。(これを 剰余環という。)
(1) x + y = [a + b] だだし、a ∈ x, b ∈ y とする。
(2) x · y = [a · b] だだし、a ∈ x, b ∈ y とする。
(3) 0 = [0] とする。
(4) 1 = [1] とする。
定理 1.13 (R/I, +, ·, 0, 1) は環をなす。標準射影 π : R → R/I, a 7→ [a] は準同型である。
例 8 (剰余環の例) (1) Z/2Z = {[0], [1]},+ [0] [1]
[0] [0] [1]
[1] [1] [0]
· [0] [1]
[0] [0] [0]
[1] [0] [1]
1 環と体 5
(2) Z/4Z = {[0], [1], [2], [3]},
+ [0] [1] [2] [3]
[0] [0] [1] [2] [3]
[1] [1] [2] [3] [0]
[2] [2] [3] [0] [1]
[3] [3] [0] [1] [2]
.
· [0] [1] [2] [3]
[0] [0] [0] [0] [0]
[1] [0] [1] [2] [3]
[2] [0] [2] [0] [2]
[3] [0] [3] [2] [1]
.
(3) R[x]/<x2 + 1> = {a + bi | a, b ∈ R}, i = [x].
0 = 0 + 0i,
1 = 1 + 0i,
(a + bi) + (c + di) = (a + c) + (b + d)i,
(a + bi) · (c + di) = (ac− bd) + (ad + bc)i.
定義 1.14 (核, 像) f : R → S を環の準同型とするとき、
(1) Imf = {f(x) ∈ S | x ∈ R} を f の 像 (image)という。
(2) Kerf = {x ∈ R | f(x) = 0} を f の 核 (kernel)という。
命題 1.15 (1) Imf は S の部分環である。
(2) Kerf は R のイデアルである。
定理 1.16 (準同型定理) f : R → S を環の準同型とするとき、
f : R/Kerf → Imf,[a] 7→ f(a).
は同型写像である。
[証明] 証明すべき事は (1) well-defined、(2) 全射、(3) 単射、(4) 準同型性である。¤
系 1.17 (1) Z/2Z ∼= A2.
(2) Z/4Z ∼= A4.
(3) R[x]/<x2 + 1> ∼= C.
1.4 素イデアルと極大イデアル
定義 1.18 (整域) 環 R が次の条件を満たすとき、 整域という。
∀a, b ∈ R a · b = 0 =⇒ a = 0 ∨ b = 0.
定理 1.19 体は整域である。
定義 1.20 (素イデアル) R と異なるイデアル I ⊂ R が次の条件を満たすとき、 素イデアルという。
∀a, b ∈ R a · b ∈ I =⇒ a ∈ I ∨ b ∈ I.
命題 1.21 イデアル I ⊂ R に対して R/I が整域であるための必要十分条件は I が素イデアルことである。
例 9 (1) R = Z, I = 3Z のとき、I は素イデアル。
(2) R = Z, I = 4Z のとき、I は素イデアルでない。
定義 1.22 (極大イデアル) R と異なるイデアル I ⊂ R が次の条件を満たすとき、 極大イデアルという。
I ⊂ J ⊂ Rとなるイデアル J は J = I または J = Rのみである。
6 第 1章 代数と幾何
定理 1.23 剰余環 R/I が体である必要十分条件は I が極大イデアルであることである。
[証明]
•(必要性)R/I 6= {0} より R 6= I。また、J を I より真に大きい R のイデアルとする。a ∈ J − I をと
ると a 6∈ I なので、 [a] 6= 0 ここで R/I が体であることから [a] の逆元 [b] が存在する。[a][b] = [1] より
[ab− 1] = 0 ゆえに ab− 1 ∈ I ⊂ J。一方 ab ∈ J であるから、1 ∈ J が言える。よって J = R。
•(十分性)I が極大イデアルだと仮定する。I 6= R より R/I は環である。今、[a] ∈ R/I, [a] 6= 0 を任意にと
ると、a 6∈ I より <a, I> = R。よってある r ∈ Rと s ∈ I で ra + s = 1 となる。このとき、[r][a] = [1] = 1
すなわち [r] は [a] の逆元となっている。
¤
例 10 (極大イデアルの例) (1) 3Z は Z の極大イデアル。よって Z/3Z は体。(2) R[x]/<x2 + 1> ∼= C は体。よって <x2 + 1> は R[x] の極大イデアル。
定義 1.24 p を素数とするとき、Z/pZ を Fp と書き、標数 p の 素体という。
系 1.25 極大イデアルは素イデアルである。
定義 1.26 (単元, 可逆元) 環 R の要素で逆元を持つものを 単元あるいは 可逆元 という。単元全体を R× と書く。
注 4 (1) Rが体 ⇐⇒ R× = R− {0}。(2) Rが体 ⇒ (R[x])× = R×。
§2 1変数多項式環
2.1 定義
今後 k は体とする。実際には k = Q, R, C と思っていてよい。
定義 2.1 (多項式環) k[x] = {amxm + am−1xm−1 + · · · + a0 | ∀i ai ∈ k, m ∈ N} に通常の和と積を定義したもの
を、(1変数) 多項式環という。
注 5 N = Z≥0 = {0以上の整数 }.
定義 2.2 多項式 f = amxm + am−1xm−1 + · · ·+ a0, (am 6= 0) について、次のように定義する。
• deg(f) = m · · · 次数 (degree)
• LC(f) = am · · · 先頭係数 (leading coefficient)
• LM(f) = xm · · · 先頭単項式 (leading monomial)
• LT(f) = amxm · · · 先頭項 (leading term)
• RT(f) = f − LT(f) · · · 残余 (rest term)
命題 2.3 f, g 6= 0 について
(1) deg(fg) = deg(f) + deg(g).
(2) f + g 6= 0 ⇒ deg(f + g) ≤ max{deg(f), deg(g)}.(3) f + g 6= 0かつdeg(f) 6= deg(g) ⇒ deg(f + g) = max{deg(f), deg(g)}.
2 1変数多項式環 7
2.2 割り算アルゴリズム
定義 2.4 (整除) f, g ∈ k[x], g 6= 0 とする。ある q ∈ k[x] が存在して f = g · q となるとき g は f を 割り切ると
いい、g|f と書く。また、q = f/g と書き、これを f の g による 商と言う。
補題 2.5 f, g 6= 0 とする。
(1) deg(g) ≤ deg(f) ⇐⇒ LT(g)|LT(f).
(2) deg(g) ≤ deg(f), h = f − LT(f)LT(g)
g ⇒ h = 0 ∨ (h 6= 0 ∧ deg(f) > deg(h)).
定理 2.6 (割り算アルゴリズム) f, g ∈ k[x], g 6= 0 とする。f の g による 割り算とは次の条件を満たすものであ
り、以下に述べるアルゴリズムで得ることができる。
(1) f = g · q + r, q, r ∈ k[x].
(2) r = 0 ∨ (r 6= 0 ∧ deg r < deg g).
Input : f, gOutput : q, r
q := 0; r := fWHILE r != 0 AND LT(g) | LT(r) DOq := q + LT(r) / LT(g)r := r - ( LT(r) / LT(g) ) * g
また、(1), (2) を満たす q, r は一意である。
例 11 f = x3 + 2x2 + x + 1 を g = 2x + 1 で割る過程を示す。1/2x^2 + 3/4x + 1/8 ... 商
-------------------------2x + 1 |x^3 + 2x^2 + x + 1
x^3 + 1/2x^2-------------------------
3/2x^2 + x + 13/2x^2 + 3/4x-------------------
1/4x + 11/4x + 1/8
---7/8 ... 余り
定義 2.7 (商と余り) 上のアルゴリズムで求めた q, r に対し、q を 商と言い、f div g あるいは quotient(f, g)と書
く。また、r を 余りあるいは 剰余と言い、f mod g あるいは ramainder(f, g)と書く。
[証明][定理 2.6] 略。¤
系 2.8 g|f ⇐⇒ f mod g = 0.
[証明] ⇐ は明らか。 ⇒ は、定理 2.6の一意性より得られる。¤
系 2.9 (因数定理) (1) f mod (x− a) = f(a).
(2) (x− a)|f ⇐⇒ f(a) = 0.
系 2.10 (根の数) f(x) = 0 の根の数は deg f 以下である。
定理 2.11 (1変数多項式環のイデアルの性質) k[x] の任意のイデアルは単項イデアルである。
8 第 1章 代数と幾何
[証明] I を k[x] の {0} でない任意のイデアルとする。I −{0} の中で deg が最小のものを h とすると、I = <h> で
ある。なぜなら、<h> ⊂ I は明らか。I ⊂ <h> は、任意の f ∈ I について、r = f mod h とすると、r ∈ I。もし
r 6= 0 なら、deg r < deg h となって deg h の最小性に矛盾。よって r = 0 がいえるから h|f。すなわち f ∈ <h>。
すなわち I ⊂ <h> 。¤
定義 2.12 (単項イデアル整域, PID) 任意のイデアルが単項イデアルである整域を単項イデアル整域あるいは、PID
(Principal Ideal Domain)と言う。
2.3 GCD
定義 2.13 f, g ∈ k[x] について、f, g の 最大公約数 GCD(f, g) (gratest common devisor) とは、以下の条件を
満たす h のことを言う。
(1) h|f, h|g.
(2) ∀p (p|f, p|g ⇒ p|h).
定理 2.14 (ユークリッドの互除法) f, g ∈ k[x] について以下が成り立つ。
(1) GCD(f, g) が存在して k[x] の単元を除いて一意である。
(2) <f, g> = <GCD(f, g)>.
(3) 次のアルゴリズムで GCD(f, g) を求める事ができる。
Input : f, gOutput : h
h := fs := gWHILE s != 0 DO
r := remainder(h, s)h := ss := r
[証明] (1), (2): イデアル <f, g> は単項イデアルなので、<f, g> = <h> となる h が存在する。この h は f と g
の GCD である。なぜなら、f, g ∈ <h> より、h|f, h|g。また、もし p|f, p|g ならば、<f, g> ⊂ <p>。よって
p|h。また、h, h′ が GCD なら h|h′かつ h′|h なので、h′ は h の単元倍しか違わない。
(3): 略。¤
例 12 (1) GCD(x4 − 1, x6 − 1) = x2 − 1.
(2) GCD(x5 + 2x3 + x, x4 + x2 − x) = x.
定義 2.15 (素) f, g ∈ k[x] が素であるとは、「h|f かつ h|g ならば h は単元」が言える事である。すなわち、
GCD(f, g) が単元であることである。すなわち、deg GCD(f, g) = 0 であることである。
定理 2.16 f, g, h ∈ k[x] について、
f |g · hかつ f と g が素、ならば f |h
となる。
[証明] 1 = af + bg となる a, b ∈ k[x] があるので、f |gh より f |bgh = (1− af)h = h− afh。よって fk = h− afh
となる k が存在する。このとき、f · (k + ah) = h すなわち、f |h。¤
2 1変数多項式環 9
定理 2.17 (拡張されたユークリッドの互除法) f, g ∈ k[x] について、
af + bg = GCD(f, g)
となる a, b がdeg a < deg g − deg GCD(f, g),deg b < deg f − deg GCD(f, g).
という条件の下でただ一組存在する。また、a, b は以下のアルゴリズムで求める事ができる:
Input : f, g (!= 0)Output : h, a, b
h, s := f, ga, b, c, d = 1, 0, 0, 1WHILE s != 0 DOq := quotient(h, s)r := h - qsr0 := a - qcr1 := b - qdh, s := s, ra, c := c, r0b, d := d, r1
[証明] (略)¤
例 13 (1) f = x4 − x2, g = x3 − 1 について、GCD(f, g) = x− 1 = (x + 1)f + (−x2 − x− 1)g.
x-------
x^3-1 | x^4-x^2x^4 - x -x - 1------- --------x^2+x | x^3 - 1
x^3-x^2--------x^2 - 1x^2 - x -x-------- --------
x - 1 | -x^2 + x-x^2 + x--------
0
a: x b: x--- --
0| 1 1 | 00 -x -1 x -x - 1- ----- -- --------1 | 0 -x | 1
-x -1 x^2 + x------ --------x + 1 -x^2-x-1
(2) f = x4 − 1, g = x6 − 1 について、GCD(f, g) = x2 − 1 = x2 · f + 1 · g.
(3) f = x5 + 2x3, g = x4 + x2 − x について、GCD(f, g) = x = x2 · f + (−x3 − x− 1) · g.
定義 2.18 f1, f2, · · · , fs の GCD は次の条件を満たす h である。
10 第 1章 代数と幾何
(1) h|f1, f2, · · · , fs.
(2) p|f1, f2, · · · , fs ⇒ p|h.
この h を GCD(f1, f2, · · · , fs) と書く。
定理 2.19 s ≥ 0, f1, f2, · · · , fs ∈ k[x] について以下が成り立つ。
(1) GCD(f1, f2, · · · , fs) は存在し、単元を除いて一意的。
(2) <GCD(f1, f2, · · · , fs)> = <f1, f2, · · · , fs>.
(3) GCD(f1, f2, · · · , fs) = GCD(f1, GCD(f2, · · · , fs)).
(4) GCD(f1, f2, · · · , fs) を求めるアルゴリズムがある。
[証明] (1), (2): k[x] のイデアル <f1, f2, · · · , fs> は単項イデアルで、その生成元を h とすれば、定理 2.14 と
同じ。
(3), (4): h = GCD(f2, · · · , fs) とすると、(2) より <h> = <f2, · · · , fs> なので、<f1, h> = <f1, <h>> =
<f1, <f2, · · · , fs>> = <f1, f2, · · · , fs>である。GCD の一意性より GCD(f1, h) = GCD(f1, f2, · · · , fs)。
また、これは GCD(f1, f2, · · · , fs) を求めるアルゴリズムを与えている。¤
例 14 GCD(x3 − 3x + 2, x4 − 1, x6 − 1) = GCD(x3 − 3x + 2, x2 − 1) = x− 1.
例 15 (イデアルへの所属問題) x3 + 4x2 + 3x − 1 は <x3 − 3x + 2, x4 − 1, x6 − 1> に属するか?【解答】
x3 + 4x2 + 3x− 1 を x− 1 で割った余りが 7なので、属さない。
2.4 既約元と素元
定義 2.20 (既約元) a ∈ R について、「a の約数は自分自身か 1 のみ」のとき、すなわち「a = bc, (b, c ∈ R) なら
ば b または c は単元」となるとき、a を 既約元という。
例 16 Z における既約元とは素数のことである。
命題 2.21 R = Zあるいは k[x] (k は体) とする。p ∈ R が既約元なら、R/<p> は体である。
[証明] [f ] ∈ R/<p>, [f ] 6= 0 とする。p|f ではないので、GCD(f, p) = 1 である。(なぜなら、h = GCD(f, p) と
すると、h|p, h|f。 h|p より h = 1または h = p。h = p とすると p|f で矛盾。よって h = 1。)よって af + bp = 1
となる a, b ∈ R が存在する。このとき [a][f ] = 1 よって [f ] は [a] の逆元になっている。¤
例 17 F7 = Z/7Z で 3 の逆数をもとめる。
ユークリッドの互除法より、7 + (−2)3 = 1。よって 3−1 = −2 = 5。
例 18 Q[x]/<x2 − 2> で x2 + x + 1 の逆数を求める。
(x− 2)(x2 − 2) + (−x + 3)(x2 + x + 1) = 7. よって [x2 + x + 1]−1 = 17 [−x + 3]。
このことから、1
√22
+√
2 + 1=
17(−√
2 + 3).
定義 2.22 (素元) p ∈ R について「p|(ab), (a, b ∈ R) ならば p|a または p|b」となるとき、p を 素元という。
命題 2.23 p が素元であることと <p> は素イデアルであることは、同値である。
命題 2.24 整域において素元は既約元である。
3 イデアルとアフィン多様体 11
[証明] p を素元、p = ab とする。p|aまたは p|b なので p|a とすれば、p = au となる u ∈ R が存在する。p = pub
よって p(1− ub) = 0 よって ub = 1 すなわち b は単元である。p|b の時も同様。¤
命題 2.25 PID において、既約元は素元である。
[証明] p を既約元とし、p|ab とする。p|a でないとすれば、GCD(p, a) = 1 よりある k, l が存在して pk + la = 1
よって pkb + lab = b また p|ab より p|左辺 すなわち p|b。p|b の場合も同様。以上より p は素元である。¤
注 6 上の命題より、k[x] においては既約元と素元は一致する。(実は k[x1, x2, · · · , xn]においても既約元と素元は
一致する。)
例 19 Z[√−5] = {a+b
√−5 | a, b ∈ Z}では 2, 3, 1+√−5, 1−√−5は既約元であるが、2·3 = (1+
√−5)(1−√−5)
なので、どれも素元ではない。つまり Z[√−5] は PID でない。
§3 イデアルとアフィン多様体
記法 3 (集合の直積) • X × Y = {(x, y) | x ∈ X, y ∈ Y }• X × Y × Z = {(x, y, z) | x ∈ X, y ∈ Y, z ∈ Z}• (X × Y )× Z = X × (Y × Z) = X × Y × Z とみなす。
• Xn = {(x1, x2, · · · , xn) | xi ∈ X}• f : Xn → Y, x = (x1, x2, · · · , xn) に対して f(x) = f(x1, x2, · · · , xn) と書く。
定義 3.1 (アフィン多様体) n を自然数、k を体とする。f1, f2, · · · , fs ∈ k[x1, x2, · · · , xn] に対して
V(f1, f2, · · · , fs) = {a ∈ kn | fi(a) = 0 (1 ≤ i ≤ s)}
を f1, f2, · · · , fs で定義されたアフィン多様体という。
例 20 (1) V(x2 + y2 − 1). -1 -0.5 0.5 1
-1
-0.5
0.5
1
(2) V(xy − x3 + 1).
-3 -2 -1 1 2 3
-1
1
2
3
(3) V(y2 − x3). -2 -1 1 2
-2
-1
1
2
12 第 1章 代数と幾何
(4) V(y2 − x3 − x2). -1 -0.5 0.5 1
-1
-0.5
0.5
1
(5) V(z − x2 − y2).
-2-1
0
1
2
-2
-1
0
12
0
2
4
6
8
-2-1
0
1
2
-2
-1
0
12
(6) V(z2 − x2 − y2).
-2-1
01
2
-2
-1
01
2
0
1
2
-2-1
01
2
-2
-1
01
2
(7) V(x2 − y2z2 + z3).
fi(8) V(x + y + z, x− z, 2x + w).
(9) V(xz, yz).
(10) V(y − x2, z − x3).
00.25
0.50.75
1
0
0.25
0.50.75
1
0
0.25
0.5
0.75
1
00.25
0.50.75
1
0
0.25
0.50.75
1
命題 3.2 V, W ⊂ kn がアフィン多様体なら V ∩W, V ∪W もアフィン多様体である。
[証明] 例として V = V(f1, f2), W = V(g1, g2) とすると、V ∩ W = V(f1, f2, g1, g2), V ∪ W =
V(f1g1, f1g2, f2g1, f2g2) となる。¤
} 問い
(1) V(f1, f2, · · · , fs) 6= φ の判定。(連立 1次方程式での解の存在)
(2) 解を求めるアルゴリズムは存在するか?(連立 1次方程式での掃きだし法と基底)
(3) 次元の定義と決定(行列のランク)
定義 3.3 (基底, 有限生成) 環 R のイデアル I が集合 S で生成されているとき、S を I の 基底 という。基底とし
て有限集合が取れるイデアルは 有限生成 であるという。
3 イデアルとアフィン多様体 13
定義 3.4 イデアル I ⊂ k[x1, x2, · · · , xn] に対し次のように定義し、I で定義された多様体という。
V(I) = {a ∈ kn | f(a) = 0 (∀f ∈ I)}.
命題 3.5 V(<f1, f2, · · · , fs>) = V(f1, f2, · · · , fs). したがって kn の部分集合がアフィン多様体であることと
有限生成イデアルで定義された多様体であることは同値である。
[証明] fi ∈ <f1, f2, · · · , fs> なので、a ∈ V(<f1, f2, · · · , fs>) なら a ∈ V(f1, f2, · · · , fs)。すなわち
V(<f1, f2, · · · , fs>) ⊂ V(f1, f2, · · · , fs) は明らか。逆にすべての i について fi(a) = 0 とすれば、全ての
f =∑
cifi ∈ <f1, f2, · · · , fs> について、f(a) = (∑
cifi)(a) =∑
cifi(a) = 0。よって V(f1, f2, · · · , fs) ⊂V(<f1, f2, · · · , fs>)。¤
例 21 <2x2+3y2−11, x2−y2−3> = <x2−4, y2−1>なので、V(2x2+3y2−11, x2−y2−3) = V(x2−4, y2−1) =
{(±2, ±1)}。つまりこれは、図形をイデアル(の基底)で考える方法を与えている。
定義 3.6 S ⊂ kn を部分集合とするとき
I(S) = {f ∈ k[x1, x2, · · · , xn] | f(a) = 0 (∀a ∈ S)}.
と定義し、これを S の零化イデアルという。
補題 3.7 I(S) は k[x1, x2, · · · , xn] のイデアルである。
[証明] 略。¤
例 22 (1) k2 で I({(0, 0)}) = <x, y>。
(2) kn で I(kn) = {0} となるか?• k が無限体なら、I(kn) = {0} (命題 3.12)。
• k = F2 のとき I(k) = <x(x− 1)>。
(3) I(φ) = k[x1, x2, · · · , xn].
以下、V : {イデアル } −→ {多様体 }.I : {多様体 } −→ {イデアル }.
の関係を調べる。
補題 3.8 (V と I の性質) (1) V ⊂ W ⇒ I(V ) ⊃ I(W ) (V, W は kn の部分集合)
(2) I ⊂ J ⇒ V(I) ⊃ V(J) (I, J は k[x1, x2, · · · , xn] のイデアル)
(3) V ⊂ V(I) ⇐⇒ I(V ) ⊃ I (V は kn の部分集合、I は k[x1, x2, · · · , xn] のイデアル)
[証明] (1), (2) は明らか。(3) は、V ⊂ V(I) ⇐⇒ ∀a ∈ V ∀f ∈ I f(a) = 0 ⇐⇒ ∀f ∈ I ∀a ∈ V f(a) = 0 ⇐⇒I(V ) ⊃ I. ¤
命題 3.9 任意のイデアル I ⊂ k[x1, x2, · · · , xn] について
I ⊂ I(V(I)).
[証明] V(I) ⊂ V(I) なので、補題 3.8(3)を V = V(I) として適用して、I(V(I)) ⊃ I。¤
注 7 I = I(V(I)) は成り立ったり成り立たなかったりする。
14 第 1章 代数と幾何
• 成り立つ例:R3で I = <y−x2, z−x3> とおく。I(V(I)) ⊂ I を示す。f ∈ I(V(I)) = I(V(y−x2, z−x2))
とすると、ある h1, h2 ∈ R[x, y, z], r ∈ R[x] を用いて f = h1(y− x2) + h2(z− x3) + r と書ける。(なぜな
ら、一般に xαyβzγ = xα(x2 + (y − x2))β(x3 + (z − x3))γ と書いて右辺を展開すればよいから。)
よって、V(I) のパラメータ表示 (x, y, z) = (t, t2, t3) t ∈ R を用いると、r(t) = 0 (∀t ∈ R)。よって r = 0。
• 成り立たない例: R2 で I = <x2, y2>とおくと、V(I) = {(0, 0)}なので、I(V(I)) = I({(0, 0)}) = <x, y>。
• k が代数的閉体(任意の 1変数の方程式が解を持つ体)なら、I(V(I)) =√
I が成り立ち、これを強形の零点
定理という。ただし√
I = {f ∈ k | ∃n ∈ Z≥0 fn ∈ I}。
命題 3.10 任意のアフィン多様体 V ⊂ kn について
V = V(I(V )).
[証明] V ⊂ V(I(V )) であること: I(V ) ⊂ I(V ) に補題 3.8(3)を I = I(V ) として適用すると、V ⊂ V(I(V ))。
V ⊃ V(I(V )) であること: V はアフィン多様体なので V = V(I) となるイデアル I がある。命題 3.9 より、
I ⊂ I(V(I)) であり、補題 3.8(2) より、V(I) ⊃ V(I(V(I)))。すなわち V ⊃ V(I(V ))。¤
命題 3.11 V, W をアフィン多様体とする。
(1) V ⊂ W ⇐⇒ I(V ) ⊃ I(W ).
(2) V = W ⇐⇒ I(V ) = I(W ).
(3) I : {アフィン多様体 } → {イデアル } は単射。
[証明] (1) ( ⇒ ) 補題 3.8(1)より。
( ⇐ ) I(V ) ⊃ I(W ) とする。両辺に V をすると、補題 3.8(2) よりV(I(V )) ⊂ V(I(W ))。V, W はアフィン多様
体なので、命題 3.10より V ⊂ W。
(2)は (1) より明らか。(3) は (2) より明らか。¤
命題 3.12 k が無限体なら I(kn) = {0}。
[証明] n = 1 のとき: ∀a ∈ k f(a) = 0 ここでもし f = 0 でなければ、因数定理(系 2.9)より任意の x− a を因数
に持つことになり、矛盾する。よって f = 0。
n = t のとき OK とし、n = t + 1 のときを考える。x = (x1, x2, · · · , xt), y = xt+1 とおく。f ∈ I(kt+1)
は f =∑
n fn(x)yn, fn ∈ k[x1, x2, · · · , xn] と書ける。a = (a1, a2, · · · , at) ∈ kn を一つ取り、F (y) =∑n fn(a)yn ∈ k[y] と置くと、∀b ∈ k F (b) = 0。よって 1変数の場合になり F = 0。すなわち ∀n fn(a) = 0。a は
任意だったから n = t の場合の仮定より fn = 0。よって f = 0。¤
} 問い
• イデアルはいつ有限生成になるか?(いつでも)• f ∈ <f1, f2, · · · , fs> の決定アルゴリズムはあるか?(ある)
• I → I(V(I)) はどうなってるのか?(ほぼわかる)
15
第 2章
Groebner 基底
次のような問題を考えよう:
2次正方行列 A, B があるとする。「AB = E ならば BA = E」を示せ。
これは、もちろん線形代数学の知識があれば「AB = E だから、B = A−1。よって、BA = A−1A = E。」と答え
るだろう。しかし、これはかなり高度な知識であるし、行列の各成分が体の元であることを仮定しているという点
で間違いとも言える。この問題を具体的に書いてみよう。A =
(a b
c d
), B =
(e f
g h
)と置くとすれば、問題は
AB −E =
(ae + bg − 1 af + bh
ce + dg cf + dh− 1
)= 0 から BA−E =
(ae + cf − 1 be + df
ag + ch bg + dh− 1
)= 0 を導けというこ
とだ。
これは純粋に多項式の話であり、中学校の知識で間に合うはずだ。そして証明は、多項式の範囲で、つまり割り算
を用いないで得られるに違いない。
しかし、そういう証明を考えようとすれば、かなり手間と時間がかかり、余程の計算上手でも手に余るだろう。ま
た、結局線形代数で行われた議論をうまく分母を払って焼きなおしたようなものになってしまうだろう。
ところが最近はこの程度のことなら計算機がしてくれる:
require "algebra"P = MPolynomial(Rational)a,b,c,d,e,f,g,h = P.vars("abcdefgh")M = SquareMatrix(P, 2)A, B = M[[a,b],[c,d]], M[[e,f],[g,h]]C, D = A*B - 1, B*A - 1F = C.flattencb = Groebner.basis_coeff(F)puts "F = #{F.inspect}"D.each do |row|
row.each do |g|q, r = g.div_cg(F, cb)puts "#{g} = #{q.inspect} * F" if r.zero?
endend
このプログラムで得られる出力は次のようなものだ。
F = [ae + bg - 1, af + bh, ce + dg, cf + dh - 1]ae + cf - 1 = [dh, -dg, af, -ae + 1] * Fbe + df = [-df, de, bf, -be] * Fag + ch = [-ch, cg, ah, -ag] * Fbg + dh - 1 = [-dh + 1, dg, -af, ae] * F
16 第 2章 Groebner 基底
これはすなわち次のような恒等式が成り立っていることを示している。
ae + cf − 1 = dh · (ae + bg − 1) − dg · (af + bh) + af · (ce + dg) + (−ae + 1) · (cf + dh− 1)be + df = −df · (ae + bg − 1) + de · (af + bh) + bf · (ce + dg) − be · (cf + dh− 1)ag + ch = −ch · (ae + bg − 1) + cg · (af + bh) + ah · (ce + dg) − ag · (cf + dh− 1)bg + dh− 1 = (−dh + 1) · (ae + bg − 1) + dg · (af + bh) − af · (ce + dg) + ae · (cf + dh− 1)
これはまさに AB = E という式から BA = E が「書ける」ことを示している。良く見ると左辺は 2次式なのに、右
辺では一度 4次式にまで持ち上げて計算している。しかし、一度このような式が得られれば、式の証明は展開、整理
するだけだから、容易に証明可能なのだ。すなわち、計算機はブラックボックスではあるが、純粋に発見的な推論に
のみ用いられ、数学的厳密さを損なわせることはない。
かつては、このような式変形は「ひらめき」が必要な一種の職人芸であり、計算の達人にのみが可能な高度な技で
あった。しかし、今では計算機が1秒もかからずにやってしまうのである。
さて、こうしてみると次のような疑問をもつだろう。「計算機の中で何が行われているのか?」、「この問題が解けた
のは偶然なのか?」回答はこうである。「この手の問題を解くアルゴリズムが存在する。」「『この手の問題』が厳密に
定義でき、解けるなら必ず解くことができる。」つまり、背景には式変形に関する一般的な数学的理論があるのであ
る。この 2章ではそれを紹介する。
§1 順序
1.1 順序
定義 1.1 (順序) 集合 X 上の関係 = が 順序である、あるいは (X, =) が 順序集合であるとは
(1) x = x.
(2) x = y, y = z ⇒ x = z.
(3) x = y, y = x ⇒ x = y.
が任意の x, y, z ∈ X について成り立つときに言う。また、さらに
(4) 任意の x, y ∈ X に対して x = y または y = x
が成り立つならば、= は 全順序であると言う。
例 23 (1) N = Z≥0 = {0以上の整数 } とし、= を普通の意味の ≥ と思うと、これは全順序である。(2) N に x = y ⇐⇒ y|x と定義すると、これは順序だが全順序でない。
定義 1.2 (順序の拡張) 集合 X に2つの順序 = と ≥ が与えられていて
α ≥ β ⇒ α = β
が成り立つとき、= は ≥ の 拡張であるという。
例 24 (1) N− {0} に x = y ⇐⇒ y|x と定義すると、普通の順序 ≥ は = の拡張である。
この文章では、2つの順序を同時に考えるとき = 以外に ≥ という記号も使って区別する。しばしば、抽象的、人工的な方を = で表し、伝統的な、標準的な順序の方を ≥ で表す。
定義 1.3 (1) x > y とは x = y かつ x 6= y のこと。
(2) x 5 y とは y = x のこと。
(3) x < y とは x 5 y かつ x 6= y のこと。
2 順序に関するディクソンの補題 17
1.2 積順序
定義 1.4 (Nn の標準的順序) α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) ∈ Nn に対して ≥ を次の様に定義する。
α ≥ β ⇐⇒ ∀i αi ≥ βi
この ≥を Nn の 標準的順序あるいは 自然順序という。
注 8 (Nn, ≥) は順序集合である。n ≥ 2 のとき全順序ではない。
定義 1.5 (積順序) 2つの順序集合 (X, =), (Y, =) に対して、順序集合 (X × Y, =) を次のように定義し 積順序と
言う:
(x1, y1) = (x2, y2) ⇐⇒ x1 = x2 かつ y1 = y2.
注 9 積順序は順序になる。
注 10 Nn の標準的順序 ≥ は、N の標準的順序から、Nn = Nn−1 × N で帰納的に積順序で作ったものである。
§2 順序に関するディクソンの補題
多項式の次数の集合 Nn の性質について調べる。
2.1 Dikson性
定義 2.1 (イデアル) (X, =) を順序集合、A をその部分集合で、次の条件を満たすとき、A は X の イデアルであ
るという。∀a ∈ A∀x ∈ X(x = a ⇒ x ∈ A).
例 25 {n ∈ N | n ≥ 1} は N のイデアル。
定義 2.2 (生成、有限生成) S を順序集合 X の部分集合とする。
(1) X の部分集合 A に対し、ある集合 S ⊂ A が存在して
∀a ∈ A∃s ∈ S a = s.
となるとき、S は A を 張る、 生成する、あるいは S は A の 基底であると言う。
(2) X 部分集合 S に対し、<S> = {x ∈ X | ∃s ∈ S x = s}
とおき、これを S で 生成されたイデアル という。S = {s1, s2, · · · , sk} と有限集合であるとき、<S> を
単に <s1, s2, · · · , sk> と書く。
(3) X 部分集合 A の基底として有限集合が取れるとき A は 有限生成であると言う。
命題 2.3 (1) <S> は X のイデアルである。
(2) S がイデアル ⇐⇒ <S> = S。
(3) S が Aを生成する ⇐⇒ A ⊂ <S>。
[証明] 略。¤
18 第 2章 Groebner 基底
定義 2.4 (Dickson性) 順序集合 (X, =) について、X の任意の部分集合が有限生成であるとき、X は Dickson
的である、あるいは Dickson性を持つ、と言う。
注 11「任意の部分集合が有限生成」のかわりに「任意のイデアルが有限生成」としても同値になる。
例 26 (1) N の標準順序で、その任意の部分集合はその最小元で生成されるから、N は Dickson的である。
(2) N の例 23の (2)の順序では、N は Dickson的でない。
定理 2.5 (Dickson性の同値命題) 順序集合 (X, =) について、次の 3つは同値である。
(1) X は Dickson性を持つ。
(2) X の任意の無限数列 S = (x1, x2, · · · ) には、単調増大な部分無限列が存在する。(3) X の任意の無限数列 S = (x1, x2, · · · ) についてある i, j が存在して i < j かつ xi 5 xj となる。
[証明] (1) ⇒ (2): 仮定より S の有限部分集合 S′ があって、S のどの元も S′ のどれかの元より = となる。S は
無限集合なので、ある S′ の元 i1 があって、xi1 より大きい S の元は無限個。すなわち、S(k) = {xi ∈ S | k < iか
つ xk 5 xi} とおくと、S(i1) は無限集合である。同様にして xi2 を S(i1) を張る有限集合の元のどれかに取ると、
S(i2) も無限集合になる。以下同様に xi3 , xi4 , · · · を取っていけば、xi1 5 xi2 5 xi3 5 xi4 5 · · · となる。(2) ⇒ (3): 明らか。
(3) ⇒ (1): 仮に Dickson 的でないとする。ある X の部分集合 A で有限生成でないものがある。x1 ∈ A
を適当に取ると、{x1} は A を張らないので、ある x2 ∈ A について x1 5 x2 とならない。{x1, x2} も A
を張らないので、x3 ∈ A で x1 5 x3 も x2 5 x3 が成り立たないものが存在する。同様にして一般に xn が
x1 5 xn, x2 5 xn, · · · , xn−1 5 xn のどれも成り立たないように取れる。このとき、S = (x1, x2, · · · ) は、(3) の
条件を満たしていないので矛盾である。¤
定理 2.6 X が Dickson的であるのは次の命題とも同値である。
A1 ⊂ A2 ⊂ A3 ⊂ · · ·を X のイデアルの増大列とすると、必ずある N が存在して、∀n ≥ N An = AN。
[証明] X が Dickson的であるとする。⋃
i Ai はイデアルである。その有限基底 F ⊂ ⋃i Ai を取れば、F の各元毎
にある i が存在して Ai に属する。これらの i の最大のものを n とすると、F ⊂ An となる。この n が求めるもの
である。
X が Dickson的でないとする。A1 = {} とする。既に有限生成イデアルの狭義増大列 A1 $ A2 $ A3 $ · · · $ Ak
が作れているとするとき、X − Ak は空集合でないから、ある x ∈ X − Ak を取って Ak+1 = <Ak ∪ {x}> とおけば、Ak $ Ak+1 である。このようにして作った An, n ≥ 1 は条件を満たさない。¤
定理 2.7 2つの順序集合 (X, =), (Y, =) が Dickson的なら、積順序を与えた (X × Y, =) も Dickson的。
[証明] (x1, y1), (x2, y2), · · · を X×Y の任意の数列とする。X がDickson的なので、定理 2.5の (2)より 1, 2, · · ·の無限部分集合 A で {xi | i ∈ A} が単調増大になるものが取れる。また Y が Dickson的なので、定理 2.5の (3)の
条件より A の要素 i, j (i < j) で、yi 5 yj となるものが存在する。この時、(xi, yi) 5 (xj , yj) が成り立つ。すな
わち、定理 2.5の (3)が成立するので、X × Y は Dickson的。¤
定理 2.8 (Nn の順序に関するディクソンの補題) Nn は標準順序 ≥ に関して Dickson 性を持つ。特に、Nn の任意
のイデアル <A> に対してある有限部分集合 A′ ⊂ A が存在して、<A> = <A′> となる。
[証明] n = 1 のとき:N では標準順序 ≥ は Dickson 的。n = k の時 Dickson 的であるとすると、定理 2.7 より、
Nk+1 = Nk × N の時も Dickson的。以上より、任意の n について Nn Dickson的。
2 順序に関するディクソンの補題 19
任意の集合 A に対して、その有限基底を A′ とすると、A ⊂ <A′> 。両辺のイデアルをとると、命題 2.3 より、
<A> ⊂ <<A′>> = <A′>。A ⊃ A′ なので、<A> = <A′>。¤
2.2 整列性
定義 2.9 (最小元, 極小元) 順序集合 (X, =) の部分集合と A と a ∈ A に対して、
(1)「∀x ∈ A (x = a)」が成り立つとき、a を A の 最小元と言う。
(2)「∀x ∈ A (x < aでない)」が成り立つとき、a を A の 極小元と言う。
注 12 最小元は極小元である。また、全順序集合では極小元は最小元である。
例 27 (N2, ≥) において、A = {(0, 1), (1, 0)} における a = (0, 1) は極小元だが最小元でない。
定義 2.10 (整列順序) 全順序集合 (X, =) において、任意の部分集合が最小限を持つとき = を 整列順序、(X, =)
を整列順序集合と言う。
注 13 全順序集合では、= が整列順序であることと、Dickson的であることは同値である。
例 28 (1) (N, ≥) は整列順序。
(2) (Nn, ≥) は n ≥ 2 のとき整列順序でない。(全順序でないから。)
(3) (Z, ≥) は整列順序でない。
(4) (Q≥0, ≥) は整列順序でない。
2.3 Noether性 (参考)
この小節では、Dickson性より弱い Noether性について調べるが、この後の議論に用いられる事はない。
定義 2.11 (Noether性) (X, =) の任意の空でない部分集合 S が = に関する極小元を S の中に持つとき = はNoether的あるいは Nethoer性を持つという。
補題 2.12 順序集合 (X, =) が Noether 的であるための必要十分条件は全ての X における狭義単調減少列
x1 > x2 > · · · が必ず有限で終わることである。
[証明] (必要性)定義より明らか。(十分性)X のある空でない部分集合 A に極小元がないとする。まず x1 ∈ A を
適当に選ぶ。A に x1 より小さい元は存在する。(そうでなければ x1 は極小元となる。)よってそれを x2 ∈ A とす
る。以下同様に x1 > x2 > x3 > · · · ∈ A が作れるので、仮定に反する。¤
補題 2.13 Dicskon性を持てば Noether性を持つ。
[証明] 補題 2.12より、もし Noether性を持たなければ、その集合には狭義単調減少数列があるが、これはあきらか
に有限な基底はないので Dickson性を持たないから。¤
例 29 Noether 性を持っても Dickson性を持つとは限らない。例えば無限集合 X 上で = を空(任意の x, y ∈ X
について x > y でない)とすると、これは Noether性を持つが Dickson性を持たない。
系 2.14 全順序集合では、順序が Noether性を持つことと Dickson性を持つことは同値である。
20 第 2章 Groebner 基底
[証明] 整列集合であるとする。部分集合の最小元はそれ1つでその部分集合を張っているから Dickson性を持つ。
逆は補題 2.13より。¤
定理 2.15 2つの順序集合 (X, =), (Y, =) が Noether的なら、積順序を与えた (X × Y, =) も Noether的。
[証明] 略。¤
§3 単項式順序と整除
3.1 “単項式”順序
Nn の加法とは、α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) ∈ Nn に対して
α + β = (α1 + β1, α2 + β2, · · · , αn + βn)
と定義されたものとする。
定義 3.1 (両立) (Nn, =) が + と 両立しているとは、
α = β ⇒ ∀γ ∈ Nn α + γ = β + γ
が成り立つことである。
定理 3.2 (Nn, =) を全順序で、+ と両立しているとする。このとき、次の3つの条件は同値である。
(1) = は標準的順序 ≥の拡張である。(2) = は整列順序。(3) ∀α ∈ Nn α = 0.
[証明] (1) ⇒ (2): 任意の A ⊂ Nn について、ディクソンの補題よりある A の ≥ に関する有限基底 A′ ⊂ A が存
在する。A′ の = に関する最小の元を α0 とする。任意の α ∈ A に対して、ある α′ ∈ A′ があって、α ≥ α′。仮定よ
り α = α′ = α0。すなわち α0 は A の = に関する最小元である。よって =は整列順序である。(2) ⇒ (3): 整列順序なのに α < 0 となる α が存在したとすると、α > α + α > α + α + α > · · · となり、この数
列に最小が存在せず矛盾する。
(3) ⇒ (1): α ≥ β とすれば、α− β ∈ Nn よって、仮定より α− β = 0。両辺に β を加えて α = β。よって = は≥ の拡張である。¤
定義 3.3 (単項式順序) Nn の 単項式順序(あるいは単に 項順序)とは、順序であって次の条件を満たすものを言う。
(1) = は標準的順序の拡張である(2) = は Nn の全順序
(3) = は + と 両立する
定理 3.4 Nn の単項式順序は整列順序である。
[証明] 定理 3.2より。¤
3 単項式順序と整除 21
3.2 さまざまな単項式順序
以下、Nn の単項式順序を複数作って行く。
定義 3.5 (辞書式順序, lex, lexcographic order, >lex) α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) とする
とき、α >lex β ⇐⇒ αi, βi を左から見ていって最初の異なる αi, βi で αi > βi.
命題 3.6 lex は単項式順序である。
[証明] 明らか。¤
記法 4 α = (α1, α2, · · · , αn) に対し |α| = ∑αi とおく。
定義 3.7 (次数付き辞書式順序, grlex, graded lexcographic order, >grlex)
α >grlex β ⇐⇒ (|α| > |β|) または (|α| = |β| かつ α >lex β).
命題 3.8 grlex は単項式順序である。
[証明] 明らか。¤
定義 3.9 (次数付き逆辞書式順序, grevlex, graded reverse lexcographic order, >grevlex) α = (α1, α2, · · · , αn),
β = (β1, β2, · · · , βn) とするとき、
α >grevlex β ⇐⇒ (|α| > |β|) または (|α| = |β| かつ αi, βi を右から見ていって最初の異なる αi, βi で αi < βi).
命題 3.10 grevlex は単項式順序である。
[証明] 明らか。¤
例 30 {(0, 0, 3), (2, 0, 2), (1, 2, 1)} を大きい順に並べるlex grlex grevlex
(3, 0, 0) (2, 0, 2) (1, 2, 1)(2, 0, 2) (1, 2, 1) (2, 0, 2)(1, 2, 1) (3, 0, 0) (3, 0, 0)
注 14 N2 では grlex と grevlex は同じである。
3.3 単項式順序
定義 3.11 (単項式) α = (α1, α2, · · · , αn) に対して xα = x1α1x2
α2 · · ·xnαn ∈ k[x1, x2, · · · , xn] とおき、これ
を 単項式と言う。
注 15 xα | xβ ⇐⇒ α ≤ β (標準順序).
定義 3.12 (単項式の順序) Nn に順序 = を一つ定めたとき、α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) ∈ Nn
とするとき、単項式 xα と xβ の間の順序を
xα = xβ ⇐⇒ α = β
と定義する。Nn の単項式順序 = で決められた単項式の順序を単に 単項式順序という。
22 第 2章 Groebner 基底
Nn の単項式順序の定義 3.3より、次が成り立つ。
命題 3.13 (単項式順序) k[x1, x2, · · · , xn] の単項式について、
(1) xα ≥ xβ ⇒ xα = xβ
(2) = は単項式の間の全順序(3) = は積と 両立する(すなわち xα = xβ ⇒ xαxγ = xβxγ が成り立つ)。
例 31 同じ式の単項式の降べき(大きい順)表示
−5x3 + 7x2z2 + 4xy2z + 4z2 (lex)
= 7x2z2 + 4xy2z − 5x3 + 4z2 (grlex)
= 4xy2z + 7x2z2 − 5x3 + 4z2 (grevlex)
定義 3.14 多項式 f =∑
α aαxα について f 6= 0 のとき次のように定義する。
• deg(f) = multideg(f) = max{α | aα 6= 0}. · · · 多重次数
• LC(f) = adeg(f) · · · 先頭係数 (leading coefficient)
• LM(f) = xdeg(f) · · · 先頭単項式 (leading monomial)
• LT(f) = adeg(f)xdeg(f) · · · 先頭項 (leading term)
• RT(f) = f − LT(f) · · · 残余 (rest term)
注 16 LT(f)|LT(g) は deg f ≤ deg g と同値となる。
例 32 f = −5x3 + 7x2z2 + 4xy2z + 4z2 について lex で考えると
• deg(f) = (3, 0, 0)
• LC(f) = −5
• LM(f) = x3
• LT(f) = −5x3
• RT(f) = 7x2z2 + 4xy2z + 4z2
命題 3.15 f, g 6= 0 について
(1) deg(fg) = deg(f) + deg(g).
(2) f + g 6= 0 ⇒ deg(f + g) ≤ max{deg(f), deg(g)}.(3) f + g 6= 0かつdeg(f) 6= deg(g) ⇒ deg(f + g) = max{deg(f), deg(g)}.
3.4 多変数多項式の整除
定理 3.16 (割り算アルゴリズム) 単項式順序 = を選び固定する。f の F = (f1, f2, · · · , fs) による 割り算とは次
の条件を満たすものであり、以下に述べるアルゴリズムで得ることができる。
(1) f = a1f1 + a2f2 + · · ·+ asfs + r. (ai を 商、r を 余りあるいは 剰余という。)
(2)(r = 0) または(r 6= 0 で、全ての i について LT(fi) は r のどの単項式も割ることはない。)
(3) aifi 6= 0 ならば deg(f) ≥ deg(aifi)。
3 単項式順序と整除 23
Input : f, f_1, f_2, ... , f_sOutput : a_1, a_2, ... , a_s, r
a_1 := 0; a_2 = 0; ... ; a_s := 0; r := 0p := fWHILE p != 0 DOi := 1sw := FalseWHILE i <= s AND sw = False DO
IF LT(f_i) divides LT(p) THENa_i := a_i + LT(p) / LT(f_i)p := p - ( LT(p) / LT(f_i) ) * f_isw := True
ELSEi := i + 1
IF sw = False THENr := r + LT(p)P := p - LT(p)
(ただしここで fi を f_i などと書いた。)
例 33 lex での (x2y + xy2 + y2)÷ (xy − 1, y2 − 1) = (x + y, 1) · · ·x + y + 1. の計算過程を示す。xy - 1 | x + y r: x + y + 1y^2 - 1| 1
-----------------x^2y + xy^2 + y^2x^2y - x-----------------
xy^2 + x + y^2xy^2 - y--------------
x + y^2 + y --> xy^2 - 1-------
y + 1 --> y1 --> 10
[証明] 略。ただし、ループの停止性には単項式順序が整列順序であること (定理 3.4)を使う。¤
定義 3.17 ( F, mod F ) f ∈ k[x1, x2, · · · , xn], F = (f1, f2, · · · , ft) に対して f を F で割った余り r を
fFあるいは remainder(f, F ) あるいは f mod F と書く。
定理 3.18 任意の F = (g1, g2, · · · , gt) に対し ( )Fは k 上線形である。
[証明] 略。¤
例 34 (1) F の順番によって、余りが変わる。
(xy2 − x)÷ (xy − 1, y2 − 1) = (y, 0) · · · (−x− y) [lex].(xy2 − x)÷ (y2 − 1, xy − 1) = (x, 0) · · · 0 [lex].
(2) 順序の取り方によって、余りが変わる。(lex と grlex)
(xy + y2)÷ (x + y2) = y · · · (−y3 + y2) [lex].(xy + y2)÷ (x + y2) = 1 · · · (xy − x) [grlex].
(3) 順序の取り方によって、余りが変わる。(x > y と y > x)
(x + y2)÷ (x + y) = 1 · · · (y2 − y) [lex, x > y].(y2 + x)÷ (y + x) = y − x · · · (x2 + x) [lex, y > x].
24 第 2章 Groebner 基底
注 17 f mod F = 0 ならば f ∈ <F> である。一方、例 34の (1)にあるように、f mod F 6= 0 だからといって、
f 6∈ <F> とは言えない。
§4 ヒルベルトの補題とグレブナ基底
これ以降、Nn の標準順序の拡張である単項式順序 = を1つ定めておく。
記法 5 F を k[x1, x2, · · · , xn] の部分集合とするとき
deg(F ) = {deg(f)|f ∈ F, f 6= 0}LT(F ) = {LT(f)|f ∈ F, f 6= 0}LM(F ) = {LM(f)|f ∈ F, f 6= 0}
等々と定義する。
命題 4.1 I がイデアルなら deg(I) も標準順序 ≥ に関するイデアルである。
[証明] (略)。¤
以下、順序のイデアルは標準順序 ≥ によるものとする。} 問い 集合 F ⊂ k[x1, x2, · · · , xn] で生成されるイデアル <F> に対し、一般に deg(<F>) ⊃ < deg(F )> であ
る。では、いったい、いつdeg(<F>) = < deg(F )>
となるか?
例 35 f1 = x3, f2 = x2y + x とし、F = {f1, f2}, <F> = <f1, f2> とおく。x2 = −yf1 + xf2 ∈ <F>. 以下
lex 順序とする。(2, 0) = deg x2 ∈ deg(<F>). 一方、<deg(F )> = < deg(f1), deg(f2)> = <(3, 0), (2, 1)>。
∴ deg x2 6∈ < deg(F )> つまり、deg(<F>) % < deg(F )>。(因みに <F> = <x>である。)
定義 4.2 (グレブナ基底) イデアル I の有限部分集合 G で
deg(I) = < deg(G)>
となるとき G を I の グレブナ基底あるいは 標準基底という。
定理 4.3 イデアル I のグレブナ基底 G は I の基底である。すなわち I = <G> である。
[証明] 定理 3.16のアルゴリズムで f ∈ I を G = (g1, g2, · · · , gt) によって割った商を a1, a2, · · · , at、余りを r
とする。このとき、r = f − a1g1 − · · · − atgt ∈ I。もし r 6= 0 とすると全ての i について deg(gi) 6≤ deg(r)。よっ
て、< deg(G)> 63 deg(r) ∈ deg(I)。これは deg(I) = < deg(G)> と矛盾する。¤
例 36 lex で G = (x + y, y − z) は I = <G> のグレブナ基底である。
[証明] deg(I) ⊂ < deg(x + y), deg(y− z)> をいえばよい。つまり、f ∈ I, f 6= 0 に対して “(1, 0, 0) ≤ deg(f) ま
たは (0, 1, 0) ≤ deg(f)” をいう。仮に、これが否定されるならば LT(f) は z だけの式。よって、f も z だけの式
f(z)。一方 f ∈ I なら f は
x
y
z
=
−t
t
t
上で 0 であるはず。よって f(t) = 0 これは f 6= 0 と矛盾。¤
5 グレブナ基底の性質 25
定理 4.4 (グレブナ基底の存在定理) 体 k 上の多項式環 k[x1, x2, · · · , xn] の任意のイデアル I ( 6= 0) には、グレ
ブナ基底が存在する。
[証明] ディクソンの補題より、イデアル deg(I) には有限な生成元 deg(g1), deg(g2), · · · , deg(gt), (gi ∈ I) が存在
する。G = (g1, g2, · · · , gt) とおけば、<deg(G)> = <deg(g1), deg(g2), · · · , deg(gt)> = deg(I). ¤
定理 4.5 (ヒルベルトの基底定理) 体 k 上の多項式環 k[x1, x2, · · · , xn] の任意のイデアルは有限生成イデアルで
ある。
[証明] 生成元としてそのイデアルのグレブナ基底を取ればよい。¤
系 4.6 I1 ⊂ I2 ⊂ · · · を k[x1, x2, · · · , xn] のイデアルの増大列とするとき、ある i0 が存在して Ii = Ii0 , (∀i ≥ i0)
となる。
[証明] 定理 2.6の証明と同様である。¤
系 4.7 k[x1, x2, · · · , xn] の任意のイデアル I についてV(I) = {x ∈ kn | ∀f ∈ I f(x) = 0} はアフィン多様体である。
§5 グレブナ基底の性質
5.1 正規形
定理 5.1 G = (g1, g2, · · · , gt) をイデアル I のグレブナ基底とすれば、任意の f ∈ k[x1, x2, · · · , xn] に対して
次を満たす r がただ1つ存在する。
(1) r = 0、または r 6= 0 で r のどの単項式の deg も、どの deg(gi) より大きく (≥)ない。
(2) ある g ∈ I が存在して f = g + r となる。
[証明] 存在は G により割り算(定理 3.16)により明らか。
一意性は f = g + r = g′ + r′ とすると r′ − r = g − g′ ∈ I であり、これが 0 でないとすると deg(r − r′) ∈deg(I) ⊂ < deg(G)> = < deg(g1), deg(g2), · · · , deg(gt)>。よってある i で deg(gi) ≤ deg(r′ − r)。これは r ま
たは r′ のある単項式の deg が ≥ deg(gi) となって矛盾である。¤
定義 5.2 (正規形) f ∈ k[x1, x2, · · · , xn] ⊃ I : イデアルで、G = (f1, f2, · · · , ft) が I のグレブナ基底である
とき fGは G の中の fi の順番に依存しない。また、定理 5.1 の条件 (1), (2) を満たす r は f
Gである。これを f
の(G による) 正規形という。
系 5.3 G をイデアル I のグレブナ基底とすると
f ∈ I ⇐⇒ fG
= 0.
[証明] ⇐ は明らか。 ⇒ は f = f + 0 に定理 5.1 を適用して fG
= 0. ¤
} 問い F = (f1, f2, · · · , ft) がグレブナ基底になるのはどんな時か?
26 第 2章 Groebner 基底
5.2 S-多項式
定義 5.4 (S-多項式) xγ を LM(f) と LM(g) の最大公約数とするとき、
S(f, g) =xγ
LT(f)f − xγ
LT(g)g
= f と g の先頭項を相殺させた式
を f と g の S 多項式という。
例 37 grlex で f = x3y2−x2y3 +x, g = 3x4y+y2 を考えると xγ = x4y2, S(f, g) = xf− y3g = −x3y3 +x2− y3
3 .
注 18 (1) deg S(f, g) < deg LCM(LT(f), LT(g)).
(2) deg f = deg g ⇒ deg S(f, g) < deg f .
(3) deg f = deg g ⇒ S(f, g) =f
LC(f)− g
LC(g).
(4) c, c′ ∈ k, c 6= 0, c′ 6= 0 ⇒ S(c · f, c′ · g) = S(f, g).
(5) S(f, g) | S(xαf, xβg).
∵ xδ = deg LCM(LM(xαf), LM(xβg)), xγ = LCM(LM(f), LM(g)) とおくと、S(xαf, xβg) =xδ·xαf
LM(xαf) − xδ·xβgLM(xβg)
= xδ−γ( xγfLM(f) − xγf
LM(g) ) = xδ−γS(f, g)。
定義 5.5 δ ∈ Nn, f1, f2, · · · , ft ∈ k[x1, x2, · · · , xn] に対してイデアル <f1, f2, · · · , ft> の部分空間を
<f1, f2, · · · , ft>δ = {∑i aifi | ∀i deg(aifi) ≤ δ}
と定義する。同様に集合 F ⊂ k[x1, x2, · · · , xn] に対して <F>δ を定義する。
注 19 任意の δ ∈ Nn に対して次が言える。
(1) <F>δ + <G>δ = <F ∪G>δ.
(2) fi | gi (1 ≤ i ≤ t) ⇒ <g1, g2, · · · , gt>δ ⊂ <f1, f2, · · · , ft>δ.
補題 5.6 f ∈ <F>deg f とするとき、次が成り立つ。
(1) <f>δ ⊂ <F>δ, ∀δ ∈ Nn.
(2) deg(f) ∈ <deg(F )>.
[証明] F = (f1, f2, · · · , ft) とすれば、f =∑
i aifi, deg(aifi) ≤ deg f と書ける。
(1) 任意の af ∈ <f>δ (a ∈ k[x1, x2, · · · , xn]) に対して、af =∑
i aaifi, deg(aaifi) ≤ deg af ≤ δ 。よっ
て、af ∈ <F>δ。
(2) LT(f) =∑
deg(aifi)=deg f LT(ai)LT(fi)。よって deg(aifi) = deg f となる i が少なくとも1つ存在するの
で、deg(fi) ≤ deg(f)。¤
注 20 (1) fF
= 0 のとき f ∈ <F>deg f となる。
(2) 上の 2 つの結論は、単に f ∈ <F> という仮定だけからは言えない。(例: f = y, F = (x + y, x), δ =
(0, 1), lex のとき y 6∈ <x + y, x>(0,1) = {0} であり、deg(y) 6∈ < deg(x + y), deg(x)> = <(1, 0)> でも
ある。)
補題 5.7 f1, f2, · · · , ft は全て deg が δ に等しいとする。f =∑
i cifi, (ci ∈ k) について deg f < δ とすれば f
は S(fi, fj) の k 上の線形結合である。
6 ブッフベルガーのアルゴリズム 27
[証明] LC(fi) = 1 としてよい。このとき∑
i cifi = c1(f1 − f2) + (c1 + c2)(f2 − f3) + · · · + (c1 + c2 + · · · +ct−1)(ft−1 − ft) + (c1 + c2 + · · ·+ ct)ft. 各 fi − fi+1 と
∑の deg は δ より小さいので c1 + c2 + · · ·+ ct = 0. ゆ
えに∑
i cifi = c1S(f1, f2) + (c1 + c2)S(f2, f3) + · · ·+ (c1 + c2 + · · ·+ ct−1)S(ft−1, ft). ¤
定義 5.8 F = {f1, f2, · · · , ft} に対して
S(F, F ) = {S(fi, fj) | 1 ≤ i < j ≤ t}T (F ) = F ∪ S(F, F )
とおく。
補題 5.9 F = {f1, f2, · · · , ft}, f ∈ <F>δ, deg f < δ とすれば、ある δ′ < δ が存在して f ∈ <T (F )>δ′。
[証明] f =∑
i aifi, ai ∈ k[x1, x2, · · · , xn], deg(aifi) ≤ δ とする。f =∑
deg(aifi)=δ LT(ai)fi+f ′ と書き直せば、
右辺 f ′ の次数は δ より小さいので、∑の次数も δ より小さい。よって補題 5.7より、
∑は S(LT(ai)fi, LT(aj)fj)
の 1 次結合で書けるが、δ1 = max{deg S(LT(ai)fi, LT(aj)fj) | i < j, deg(aifi) = deg(ajfj) = δ} とおくとδ1 < δ なので、
∑ ∈ <S(LT(ai)fi, LT(aj)fj) | i < j>δ1。一方、注 18(5)より、S(LT(ai)fi, LT(aj)fj) | S(fi, fj)
なので、注 19(2)を使うと、∑ ∈ <S(fi, fj) | i < j>δ1 = <S(F, F )>δ1。また、f ′ も <F>δ2 (δ2 < δ) に含まれ
るので、δ′ = max{δ1, δ2} とおけば f ∈ <S(F, F )>δ′ + <F>δ′ = <T (F )>δ′。¤
定理 5.10 (ブッフベルガーの S ペア判定条件) ある単項式順序を固定する。G = (g1, g2, · · · , gs) がイデアル I
の基底であるとき G が I のグレブナ基底であるための必要十分条件は
S(gi, gj)G
= 0 (全ての i 6= j について)。
[証明] ( ⇒ ) S(gi, gj) ∈ I = <G> より S(gi, gj)G
= 0 (系 5.3より)。
( ⇐ ) S(gi, gj)G
= 0 より、S(gi, gj) ∈ <G>deg S(gi, gj)。補題 5.6(1)より、任意の δ に対して <S(gi, gj)>δ ⊂<G>δ。よって <T (G)>δ = <G>δ が言えている。
ここで、任意の f ∈ I = <G> に対して f ∈ <G>deg f を示す。ある δ が存在して f ∈ <G>δ となるが、定理
3.4より単項式順序は整列順序なので、このような δ のうちで最小なものが存在し、それを改めて δ とする。このと
き deg f ≤ δ であるが、もし deg f < δ とすれば、補題 5.9より、ある δ′ < δ が存在して f ∈ <T (G)>δ′ = <G>δ′
である。これは δ の最小性に矛盾。よって δ = deg f すなわち f ∈ <G>deg f である。
更に補題 5.6(2) が使えば、deg(f) ∈ < deg(G)>。f ∈ I は任意だったから、deg(I) ⊂ < deg(G)> 。よって G は
グレブナ基底である。¤
§6 ブッフベルガーのアルゴリズム
6.1 ブッフベルガーのアルゴリズム
定理 6.1 (ブッフベルガーのアルゴリズム) ブッフベルガーのアルゴリズム I = <f1, f2, · · · , fs> について次のア
ルゴリズムでグレブナ基底を構成できる。
28 第 2章 Groebner 基底
Input: F = (f_1, f_2, ..., f_s)Output: G = (g_1, g_2, ..., g_t) : <F>のグレブナ基底G := FREPEAT
G’ := GFor each pair {p, q}, p != q, in G’ DO
S := S(p, q) mod G’IF S != 0 THEN G := G + (S)
UNTIL G = G’
[証明] (停止性) S(F, F ) = {S(fi, fj)F | 1 ≤ i < j ≤ s} − {0}, T (F ) = F ∪ S(F, F ) とおくと、REPEAT
における G’ から G を作る操作は、G = T (G′) と表される。さて、<deg(Ti(F ))> (i = 0, 1, 2, · · · ) は、イデ
アルの増大列であるから、定理 2.6 より、ある i0 が存在して <deg(Ti(F ))> (i ≥ i0) は全て等しくなる。特に
G0 = Ti0(F ) とおけば < deg(T (G0))> = <deg(G0)>、よって deg(S(G0, G0)) ⊂ <deg(G0)>。ゆえに 0 でない
deg(S(g, g′)G0) (g, g′ ∈ G0) は deg(G0) のいずれかの元より ≥ となるが、このような元は割り算 G0
の定義を考
えると存在しない。よって、S(G0, G0) = {}。これはこの REPEAT が i0 回で停止する事を意味している。
(正当性)またこのとき 定理 5.10 より、G0 = Ti0(F ) は <G0> = <F> のグレブナ基底である。¤
補題 6.2 (1) fF
= 0 ⇒ fF+(g)
= 0.
(2) fF
= f ⇒ fF+(f)
= 0.
(3) fF
= r ⇒ fF+(r)
= 0.
[証明] (1) fF
= 0 なら fF+(g)
を求める定理 5.1の割り算アルゴリズムで、LT(g) による割り算をする直前に sw
が True になる。よって fF+(g)
で起こる割り算は fFのそれと全く同じなので、f
F+(g)= 0。
(2) 割り算アルゴリズム1回目のループで F による商は 0、余り f。よって次に f で割り切る。
(3)余りを求める演算が線形であること (定理 3.18)を利用すると、r = fFならば f − r
F= f
F−rF = fF−r = 0。
よって (1)より f − rF+(r)
= 0。一方、f − rF+(r)
= fF+(r) − rF+(r) = f
F+(r)(∵ rF = rと (2))。∴ f
F+(r)= 0.
¤
定理 6.3 (ブッフベルガーのアルゴリズムの改良版) ブッフベルガーのアルゴリズム次の方法でもグレブナ基底は求
まる。
Input: F = (f_1, f_2, ..., f_s)Output: G = (g_1, g_2, ..., g_t) : <F>のグレブナ基底G := FB := {(i, j) : 1 <= i < j <= s}t := sWHILE B != {} DO
Select (i, j) in BS := S(f_i, f_j) mod GIF S != 0 THEN
t := t + 1f_t := SG := G + (f_t)B := B + {(i, t) : 1 <= i < t}
B := B - {(i, j)}
[証明] (停止性) IFの条件部の S 6= 0が有限回で終わる。なぜなら、S = ftG 6= 0 なら deg(G + (S)) % deg(G)なの
で、IFの本体で deg(G)は真に増加するが、これは定理 2.6より有限で終わらなければならないからである。一方、
WHILEには 1回毎に B の元を 1つ減らす動作が入っているので、WHILEは有限回で停止する。
6 ブッフベルガーのアルゴリズム 29
(正当性) WHILEが停止した時、B に属する (i, j) については、S(fi, fj)G
= 0である。また、B に属さない (i, j)
については、IFの条件部でテストが行われた時の Gを G′ としておく。もし、S(fi, fj)G′
= 0であれば、Gは G′
の右に項を足したものなので、補題 6.2(1)により、S(fi, fj)G
= 0 がいえる。S = S(fi, fj)G′ 6= 0 であれば、補題
6.2(3) より S(fi, fj)G′+(S)
= 0。G は G′ + (S)の右に項を足したものなので、先と同様に S(fi, fj)G
= 0 が成立
する。
以上より、全ての (i, j)について、S(fi, fj)G
= 0 なので、定理 5.10より、Gはグレブナ基底である。¤
例 38 R = k[x, y] で x > y の grlex で考えて
f1 = x3 − 2xy
f2 = x2y − 2y2 + x
とおくとき、I = <f1, f2> のグレブナ基底を求めよ。
[解] I のグレブナ基底は G = {f1, f2, f3, f4, f5}。 但し、
f3 = −x2
f4 = −2xy
f5 = −2y2 + x.
(計算の詳細)
Calculation of Groebner Basis of (grlex):f1 = x^3 - 2xyf2 = x^2y - 2y^2 + x
-----------------------------------------------------------------G = (f1, f2)= (x^3 - 2xy, x^2y - 2y^2 + x)
B = {(1, 2)}
Round 1S(f1, f2) = (y) * f1 - (x) * f2 = -x^2.(-x^2) mod G = -x^2.Description of mod: (null)
New Generator: f3 = -x^2
-----------------------------------------------------------------G = (f1, f2, f3)= (x^3 - 2xy, x^2y - 2y^2 + x, -x^2)
B = {(1, 3), (2, 3)}
Round 2S(f1, f3) = (1) * f1 - (-x) * f3 = -2xy.(-2xy) mod G = -2xy.Description of mod: (null)
New Generator: f4 = -2xy
-----------------------------------------------------------------G = (f1, f2, f3, f4)= (x^3 - 2xy, x^2y - 2y^2 + x, -x^2, -2xy)
B = {(2, 3), (1, 4), (2, 4), (3, 4)}
Round 3S(f2, f3) = (1) * f2 - (-y) * f3 = -2y^2 + x.(-2y^2 + x) mod G = -2y^2 + x.Description of mod: (null)
New Generator: f5 = -2y^2 + x
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5)= (x^3 - 2xy, x^2y - 2y^2 + x, -x^2, -2xy, -2y^2 + x)
B = {(1, 4), (2, 4), (3, 4), (1, 5), (2, 5), (3, 5), (4, 5)}
Round 4S(f1, f4) = (y) * f1 - (-1/2x^2) * f4 = -2xy^2.(-2xy^2) mod G = 0.Description of mod:#1 -2xy^2 => a[4] += y
Round 5S(f2, f4) = (1) * f2 - (-1/2x) * f4 = -2y^2 + x.
30 第 2章 Groebner 基底
(-2y^2 + x) mod G = 0.Description of mod:#1 -2y^2 + x => a[5] += 1
Round 6S(f3, f4) = (-y) * f3 - (-1/2x) * f4 = 0.(0) mod G = 0.
Description of mod: (null)Round 7S(f1, f5) = (y^2) * f1 - (-1/2x^3) * f5 = 1/2x^4 - 2xy^3.(1/2x^4 - 2xy^3) mod G = 0.
Description of mod:#1 1/2x^4 - 2xy^3 => a[1] += 1/2x#2 -2xy^3 + x^2y => a[4] += y^2#3 x^2y => a[4] += -1/2x
Round 8S(f2, f5) = (y) * f2 - (-1/2x^2) * f5 = 1/2x^3 - 2y^3 + xy.(1/2x^3 - 2y^3 + xy) mod G = 0.
Description of mod:#1 1/2x^3 - 2y^3 + xy => a[1] += 1/2#2 -2y^3 + 2xy => a[5] += y#3 xy => a[4] += -1/2
Round 9S(f3, f5) = (-y^2) * f3 - (-1/2x^2) * f5 = 1/2x^3.(1/2x^3) mod G = 0.
Description of mod:#1 1/2x^3 => a[1] += 1/2#2 xy => a[4] += -1/2
Round 10S(f4, f5) = (-1/2y) * f4 - (-1/2x) * f5 = 1/2x^2.(1/2x^2) mod G = 0.
Description of mod:#1 1/2x^2 => a[3] += -1/2
RESULT =================================================================G = (
f1 = x^3 - 2xy,f2 = x^2y - 2y^2 + x,f3 = -x^2,f4 = -2xy,f5 = -2y^2 + x
)
6.2 極小グレブナ基底・簡約グレブナ基底
定義 6.4 (極小グレブナ基底, 簡約グレブナ基底) イデアル I ⊂ k[x1, x2, · · · , xn] のグレブナ基底 G が次の条件
(1), (2) を満たすとき、G は 極小グレブナ基底 であるという。
(1) 任意の p ∈ G について LC(p) = 1。
(2) 任意の p ∈ G について deg(p) 6∈ < deg(G− {p})>。
この (2) の代わりに次の (3) を満たすなら G は 簡約グレブナ基底 であるという。
(3) 任意の p ∈ G について p のどの単項式の deg も < deg(G− {p})> に入らない。
補題 6.5 イデアル I のグレブナ基底を G とするとき、ある p ∈ G に対し deg(p) ∈ < deg(G− {p})> だとすればG− {p} も I のグレブナ基底である。
[証明] deg(I) = < deg(G)> = <deg(G− {p})> より、グレブナ基底の定義から明らか。¤
定理 6.6 (極小グレブナ基底の存在) 任意のイデアル I ∈ k[x1, x2, · · · , xn] について I の極小グレブナ基底が存在
する。
[証明] p ∈ G に対して deg(p) が deg(G− {p}) のどれかより ≥ なら、G := G− {p} として繰り返せばよい。¤
例 39 例 38の極小グレブナ基底を求めよ。すなわち、R = k[x, y] で x > y の grlex で考えて f1 = x3− 2xy, f2 =
x2y − 2y2 + x とするとき、I = <f1, f2> のグレブナ基底を求めると f3 = −x2, f4 = −2xy, f5 = −2y2 + x とし
て、G = (f1, f2, f3, f4, f5) であった。これから極小グレブナ基底を求めよ。
6 ブッフベルガーのアルゴリズム 31
[解] ここでdeg(G) = {(3, 0), (2, 1), (2, 0), (1, 1), (0, 2)}
なので、deg(f3) ≤ deg(f1), deg(f4) ≤ deg(f2) だから、G = <f3, f4, f5> はグレブナ基底として十分であり、係
数を直せば
G = (x2, xy, y2 − 12x)
が極小グレブナ基底である。
注 21 x2 = 2y · xy − 2x · (y2 − 12x) なので、この極小グレブナ基底は基底として冗長性がある。
定理 6.7 (簡約グレブナ基底の存在) 簡約グレブナ基底は次のアルゴリズムで得ることができる。
Input: G = (f_1, f_2, ..., f_s): I の極小グレブナ基底Output: G~ = (g_1, g_2, ..., g_s) : I の簡約グレブナ基底i := 1G~ := GWHILE i <= s DO
f_i’ := f mod(G~ - {f_i})G~ := G~ - {f_i} + {f_i’}i := i + 1
[証明] G は極小グレブナ基底なので deg(f1) 6∈ <deg(G − {f1})>。よって、割り算アルゴリズムを考えればf ′1 = f1
G−{f1} に対して deg(f ′1) = deg(f1)。ゆえに、G̃ = G− {f1} ∪ {f ′1} とおくと、deg(G̃) = deg(G) · · · (∗)となる。また、f ′1 のどの単項式の deg も deg(G− {f1}) = deg(G̃− {f ′1}) のどれとも ≥ となることはない。f ′1 ∈ I
と (∗)より G̃ はグレブナ基底であり、極小グレブナ基底でもある。Gから G̃を作ったように、G̃から G̃(2) を作り、
以下同様に G̃(3), . . . , G̃(s) を作ると、deg(G) = deg(G̃) = · · · = deg(G̃(s)) となる。また、f ′i = fiG̃(i−1)−{fi} の任
意の単項式の deg は < deg(G̃(i−1) − {fi})> = < deg(G̃(s) − {f ′i})> に属さないので、G̃(s) = <f ′1, f ′2, · · · , f ′s>
は簡約グレブナ基底である。¤
例 40 例 39 の G = (x2, xy, y2 − 12x) は I = <G> の簡約グレブナ基底でもある。しかし例えば G′ = (x2 +
xy, xy, y2 − 12x) を取ると、これは I の極小グレブナ基底だが簡約ではない。
定理 6.8 (簡約グレブナ基底の一意性) 簡約グレブナ基底は、単項式順序を固定すれば、各イデアルに対して一意に
決まる。
[証明] G, G̃ を簡約グレブナ基底とする。
• G, G̃ は極小グレブナ基底である。
• G, G̃は極小グレブナ基底であることから deg(G) = deg(G̃)が言える。[証明] p ∈ Gとすれば、< deg(G)> =
<deg(G̃)> より、ある p′ ∈ G̃ が存在して deg(p′) ≤ deg(p)。同様に、ある p′′ ∈ G が存在して deg(p′′) ≤deg(p′) ≤ deg(p)。もし p 6= p′′ なら p′′ ∈ G− {p} なので deg(p) ∈ < deg(p′′)> ⊂ < deg(G− {p})> となって Gの極小性と矛盾する。よって p = p′′。従って deg(p) = deg(p′) ∈ deg(G̃)。以上より deg(G) ⊂ deg(G̃)。
同様に逆向きの包含関係も言え、両辺は一致する。¤
• g ∈ G, g̃ ∈ G̃ に対して deg(g) = deg(g̃) ⇒ g = g̃。[証明] 式 f に現れる単項式の集合を T(f) と
書くことにする。g − g̃ ∈ I より g − g̃G
= 0 · · · (a) である。一方、deg(g) = deg(g̃) より T(g − g̃) ⊂T(RT(g)) ∪ T(RT(g̃)) · · · (b)。ここで T(RT(g)) の各元の deg は、≥ deg(g) とならず、更にまた簡約性よ
り deg(G− {g}) のどれとも ≥ とならないので、deg(G) のどれとも ≥ とならない。同様に T(RT(g̃)) のど
32 第 2章 Groebner 基底
の元の deg も deg(G̃) = deg(G) のどれとも ≥とならない。よって (a)より T(g − g̃) の全ての元の deg は
deg(G) のどれとでも ≥ とならない。よって割り算アルゴリズムより、g − g̃G
= g − g̃ · · · (c) である。(a)と
(c) より g − g̃ = 0。¤
• 以上より G = G̃ が言える。
¤
系 6.9 (イデアルの同一性判定アルゴリズム) 2つのイデアルが一致することはそれぞれの簡約グレブナ基底が一致
することと同値である。
33
第 3章
Groebner 基底の応用
§1 計算の実例
1.1 連立1次方程式
次の連立 1次方程式を考える
3 −6 −2 02 −4 0 41 −2 −1 −1
xyzw
= 0. (3.1)
これはイデアル
I = <3x− 6y − 2z, 2x− 4y + 4w, x− 2y − z − w> (3.2)
を考えることと同じ。これのグレブナ基底を定理 6.3の方法で求める。
グレブナ基底は (lexで)
G = (3x− 6y − 2z, 2x− 4y + 4w, x− 2y − z − w, z + 3w)
である。計算の詳細は以下の通り:
Calculation of Groebner Basis of (lex):f1 = 3x - 6y - 2zf2 = 2x - 4y + 4wf3 = x - 2y - z - w
-----------------------------------------------------------------G = (f1, f2, f3)= (3x - 6y - 2z, 2x - 4y + 4w, x - 2y - z - w)
B = {(1, 2), (1, 3), (2, 3)}
Round 1S(f1, f2) = (1/3) * f1 - (1/2) * f2 = -2/3z - 2w.(-2/3z - 2w) mod G = -2/3z - 2w.New Generator: f4 = -2/3z - 2w
-----------------------------------------------------------------G = (f1, f2, f3, f4)= (3x - 6y - 2z, 2x - 4y + 4w, x - 2y - z - w, -2/3z - 2w)
B = {(1, 3), (2, 3), (1, 4), (2, 4), (3, 4)}
Round 2S(f1, f3) = (1/3) * f1 - (1) * f3 = 1/3z + w.(1/3z + w) mod G = 0.Round 3S(f2, f3) = (1/2) * f2 - (1) * f3 = z + 3w.(z + 3w) mod G = 0.Round 4S(f1, f4) = (1/3z) * f1 - (-3/2x) * f4 = -3xw - 2yz - 2/3z^2.(-3xw - 2yz - 2/3z^2) mod G = 0.Round 5S(f2, f4) = (1/2z) * f2 - (-3/2x) * f4 = -3xw - 2yz + 2zw.(-3xw - 2yz + 2zw) mod G = 0.Round 6S(f3, f4) = (z) * f3 - (-3/2x) * f4 = -3xw - 2yz - z^2 - zw.
34 第 3章 Groebner 基底の応用
(-3xw - 2yz - z^2 - zw) mod G = 0.
RESULT =================================================================G = (
f1 = 3x - 6y - 2z,f2 = 2x - 4y + 4w,f3 = x - 2y - z - w,f4 = -2/3z - 2w
)
LT(G) = (3x, 2x, x, z) なので、極小グレブナ基底は
G = (x− 2y − z − w, z + 3w)
x− 2y − z − w(z+3w) = x− 2y + 2w, z + 3w
(x−2y−z−w) = z + 3w なので、簡約グレブナ基底は
G = (x− 2y + 2w, z + 3w)
である。
そして、
(1) 極小グレブナ基底を求める ⇐⇒ 掃きだし法で次のような階段行列に変形する:
1 −2 −1 −10 0 1 30 0 0 0
xyzw
= 0.
(2) 簡約グレブナ基底を求める ⇐⇒ 更に全ての式は他の先頭項による消去がなされている
⇐⇒ 掃きだし法で次のような階段行列に変形する:
1 −2 0 20 0 1 30 0 0 0
xyzw
= 0.
1.2 イデアル所属問題
有限集合 G が I のグレブナ基底なら、f ∈ I であるための必要十分条件は fG
= 0 である。
これを利用してイデアル I = <x3− 2xy, x2y− 2y2 +x> に対して、x2 +2y3 と x2 +2y3 + y の所属問題を解く。
前章の例 40より、I の x > y > z による grlexでの(簡約)グレブナ基底 G = <x2, xy, y2 − 12x> で割り算し
て考えればよい。x2 + 2y3G
= 0 より x2 + 2y3 ∈ I。また、x2 + 2y3 + yG
= y 6= 0 より x2 + 2y3 + y 6∈ I。
1.3 多次元多元連立方程式の解法
連立方程式
x2 + y2 + z2 = 1x2 + z2 = yx = z
を機械的に解く。I = <f1, f2, f3>, f1 = x2 + y2 + z2 − 1, f2 = x2 + z2 − y, f3 = x− z とおき、I のグレブナ
基底を求める。F = (x2 + y2 + z2 − 1, x2 + z2 − y, x− z)
から、x > y > z による lex グレブナ基底を求めると、
G = (x2 + y2 + z2 − 1, x2 + z2 − y, x− y, y2 + y − 1, −y + 2z2, 4z4 + 2z2 − 1).
計算の詳細は以下の通り:
1 計算の実例 35
Calculation of Groebner Basis of (lex):f1 = x^2 + y^2 + z^2 - 1f2 = x^2 - y + z^2f3 = x - z
-----------------------------------------------------------------G = (f1, f2, f3)= (x^2 + y^2 + z^2 - 1, x^2 - y + z^2, x - z)
B = {(1, 2), (1, 3), (2, 3)}
Round 1S(f1, f2) = (1) * f1 - (1) * f2 = y^2 + y - 1.(y^2 + y - 1) mod G = y^2 + y - 1.New Generator: f4 = y^2 + y - 1
-----------------------------------------------------------------G = (f1, f2, f3, f4)= (x^2 + y^2 + z^2 - 1, x^2 - y + z^2, x - z, y^2 + y - 1)
B = {(1, 3), (2, 3), (1, 4), (2, 4), (3, 4)}
Round 2S(f1, f3) = (1) * f1 - (x) * f3 = xz + y^2 + z^2 - 1.(xz + y^2 + z^2 - 1) mod G = -y + 2z^2.New Generator: f5 = -y + 2z^2
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5)= (x^2 + y^2 + z^2 - 1, x^2 - y + z^2, x - z, y^2 + y - 1, -y + 2z^2)
B = {(2, 3), (1, 4), (2, 4), (3, 4), (1, 5), (2, 5), (3, 5), (4, 5)}
Round 3S(f2, f3) = (1) * f2 - (x) * f3 = xz - y + z^2.(xz - y + z^2) mod G = 0.Round 4S(f1, f4) = (y^2) * f1 - (x^2) * f4 = -x^2y + x^2 + y^4 + y^2z^2 - y^2.(-x^2y + x^2 + y^4 + y^2z^2 - y^2) mod G = 0.Round 5S(f2, f4) = (y^2) * f2 - (x^2) * f4 = -x^2y + x^2 - y^3 + y^2z^2.(-x^2y + x^2 - y^3 + y^2z^2) mod G = 0.Round 6S(f3, f4) = (y^2) * f3 - (x) * f4 = -xy + x - y^2z.(-xy + x - y^2z) mod G = 0.Round 7S(f1, f5) = (y) * f1 - (-x^2) * f5 = 2x^2z^2 + y^3 + yz^2 - y.(2x^2z^2 + y^3 + yz^2 - y) mod G = 4z^4 + 2z^2 - 1.New Generator: f6 = 4z^4 + 2z^2 - 1
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5, f6)= (x^2 + y^2 + z^2 - 1, x^2 - y + z^2, x - z, y^2 + y - 1, -y + 2z^2, 4z^4 + 2z^2 - 1)
B = {(2, 5), (3, 5), (4, 5), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6)}
Round 8S(f2, f5) = (y) * f2 - (-x^2) * f5 = 2x^2z^2 - y^2 + yz^2.(2x^2z^2 - y^2 + yz^2) mod G = 0.Round 9S(f3, f5) = (y) * f3 - (-x) * f5 = 2xz^2 - yz.(2xz^2 - yz) mod G = 0.Round 10S(f4, f5) = (1) * f4 - (-y) * f5 = 2yz^2 + y - 1.(2yz^2 + y - 1) mod G = 0.Round 11S(f1, f6) = (z^4) * f1 - (1/4x^2) * f6 = -1/2x^2z^2 + 1/4x^2 + y^2z^4 + z^6 - z^4.(-1/2x^2z^2 + 1/4x^2 + y^2z^4 + z^6 - z^4) mod G = 0.Round 12S(f2, f6) = (z^4) * f2 - (1/4x^2) * f6 = -1/2x^2z^2 + 1/4x^2 - yz^4 + z^6.(-1/2x^2z^2 + 1/4x^2 - yz^4 + z^6) mod G = 0.Round 13S(f3, f6) = (z^4) * f3 - (1/4x) * f6 = -1/2xz^2 + 1/4x - z^5.(-1/2xz^2 + 1/4x - z^5) mod G = 0.Round 14S(f4, f6) = (z^4) * f4 - (1/4y^2) * f6 = -1/2y^2z^2 + 1/4y^2 + yz^4 - z^4.(-1/2y^2z^2 + 1/4y^2 + yz^4 - z^4) mod G = 0.Round 15S(f5, f6) = (-z^4) * f5 - (1/4y) * f6 = -1/2yz^2 + 1/4y - 2z^6.(-1/2yz^2 + 1/4y - 2z^6) mod G = 0.
RESULT =================================================================G = (f1 = x^2 + y^2 + z^2 - 1,f2 = x^2 - y + z^2,f3 = x - z,f4 = y^2 + y - 1,f5 = -y + 2z^2,f6 = 4z^4 + 2z^2 - 1
)
36 第 3章 Groebner 基底の応用
更に極小グレブナ基底は
G = (f3, f5, f6) = (x− z, y − 2z2, z4 +12z2 − 1
4)
である。LT(G) = (x, y, z4) なのでこれは簡約済み。z4 + 12z2 − 1
4 = 0 より、z の値は求めることができて、
z = ±√−1±√5
4.
これから x, y も求めることができる。
1.4 消去法
定理 1.1 (消去定理 (Elimination Theorem)) I を k[x1, x2, · · · , xn] のイデアル。G を x1 > x2 > · · · > xn
による lex 順序に関する I の Groebner 基底とするとき、G ∩ k[xl, · · · , xn] は k[xl, · · · , xn] のイデアル
I ∩ k[xl, · · · , xn] の Groebner 基底である。
[証明] 任意の f ∈ I ∩ k[xl, · · · , xn] に対して、ある g ∈ G が存在して、LT(g)|LT(f)。このとき LT(f) ∈k[xl, · · · , xn] より、LT(g) ∈ k[xl, · · · , xn] であり、従って順序のつけ方から、g ∈ k[xl, · · · , xn]。 すなわ
ち、g ∈ G ∩ k[xl, · · · , xn] かつ LT(g)|LT(f) となる g が存在している。よって <LT(I ∩ k[xl, · · · , xn])> ⊂<LT(G ∩ k[xl, · · · , xn])>。逆向きの包含関係は明らか。¤
1.5 陰関数表示
曲線のパラメータ表示:
x = t4
y = t3
z = t2
から陰関数表示を求める。
I = <f1, f2, f3>, f1 = t4 − x, f2 = t3 − y, f3 = t2 − z とおき、I の t > x > y > z による lex でのグレブナ
基底を求める。
G = (t4 − x, t3 − y, t2 − z)
からグレブナ基底は、
G = (t4 − x, t3 − y, t2 − z, ty − x, −x + z2, tz − y, −y2 + z3)
である。計算の詳細は:
Calculation of Groebner Basis of (lex):f1 = t^4 - xf2 = t^3 - yf3 = t^2 - z
-----------------------------------------------------------------G = (f1, f2, f3)
= (t^4 - x, t^3 - y, t^2 - z)B = {(1, 2), (1, 3), (2, 3)}
Round 1S(f1, f2) = (1) * f1 - (t) * f2 = ty - x.(ty - x) mod G = ty - x.New Generator: f4 = ty - x
-----------------------------------------------------------------G = (f1, f2, f3, f4)
= (t^4 - x, t^3 - y, t^2 - z, ty - x)B = {(1, 3), (2, 3), (1, 4), (2, 4), (3, 4)}
1 計算の実例 37
Round 2S(f1, f3) = (1) * f1 - (t^2) * f3 = t^2z - x.(t^2z - x) mod G = -x + z^2.New Generator: f5 = -x + z^2
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5)= (t^4 - x, t^3 - y, t^2 - z, ty - x, -x + z^2)
B = {(2, 3), (1, 4), (2, 4), (3, 4), (1, 5), (2, 5), (3, 5), (4, 5)}
Round 3S(f2, f3) = (1) * f2 - (t) * f3 = tz - y.(tz - y) mod G = tz - y.New Generator: f6 = tz - y
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5, f6)= (t^4 - x, t^3 - y, t^2 - z, ty - x, -x + z^2, tz - y)
B = {(1, 4), (2, 4), (3, 4), (1, 5), (2, 5), (3, 5), (4, 5), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6)}
Round 4S(f1, f4) = (y) * f1 - (t^3) * f4 = t^3x - xy.(t^3x - xy) mod G = 0.Round 5S(f2, f4) = (y) * f2 - (t^2) * f4 = t^2x - y^2.(t^2x - y^2) mod G = -y^2 + z^3.New Generator: f7 = -y^2 + z^3
-----------------------------------------------------------------G = (f1, f2, f3, f4, f5, f6, f7)= (t^4 - x, t^3 - y, t^2 - z, ty - x, -x + z^2, tz - y, -y^2 + z^3)
B = {(3, 4), (1, 5), (2, 5), (3, 5), (4, 5), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (1, 7), (2, 7), (3, 7), (4, 7),(5, 7), (6, 7)}
Round 6S(f3, f4) = (y) * f3 - (t) * f4 = tx - yz.(tx - yz) mod G = 0.Round 7S(f1, f5) = (x) * f1 - (-t^4) * f5 = t^4z^2 - x^2.(t^4z^2 - x^2) mod G = 0.Round 8S(f2, f5) = (x) * f2 - (-t^3) * f5 = t^3z^2 - xy.(t^3z^2 - xy) mod G = 0.Round 9S(f3, f5) = (x) * f3 - (-t^2) * f5 = t^2z^2 - xz.(t^2z^2 - xz) mod G = 0.Round 10S(f4, f5) = (x) * f4 - (-ty) * f5 = tyz^2 - x^2.(tyz^2 - x^2) mod G = 0.Round 11S(f1, f6) = (z) * f1 - (t^3) * f6 = t^3y - xz.(t^3y - xz) mod G = 0.Round 12S(f2, f6) = (z) * f2 - (t^2) * f6 = t^2y - yz.(t^2y - yz) mod G = 0.Round 13S(f3, f6) = (z) * f3 - (t) * f6 = ty - z^2.(ty - z^2) mod G = 0.Round 14S(f4, f6) = (z) * f4 - (y) * f6 = -xz + y^2.(-xz + y^2) mod G = 0.Round 15S(f5, f6) = (-tz) * f5 - (x) * f6 = -tz^3 + xy.(-tz^3 + xy) mod G = 0.Round 16S(f1, f7) = (y^2) * f1 - (-t^4) * f7 = t^4z^3 - xy^2.(t^4z^3 - xy^2) mod G = 0.Round 17S(f2, f7) = (y^2) * f2 - (-t^3) * f7 = t^3z^3 - y^3.(t^3z^3 - y^3) mod G = 0.Round 18S(f3, f7) = (y^2) * f3 - (-t^2) * f7 = t^2z^3 - y^2z.(t^2z^3 - y^2z) mod G = 0.Round 19S(f4, f7) = (y) * f4 - (-t) * f7 = tz^3 - xy.(tz^3 - xy) mod G = 0.Round 20S(f5, f7) = (-y^2) * f5 - (-x) * f7 = xz^3 - y^2z^2.(xz^3 - y^2z^2) mod G = 0.Round 21S(f6, f7) = (y^2) * f6 - (-tz) * f7 = tz^4 - y^3.(tz^4 - y^3) mod G = 0.
RESULT =================================================================G = (f1 = t^4 - x,f2 = t^3 - y,
38 第 3章 Groebner 基底の応用
f3 = t^2 - z,f4 = ty - x,f5 = -x + z^2,f6 = tz - y,f7 = -y^2 + z^3
)
LT(G) = (t4, t3, t2, ty, −x, tz, −y2) であるから、更に極小グレブナ基底は
G = (t2 − z, ty − x, x− z2, tz − y, y2 − z3)
である。また、LT(G) = (t2, ty, x, tz, y2) であるから、必要な簡約は ty − x(t2−z, x−z2, tz−y, y2−z3) = ty− z2 の
みなので、簡約グレブナ基底は
G = (t2 − z, ty − z2, x− z2, tz − y, y2 − z3)
である。
従って図形は曲線x− z2 = y2 − z3 = 0
に含まれる。
1.6 ラクランジュ乗数法
(問題) x2 + y2 + z2 = 1 という束縛条件の下で f(x, y, z) = x3 + 2xyz − z2 の極値を求めよ。
(解)g(x, y, z) = x2 + y2 + z2 − 1 と置くと λ をある未知数として、
fx = λgx
fy = λgy
fz = λgz
g = 0
すなわち
3x2 + 2yz − 2xλ = 02xz − 2yλ = 0
2xy − 2z − 2zλ = 0x2 + y2 + z2 − 1 = 0
を解けばよい。これらの左辺で生成されるイデアルの Groebner基底を lex, λ > x > y > z で求めると、基底の一つ
として z7 − 17631152z5 + 655
1152z3 − 11288z があるので、これを 0 と置くことにより z が求まり、他の変数の値も求まる。
1.7 3色彩色問題
(問題) 次のグラフの各点に色を塗る。線分で結ばれた2点は必ず異なる色で塗るとするとき、3色で塗ることは
可能か?
x8
x2
x3
x4 x5
x1
x6
x7
1 計算の実例 39
(解)各点に F3 = Z/3Z の元を割り当てる。xi と xj の色が異なることは xi = xj + 1 あるいは xi = xj + 2 で表
現できるので、これは (xi − xj − 1)(xi − xj − 2) = 0 すなわち、
xi2 + xixj + xj
2 − 1 = 0.
と表現できる。これが、(i, j) ∈ Lについて成り立てばよい。ここで、L = {(1, 2), (1, 5), (1, 6), (2, 3), (2, 4), (2, 8),
(3, 4), (3, 8), (4, 5), (4, 7), (5, 6), (5, 7), (6, 7), (7, 8)}である。さて、F = {xi2 +xixj +xj
2−1 | (i, j) ∈ L}と置けば、1つの3色の各塗り分けは、1つの V(<F>) の要素と1対1対応している。x8 の色を 0 に塗って
しまってよいので、F ′ = F ∪ {x8}, V(<F ′>) を考えてもよい。変数に x1 > · · · > x8 で、lex 順序を入れて、
<F ′> の簡約グレブナ基底を求めると G = {x1 − x7, x2 + x8, x3 − x7, x4, x5 + x7, x6, x72 + 2, x8} となる。
V(<F ′>) = V(<G>) が空集合でないことを確かめることができる。
1.8 ヒルベルトの零点定理
定義 1.2 (根基, √ ) I を環 R のイデアルとするとき、
√I = {f ∈ R | ∃n ≥ 0 fn ∈ I}
と定義し、I の根基という。
命題 1.3 (1)√
I は R のイデアルになる。
(2) R を整域とすれば√{0} = {0}。
(3)√
R = R.
(4)√
I = R ⇐⇒ I = R.
[証明] 略。¤
定義 1.4 (代数的閉体) 任意の k上の代数方程式 anxn+an−1xn−1+· · ·+a0 = 0, n > 0, ai ∈ k (0 ≤ i ≤ n), an 6= 0
が k に解を持つとき、k を代数的閉体という。
例 41 (1) 複素数体 Cは代数的閉体である。(代数学の基本定理と呼ばれる。)
(2) F3 は代数的閉体でない。(x2 + 1 = 0に解はない。)
定理 1.5 (ヒルベルトの零点定理 (Hilbert’s Nullstellensatz)) k を代数的閉体、I を R = k[x1, x2, · · · , xn]
のイデアルとするとき、それで定義されるアフィン多様体 V(I) について、以下の事が言える。
(1) V(I) = φ ⇐⇒ I = R.
(2) I(V(I)) =√
I.
[証明] 略。¤
系 1.6 k を代数的閉体とするとき、イデアル (f1, f2, · · · , fs) ⊂ k[x1, x2, · · · , xn]の簡約グレブナ基底が (1)で
なければ、連立方程式 f1 = f2 = · · · = fs = 0には kn 上の解がある。
1.9 3色彩色問題 (再)
1.7 の問題において、最後に V(<G>) が空集合ではないことを言うために、最後に連立方程式を実際に解く必要
があったが、それを回避する方法がある。代数的閉体 C において、3つの色を x3 − 1 = (x− 1)(x2 + x + 1) = 0 の
40 第 3章 Groebner 基底の応用
解、1, ω, ω2 (ここで、ω =−1 +
√−32
) で塗り分ける。xi3 − 1 = xj
3 − 1 = 0 を満たす xi, xj が異なるための必要
十分条件はx2
i + xixj + x2j = 0.
なので、F = {xi3 − 1 | 1 ≤ i ≤ 8} ∪ {x2
i + xixj + x2j | (i, j) ∈ L} ∪ {x8 − 1} で生成されるイデアル <F> の簡約
グレブナ基底を求めると、G = (x1− x7, x2 + x7 + 1, x3− x7, x4− 1, x5 + x7 + 1, x6− 1, x72 + x7 + 1, x8− 1)
となる。G 6= (1) なので、ヒルベルトの基底定理よりV(<G>) は空集合でない。
1.10 垂心の存在
(問題)任意の三角形に垂心が存在する。
(解) 三角形の各頂点を A(a1, a2), B(b1, b2), C(c1, c2) とする。垂心を H(x, y) とすると、AH, BH, CH が
BC, CA, AB とそれぞれ垂直であるという条件は、
f1 = (x− a1)(b1 − c1) + (y − a2)(b2 − c2)f2 = (x− b1)(c1 − a1) + (y − b2)(c2 − a2)f3 = (x− c1)(a1 − b1) + (y − c2)(a2 − b2)
とおくとき、f1 = f2 = f3 = 0である。
また、A, B, C が一直線上に無い条件は、
s =
∣∣∣∣∣∣
1 a1 a2
1 b1 b2
1 c1 c2
∣∣∣∣∣∣
とおくとき s 6= 0 である。ここでは、s− 1 = 0とする。
I = <f1, f2, f3, s− 1> のグレブナ基底を lex, x > y > a1 > a2 > b1 > b2 > c1 > c2 で求めると
g1 = x + a1a2b1 − a1a2c1 − a1b1c2 + a1c1c2 + a22b2
−a22c2 − a2b
21 + a2b1c1 − a2b
22 + a2c
22 + b2
1c2 − b1c1c2 − b1 + b22c2 − b2c
22
g2 = y − a21b1 + a2
1c1 + a1b21 − a1c
21 − a2
2b1 + a22c1
+a2b1b2 + a2b1c2 − a2b2c1 − a2c1c2 − a2 − b21c1 − b1b2c2 + b1c
21 + b2c1c2
g3 = a1b2 − a1c2 − a2b1 + a2c1 + b1c2 − b2c1 − 1
g3 = s− 1なので、g1 = g2 = g3 = 0の解 (x, y)は存在する。
§2 拡張定理
定理 2.1 (拡張定理 (Extension Theorem)) k を代数的閉体、I = <f1, f2, · · · , fs> ⊂ k[x1, x2, · · · , xn] を
イデアル、I1 = I ∩ k[x2, · · · , xn] とする。各 fi を x1 の降べき順に
fi = gi(x2, · · · , xn)xNi1 + · · · .
と書く時、(a2, · · · , an) ∈ V(I1), (a2, · · · , an) 6∈ V(g1, g2, · · · , gs) ならば、ある a1 ∈ k が存在して
(a1, a2, · · · , an) ∈ V(I) となる。
[証明] (略) ¤
系 2.2 k を代数的閉体、I = <f1, f2, · · · , fs> ⊂ k[x1, x2, · · · , xn] をイデアル、I1 = I ∩ k[x2, · · · , xn] とす
る。ある i に対して fi を x1 の降べき順に書くと
fi = c · xN1 + · · · , c ∈ k, c 6= 0, N > 0.
となっているなら、全ての (a2, · · · , an) 6∈ V(g1, g2, · · · , gs) に対し、ある a1 ∈ k が存在して (a1, a2, · · · , an) ∈V(I) となる。
2 拡張定理 41
[証明] 前定理より明らか。¤
43
付録
§1 参考書
グレブナ基底と代数多様体入門 イデアル・多様体・アルゴリズム (上・下)
(著者) コックス/リトル/オシー
(訳者) 落合啓之・示野信一・西山享・室政和・山本敦子
(出版社) 2000年, シュプリンガー・フェアラーク東京
(価格) 上:3800円、下:3900円
共立叢書 現代数学の潮流グレブナー基底とその応用(著者) 丸山正樹
(出版社) 2002年, 共立出版
(価格) 3600円
グレブナー基底(1,2)(著者) コックス/リトル/オシー
(訳者) 大杉英史・北村知徳・日比孝之
(出版社) 2000年, シュプリンガー・フェアラーク東京
(価格) 上:4200円、下:4200円
新数学講座 12 計算数学(著者) 和田秀男
(出版社) 2000年, 朝倉書店
(価格) 3200円
共立講座 21世紀の数学 8 環と体の理論(著者) 酒井文雄
(出版社) 1997年, 共立出版
(価格) 3000円
グレブナー基底の計算 基礎編 計算代数入門
(著者) 野呂正行・横山和弘
(出版社) 2003年, 東京大学出版会
(価格) 4200円
グレブナー基底の計算 実践編 Risa/Asir で解く
(著者) 齋藤友克・竹島卓・平野輝比古
44 付録
(出版社) 2003年, 東京大学出版会
(価格) 4200円
岩波講座 応用数学 [方法 9] 計算代数と計算幾何(著者) 佐々木、今井、浅野、杉原
(出版社) 1993年, 岩波書店
(価格) 3600円
代数学入門第三課(著者) 一松信
(出版社) 1994年, 近代科学社
§2 参考URL
Webページ: http://blade.nagaokaut.ac.jp/~ hara/class/
メール: [email protected]
45
索引
+, 20≥, 16=, 165, 16
fF
, 23< · · ·>δ, 26イデアル, 17
bar, 7
deg, 6, 22deg, 6Dickson性, 18Dickson的, 18div, 7
Fp, 6
GDD, 8, 9grevlex, 21grlex, 21
I, 13
LC, 6, 22lex, 21LM, 6, 22LT, 6, 22
mod , 7mod, 23multideg, 22
N, 6, 16Nethoer性, 19Noether的, 19
PID, 8
/, 7quotient, 7
remainder, 7√, 39
RT, 6, 22
S(−,−), 26S-多項式, 26
V, 11, 13
アフィン多様体, 11余り, 7, 22
因数定理, 7
埋め込み写像, 3
可換環, 1可逆元, 6核, 5拡張, 16拡張されたユークリッドの互除法, 9
環, 1簡約グレブナ基底, 30
基底, 12, 17既約元, 10極小グレブナ基底, 30極小元, 19極大イデアル, 5
グレブナ基底, 24
項順序, 20公理, 1互除法, 8根基, 39
最小元, 19最大公約数, 8
辞書式順序, 21次数付き逆辞書式順序, 21次数付き辞書式順序, 21自然順序, 17自明なイデアル, 3順序, 16順序集合, 16準同型写像, 3商, 7, 22剰余, 7, 22剰余環, 4剰余集合, 4剰余類, 4
整域, 5正規形, 25生成, 17生成されたイデアル, 4, 17整列順序, 19積順序, 17全射, 2全順序, 16全単射, 2
素イデアル, 5像, 5素元, 10素体, 6
体, 1代数的閉体, 39代表系, 4代表元, 4多項式環, 6単元, 6単項イデアル, 4単項イデアル整域, 8単項式, 21単項式順序, 20, 21単射, 2
直積, 11
ディクソンの補題, 18
46 索引
同型, 3同型写像, 3
張る, 17
標準基底, 24標準射影, 4標準的順序, 17ヒルベルトの基底定理, 25ヒルベルトの零点定理, 39
ブッフベルガーのアルゴリズム, 27, 28部分環, 3
包含写像, 3
有限生成, 12, 17
両立, 20, 22
割り切る, 7割り算, 7, 22