113
2018 9 10 日版 Groebner 基底 2018 2 学期現代数学特論) 信一郎 [email protected] http://blade.nagaokaut.ac.jp/ hara/class/groebner/ twitter:hara sin16

Groebner 基底 - blade

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Groebner 基底 - blade

2018年9月10日版

Groebner 基底

(2018年2学期現代数学特論)

原 信一郎

[email protected]

http://blade.nagaokaut.ac.jp/∼hara/class/groebner/

twitter:hara sin16

Page 2: Groebner 基底 - blade

代数と幾何

Page 3: Groebner 基底 - blade

まず最初に代数系の基礎を紹介する。

Page 4: Groebner 基底 - blade

§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 ̸= 0 ならば、ある b ∈ R が存在してa · b = b · a = 1.

Page 5: Groebner 基底 - blade

が成り立つならば、 体であると言う。

記法 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 と書く。(7) a · b−1 を a/b と書く。

注 1

(1) この文書では「環」といえば「可換環」を指すことにする。(2) この文書では「体」といえば0 ̸= 1を仮定する。(3) 環 (R, +, ·, 0, 1) を単に R と書くことがある。

定義 1.2(単元, 可逆元) 環 R の要素で逆元を持つものを 単元あるいは 可逆元 という。単元全体をR× と書く。

注 2(1) Rが体 ⇐⇒ R× = R− {0}。(2) Rが体 ⇒ (R[x])× = R×。

命題 1.3(環の性質) R を環とするとき以下が成り立つ。

(1) R の零元は一意的である。(2) R の単位元は一意的である。(3) a ∈ R の負元は一意的である。

Page 6: Groebner 基底 - blade

(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 としたもの。

Page 7: Groebner 基底 - blade

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。¬P : P でない。

定義 1.4(全射と単射) f : X → Y を写像とするとき、

(1) 「∀y ∈ Y ∃x ∈ Xf(x) = y」が成り立つ時、f は 全射であるという。(2) 「∀x, x′ ∈ X(x ̸= x′ ⇒ f(x) ̸= f(x′))」が成り立つ時、f は 単射であるという。(3) f が全射でかつ単射であるとき f は 全単射という。

定義 1.5(準同型) 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

Page 8: Groebner 基底 - blade

また更に f が全単射であるとき、f は R から S への 同型写像であるという。環 R と S の間に少なくとも一つ同型写像がある時、R と S は 同型 であるといい、R ∼= S と書く。

命題 1.6 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.7(部分環) (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) の部分環。

Page 9: Groebner 基底 - blade

1.3 イデアルと剰余環

定義 1.8(イデアル) 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) 1 ∈ I は I = Rと同値である。(6) R の部分環 S が R のイデアルなら R = S である。(7) R が体ならそのイデアルは自明なものしかない。

定義 1.9 S を R の部分集合とするとき

⟨S ⟩ = {x ∈ R | s1, s2, · · · , sn ∈ S と r1, r2, · · · , rn ∈ Rが存在して x = r1s1 + r2s2 + · · ·+ rnsn}

とおき、これを S で 生成されたイデアルという。S = {s1, s2, · · · , sk} と有限集合であるとき、⟨S ⟩を単に ⟨ s1, s2, · · · , sk ⟩ あるいはRs1 +Rs2 + · · ·+Rsk と書く。一つの要素で生成されるイデアル⟨ a ⟩ = Ra を 単項イデアルという。

注 3 < S > は R のイデアルである。

例 5 Zでは、⟨n ⟩ = nZ。

Page 10: Groebner 基底 - blade

定義 1.10(剰余類) R を環、I をそのイデアルとするとき、a ∈ R に対して

[a] = {x ∈ R | x− a ∈ I}

と書き、これを a の 剰余類と呼ぶ。また、全ての剰余類の集合( 剰余集合)を

R/I = {[a] | a ∈ R}

と書く。

注 4(1) [a] = {a+ x ∈ R | x ∈ I} であるので、これを a+ I と書くことがある。(2) a ∈ [a]である。

例 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[x]}.

命題 1.11(剰余類の性質) 以下の条件は全て同値である。

(1) a− b ∈ I.

(2) [a] ∩ [b] ̸= ϕ.

(3) [a] = [b].

(4) a ∈ [b].

定義 1.12(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] を 標準射影 という。

Page 11: Groebner 基底 - blade

例 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.13(剰余環) 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.14 R を環、I をそのRと異なるイデアルとするとき、(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]

(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+ bx] | a, b ∈ R} = {a+ bi | a, b ∈ R}, a = a · 1, 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.

Page 12: Groebner 基底 - blade

定義 1.15(核, 像) f : R → S を環の準同型とするとき、

(1) Imf = {f(x) ∈ S | x ∈ R} を f の 像(image)という。(2) Kerf = {x ∈ R | f(x) = 0} を f の 核(kernel)という。

命題 1.16(1) Imf は S の部分環である。(2) Kerf は R のイデアルである。

定理 1.17(準同型定理) f : R → S を環の準同型とするとき、

f : R/Kerf → Imf,[a] 7→ f(a).

は同型写像である。

[証明] 証明すべき事は (1) well-defined、(2) 全射、(3) 単射、(4) 準同型性である。�

系 1.18(1) Z/2Z ∼= A2.

(2) Z/4Z ∼= A4.

(3) R[x]/⟨x2 + 1 ⟩ ∼= C.

Page 13: Groebner 基底 - blade

1.4 素イデアルと極大イデアル

定義 1.19(整域) 環 R が次の条件を満たすとき、 整域という。

∀a, b ∈ R a · b = 0 =⇒ a = 0 ∨ b = 0.

定理 1.20 体は整域である。

定義 1.21(素イデアル) R と異なるイデアル I ⊂ R が次の条件を満たすとき、 素イデアルという。

∀a, b ∈ R a · b ∈ I =⇒ a ∈ I ∨ b ∈ I.

命題 1.22 イデアル I ⊂ R に対して R/I が整域であるための必要十分条件は I が素イデアルであることである。

例 9(1) R = Z, I = 3Z のとき、I は素イデアル。(2) R = Z, I = 4Z のとき、I は素イデアルでない。

定義 1.23(極大イデアル) R と異なるイデアル I ⊂ R が次の条件を満たすとき、 極大イデアルという。

I ⊂ J ⊂ RとなるイデアルJはJ = IまたはJ = Rのみである。

定理 1.24 R を環、I をそのRと異なるイデアルとする。剰余環 R/I が体であることは、I が極大イデアルであることの必要十分条件である。

[証明]

•(十分性)R/I が体であるとする。J を I より真に大きい R のイデアルとする。a ∈ J − I をとるとa ̸∈ I なので、 [a] ̸= 0 ここで R/I が体であることから [a] の逆元 [b] が存在する。[a][b] = [1] より[ab− 1] = 0 ゆえに ab− 1 ∈ I ⊂ J。一方 ab ∈ J であるから、1 ∈ J が言える。よって J = R。

Page 14: Groebner 基底 - blade

•(必要性)I が極大イデアルだと仮定する。I ̸= R より R/I は0 ̸= 1の環である。今、[a] ∈ R/I, [a] ̸= 0 を任意にとると、a ̸∈ I より ⟨ a, I ⟩ = R。よってある r ∈ Rとs ∈ I でra+ s = 1 となる。このとき、[r][a] = [1] = 1 すなわち [r] は [a] の逆元となっている。よって、R/I

は、体である。

例 10(極大イデアルの例)(1) 3Z は Z の極大イデアルであり、Z/3Z は体である。(2) 一般に、pを素数とするとき、Z/pZ は体であり、pZ は Z の極大イデアルである。(例18を参照のこと)

(3) R[x]/⟨x2 + 1 ⟩ ∼= C は体。よって ⟨x2 + 1 ⟩ は R[x] の極大イデアル。

定義 1.25 p を素数とするとき、Z/pZ を Fp と書き、標数 p の 素体という。

系 1.26 極大イデアルは素イデアルである。

Page 15: Groebner 基底 - blade

§2 1変数多項式環

2.1 定義

今後 k は体とする。実際には k = Q, R, C と思っていてよい。

定義 2.1(多項式環) k[x] = {amxm + am−1xm−1 + · · ·+ a0 | ∀i ai ∈ k, m ∈ N} に通常の和と積を

定義したものを、k上の(1変数) 多項式環という。

注 5 N = Z≥0 = {0以上の整数}.

定義 2.2 多項式 f = amxm + am−1xm−1 + · · ·+ a0, (am ̸= 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 ̸= 0 について

(1) deg(fg) = deg(f) + deg(g).

(2) f + g ̸= 0 ⇒ deg(f + g) ≤ max{deg(f), deg(g)}.(3) f + g ̸= 0かつdeg(f) ̸= deg(g) ⇒ deg(f + g) = max{deg(f), deg(g)}.

Page 16: Groebner 基底 - blade

2.2 割り算アルゴリズム

定義 2.4(整除) f, g ∈ k[x], g ̸= 0 とする。ある q ∈ k[x] が存在してf = g · q となるとき g は f を割り切るといい、g|f と書く。また、q = f/g と書き、これを f の g による 商と言う。

補題 2.5 f, g ̸= 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 ̸= 0 ∧ deg(f) > deg(h)).

定理 2.6(割り算アルゴリズム) f, g ∈ k[x], g ̸= 0 とする。f の g による 割り算とは次の条件を満たすものであり、以下に述べるアルゴリズムで得ることができる。

(1) f = g · q + r, q, r ∈ k[x].

(2) r = 0 ∨ (r ̸= 0 ∧ deg r < deg g).

Input : f, gOutput : q, rq := 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 は一意である。

[証明]略。�

Page 17: Groebner 基底 - blade

例 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 あるいは remainder(f, g)と書く。

注 6(1) f 7→ (f mod g) は、fに関するk上の線形写像である。(2) h ∈ k[x], h ̸= 0 =⇒ h(f mod g) = (hf) mod (hg).

系 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 以下である。

Page 18: Groebner 基底 - blade

定理 2.11(1変数多項式環のイデアルの性質) k[x] の任意のイデアルは単項イデアルである。

[証明] I を k[x] の {0} でない任意のイデアルとする。I − {0} の中で deg が最小のものをh とすると、I = ⟨h ⟩ である。なぜなら、⟨h ⟩ ⊂ I は明らか。I ⊂ ⟨h ⟩ は、任意の f ∈ I について、r = f mod h

とすると、r ∈ I。もし r ̸= 0 なら、deg r < deg h となって deg h の最小性に矛盾。よってr = 0 がいえるから h|f。すなわち f ∈ ⟨h ⟩。すなわちI ⊂ ⟨h ⟩ 。�

定義 2.12(単項イデアル整域, PID) 任意のイデアルが単項イデアルである整域を単項イデアル整域あるいは、PID (Principal Ideal Domain)と言う。

Page 19: Groebner 基底 - blade

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 : hh := fs := gWHILE s != 0 DOr := 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 の単元倍しか違

Page 20: Groebner 基底 - blade

わない。(3): 略。�

例 12(1) GCD(x4 − 1, x6 − 1) = x2 − 1.

(2) GCD(x5 + 2x3, x4 + x2 − x) = x.

定義 2.15(素) f, g ∈ k[x] が素であるとは、「h|f かつ h|g ならば h は単元」が言える事である。すなわち、GCD(f, g) が単元であることである。これは、degGCD(f, g) = 0、⟨ f, g ⟩ = k[x]、⟨ f, g ⟩ ∋ 1と同値である。

定理 2.16 f, g, h ∈ k[x]、f と g が素とするとき、以下が成り立つ。

(1) f |hかつg|hならば、(fg)|h。(2) f |(gh)ならば f |h。

[証明]

(1) 1 = af + bg となる a, b ∈ k[x] があるので、h = h · 1 = h(af + bg) = ahf + bhgここで、hf, hgがfgで割り切れる。

(2) 同様に、h = ahf + bhgを使って示すことができる。

�k[x]で、deg がnより小さいものと0をあわせて、k[x](n) と書くことにする。

定理 2.17 f, g ∈ k[x]が素であるとする。m = deg f, n = deg g に対して、

ϕ : k[x](m) ⊕ k[x](n) → k[x](m+n)

(u, v) 7→ gu+ fv

Page 21: Groebner 基底 - blade

と定義すると、これはk上のベクトル空間の同型である。

[証明] 前定理(2)より、ϕ は単射であることがわかる。ϕのソースとターゲットの次元は、どちらもk上m+ nなので、ϕは同型である。�

注 7(1) この定理は、次定理の前半を証明する。(2) af + bg = 1となる a, b ∈ k[x]を見つければ、ϕ−1(w) = (bw mod f, aw mod g)である。

定理 2.18(拡張されたユークリッドの互除法) f, g ∈ k[x] について、

af + bg = GCD(f, g)

となる a, b がdeg a < deg g − degGCD(f, g),deg b < deg f − degGCD(f, g).

という条件の下でただ一組存在する。また、a, b は以下のアルゴリズムで求める事ができる:

Page 22: Groebner 基底 - blade

Input : f, g (!= 0)Output : h, a, bh, 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

[証明] (存在) fi =

(fi

fi+1

), Qi =

(0 1

1 −qi

)とおくと、fi+2 = fi − qifi+1 ⇐⇒ fi+1 = Qifi。ここで、

Ri = Qi−1Qi−2 · · ·Q0とおけば、fi = Rif0。Riは、R0 = E, Ri+1 = QiRiで定められ、

Ri =

(ai bi

ai+1 bi+1

)と置けて、ai+2 = ai − qiai+1, bi+2 = bi − qibi+1, fi+2 = aifi + bifi+1 が成り

立つ。さて、f0 = f, f1 = gとおくと、あるnがあって、fn = GCD(f0, f1), fn+1 = 0。すなわち、(GCD(f0, f1)

0

)= fn = Rnf0。このとき、GCD(f0, f1) = anf0 + bnf1, 0 = an+1f0 + bn+1f1 で

ある。また、deg f0 ≥ deg f1を仮定して良く、このとき、deg qi = deg fi − deg fi+1。また、帰納的に、deg ai = deg f1 − deg fi−1 (2 ≤ i ≤ n+ 1) とdeg bi = deg f0 − deg fi−1 (1 ≤ i ≤ n+ 1) が言えるので、

Page 23: Groebner 基底 - blade

i = nとすれば、次数の条件が言える。(一意性) GCD(f, g) = 1としてよい。af + bg = a′f + b′g = 1なら(a− a′)f = (b′ − b)gなので、定理2.16 より、f |(b′ − b), g|(a− a′)よりb′ − b = a− a′ = 0。(多項の場合もOKな別証)

a− a′ = a(a′f + b′g)− a′(af + bg) = (ab′ − a′b)g ≡ 0( mod g)。�

注 8(1) an+1f0 = −bn+1f1 = LCM(f0, f1)となっている。(2) a0 = 1, a1 = 0, a2 = 1, a3 = −q1, a4 = 1 + q2q1, a5 = −q1 − q3 − q3q2q1, a6 =

1 + q2q1 + q4q1 + q4q3 + q4q3q2q1,

b0 = 0, b1 = 1, b2 = −q0, b3 = 1 + q1q0, b4 = −q0 − q2 − q2q1q0, b5 =

1+q1q0+q3q1+q3q2+q3q2q1q0, b6 = −q0−q2−q4−q2q1q0−q4q1q0−q4q3q1−q4q3q2−q4q3q2q1q0.

系 2.19 f, gが素であるとき、以下が成り立つ。

(1)1

fg=

b

f+

a

gとなるa, bで

b

f,a

gが「真分数」になるものが一意に存在する。

(2) deg h < deg f + deg gなら、h

fg=

b

f+

a

gとなるa, bで

b

f,a

gが「真分数」になるものが一意に存在

する。

[証明] (1), (2)共に容易。�

例 13(1) f = x4 − x2, g = x3 − 1 について、GCD(f, g) = x− 1 = (x+ 1)f + (−x2 − x+ 1)g.

Page 24: Groebner 基底 - blade

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

Page 25: Groebner 基底 - blade

各ステージで次が成り立っていることに注目せよ。

x4 − x2 = 1 · (x4 − x2) + 0 · (x3 − 1)x3 − 1 = 0 · (x4 − x2) + 1 · (x3 − 1)−x2 + x = 1 · (x4 − x2) + (−x) · (x3 − 1)x− 1 = (x+ 1) · (x4 − x2) + (−x2 − x− 1) · (x3 − 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 = 13 (2x

2 + x+ 1) · f − 13 (2x

3 + x2 + 3x+ 3) · g.

定義 2.20 f1, f2, · · · , fs の GCD は次の条件を満たす h である。

(1) h|f1, f2, · · · , fs.

(2) ∀p (p|f1, f2, · · · , fs ⇒ p|h).

この h を GCD(f1, f2, · · · , fs) と書く。

定理 2.21 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 と同じ。

Page 26: Groebner 基底 - blade

(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なので、属さない。

Page 27: Groebner 基底 - blade

2.4 既約元と素元

定義 2.22(既約元) a ∈ R について、「a の約数は自分自身か 1 のみ」のとき、すなわち「a = bc, (b, c ∈ R) ならば b または c は単元」となるとき、a を 既約元という。

例 16 Z における既約元とは素数のことである。

命題 2.23 R = Zあるいはk[x] (kは体) とする。p ∈ R が既約元なら、R/⟨ p ⟩ は体である。

[証明] [f ] ∈ R/⟨ p ⟩, [f ] ̸= 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 よって [a] は [f ] の逆元になっている。�

定義 2.24(素元) p ∈ R について「p|(ab), (a, b ∈ R) ならば p|a または p|b」となるとき、p を 素元という。

命題 2.25 p が素元であることと ⟨ p ⟩ は素イデアルであることは、同値である。

命題 2.26 整域において0でない素元は既約元である。

[証明] p ̸= 0 を素元、p = ab とする。p|a または p|b なのでp|a とすれば、pu = a となる u ∈ R が存在する。p = pub よって p(1− ub) = 0 よって ub = 1 すなわちb は単元である。p|b の時も同様。�

命題 2.27 PID において、既約元は素元である。

[証明] p を既約元とし、p|ab かつ p|a でない、とする。PID なので、⟨ p, a ⟩は一つの要素hで生成され、GCD(p, a) = 1 より、h = 1としてよい。よって、ある k, l が存在してpk + la = 1。両辺にbをかけてpkb+ lab = b。また、 p|ab より、p|左辺、 すなわち p|b。p|b でない場合も同様。以上より p は素元で

Page 28: Groebner 基底 - blade

ある。�

注 9 上の命題より、k[x] においては既約元と0でない素元は一致する。(実はk[x1, x2, · · · , xn]においても既約元と0でない素元は一致する。)

例 17 Z[√−5] = {a+ b

√−5 | a, b ∈ Z} では 2, 3, 1 +

√−5, 1−

√−5 は既約元であるが、

2 · 3 = (1 +√−5)(1−

√−5) なので、どれも素元ではない。つまり Z[

√−5] は PID でない。

Page 29: Groebner 基底 - blade

2.5 ユークリッドの互除法の応用

例 18 F7 = Z/7Z で 3 の逆数を求める。拡張されたユークリッドの互除法(整数版)より、7 + (−2)3 = 1。よって、3−1 = −2 = 5。

例 19 Q[x]/⟨x2 − 2 ⟩ で x2 + x+ 1 の逆数を求める。拡張されたユークリッドの互除法より、(x− 2)(x2 − 2) + (−x+ 3)(x2 + x+ 1) = 7. よって、[x2 + x+ 1]−1 = 1

7 [−x+ 3]。

このことから、1

√22+√2 + 1

=1

7(−

√2 + 3).

例 20 微分方程式 y′′ − y′ − y = x2 の特殊解を求める。

D =d

dxと置く。D2 −D − 1とD3について、拡張されたユークリッドの互除法により、

(−2D2 +D − 1)(D2 −D − 1) + (2D − 3)D3 = 1.

よってこれをx2に左から作用させると、

(−2D2 +D − 1)(D2 −D − 1)x2 + (2D − 3)D3x2 = x2.

よって、(D2 −D − 1)(−2D2 +D − 1)x2 = x2.

すなわち、y = (−2D2 +D − 1)x2 = −4 + 2x− x2 とおけば、

(D2 −D − 1)y = y′′ − y′ − y = x2.

〔練習問題〕y′′ − y′ − y = sinx. (ヒント: (D − 2)(D2 −D − 1) + (−D + 3)(D2 + 1) = 5.)

Page 30: Groebner 基底 - blade

§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 で定義されたアフィン多様体という。

例 21(1) V(x2 + y2 − 1). -1 -0.5 0.5 1

-1

-0.5

0.5

1

Page 31: Groebner 基底 - blade

(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

(4) V(y2 − x3 − x2). -1 -0.5 0.5 1

-1

-0.5

0.5

1

Page 32: Groebner 基底 - blade

(5) V(z − x2 − y2).

-2-1

01

2

-2

-1

0

12

0

2

4

6

8

-2-1

01

-2

-1

0

1

(6) V(z2 − x2 − y2).

-2-1

01

2

-2

-1

01

2

0

1

2

-2-1

01

-2

-1

01

(7) V(x2 − y2z2 + z3).

fi(8) V(x+ y + z, x− z, 2x+ w).

(9) V(xz, yz).

Page 33: Groebner 基底 - blade

(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) ̸= ϕ の判定。(連立1次方程式での解の存在)(2) 解を求めるアルゴリズムは存在するか?(連立1次方程式での掃きだし法と基底)(3) 次元の定義と決定(行列のランク)

定義 3.3(基底, 有限生成) 環 R のイデアル I が集合 S で生成されているとき、S をI の 基底 という。基底として有限集合が取れるイデアルは 有限生成 であるという。

注 10 線形代数では、基底とは「生成して独立」であることを求めるが、環では、生成するだけでよい。

定義 3.4 イデアル I ⊂ k[x1, x2, · · · , xn] に対しその零点集合を

V(I) = {a ∈ kn | f(a) = 0 (∀f ∈ I)}.

と定義し、I で定義された多様体という。

Page 34: Groebner 基底 - blade

命題 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 ⟩)。�

例 22 ⟨ 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] のイデアルである。

[証明] 略。�

例 23(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].

Page 35: Groebner 基底 - blade

以下、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。�

注 11 I = I(V(I)) は成り立ったり成り立たなかったりする。

• 成り立つ例: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。

Page 36: Groebner 基底 - blade

• 成り立たない例: 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(1) 任意の集合 V ⊂ kn について

V ⊂ V(I(V )).

(2) 任意のアフィン多様体 V ⊂ kn について

V = V(I(V )).

[証明]

(1) I(V ) ⊂ I(V ) に補題3.8(3)を I = I(V ) として適用すると、V ⊂ V(I(V ))。(2) 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)より。

Page 37: Groebner 基底 - blade

( ⇐ ) I(V ) ⊃ I(W ) とする。両辺に V をすると、補題3.8(2) よりV(I(V )) ⊂ V(I(W ))。V, W はアフィン多様体なので、命題3.10よりV ⊂ W。(2)は (1) より明らか。(3) は (2) より明らか。�

注 12 一般に集合X, Y のある部分集合族間に写像V, I があって、

(1) A ⊂ A′ ⇒ V(A) ⊃ V(A′).

(2) B ⊂ B′ ⇒ I(B) ⊃ I(B′).

(3) 任意のAに対してI(V(A)) ⊃ A.

(4) 任意のAに対してV(I(B)) ⊃ B.

(5) A ⊂ V(B) ⇐⇒ I(A) ⊃ B.

を満たす時、V, Iをその集合族間の Galois接続という。((3)&(4) ⇐⇒ (5) である。) このとき、{A | I(V(A)) = A} と{B | V(I(B)) = B} の間には、V, Iで1対1対応が付き、これを Galois対応と言う。

命題 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)y

n, fn ∈ k[x1, x2, · · · , xn] と書ける。a = (a1, a2, · · · , at) ∈ kn を一つ取り、F (y) =

∑n fn(a)y

n ∈ k[y] と置くと、∀b ∈ k F (b) = 0。よって1変数の場合になり F = 0。すなわち ∀n fn(a) = 0。a は任意だったから n = t の場合の仮定より fn = 0。よって f = 0。�} 問い

• イデアルはいつ有限生成になるか?(いつでも)

Page 38: Groebner 基底 - blade

• f ∈ ⟨ f1, f2, · · · , fs ⟩ の決定アルゴリズムはあるか?(ある)• I → I(V(I)) はどうなってるのか?(ほぼわかる)

Page 39: Groebner 基底 - blade

Groebner 基底

Page 40: Groebner 基底 - blade

次のような問題を考えよう:

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 を導けということだ。

これは純粋に多項式の話であり、中学校の知識で間に合うはずだ。そして証明は、多項式の範囲で、つまり割り算を用いないで得られるに違いない。しかし、そういう証明を考えようとすれば、かなり手間と時間がかかり、余程の計算上手でも手に余るだろう。また、結局線形代数で行われた議論をうまく分母を払って焼きなおしたようなものになってしまうだろう。ところが最近はこの程度のことなら計算機がしてくれる:

Page 41: Groebner 基底 - blade

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

Page 42: Groebner 基底 - blade

これはすなわち次のような恒等式が成り立っていることを示している。

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章ではそれを紹介する。

Page 43: Groebner 基底 - blade

§4 順序

4.1 順序

定義 4.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

が成り立つならば、= は 全順序であると言う。

例 24(1) N = Z≥0 = {0以上の整数} とし、= を普通の意味の ≥ と思うと、これは全順序である。(2) N に x = y ⇐⇒ y|x と定義すると、これは順序だが全順序でない。(3) N2 に (x1, y1) = (x2, y2) ⇐⇒ x1 ≥ x2かつy1 ≥ y2 と定義すると、これは順序だが全順序でない。(4) X = {グー, チョキ, パー}に対してx = y ⇐⇒ xはyにアイコであるあるいは勝つ 、と定義すると、

これは順序ではない。

定義 4.2(順序の拡張) 集合 X に2つの順序 = と ≥ が与えられていて

α ≥ β ⇒ α = β

が成り立つとき、= は ≥ の 拡張であるという。

例 25(1) N− {0} に x = y ⇐⇒ y|x と定義すると、普通の順序 ≥ は = の拡張である。

Page 44: Groebner 基底 - blade

この文書では、2つの順序を同時に考えるとき = 以外に ≥ という記号も使って区別する。しばしば、抽象的、人工的な方を = で表し、伝統的な、標準的な順序の方を≥ で表す。

定義 4.3(1) x > y とは x = y かつ x ̸= y のこと。(2) x 5 y とは y = x のこと。(3) x < y とは x 5 y かつ x ̸= y のこと。

4.2 最小と極小

定義 4.4(最小元, 極小元) 順序集合 (X, =) の部分集合とA と a ∈ A に対して、

(1) 「∀x ∈ A (x = a)」が成り立つとき、a を A の 最小元と言う。(2) 「∀x ∈ A (x < aでない)」が成り立つとき、a を A の 極小元と言う。

注 13 最小元は極小元である。また、全順序集合では極小元は最小元である。

例 26 (N2, =) において、A = {(0, 1), (1, 0)} におけるa = (0, 1) は極小元だが最小元でない。

4.3 積順序

定義 4.5(Nnの標準的順序) α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) ∈ Nn に対して ≥ を次の様に定義する。

α ≥ β ⇐⇒ ∀i αi ≥ βi

この≥を Nn の 標準的順序あるいは 自然順序という。

Page 45: Groebner 基底 - blade

注 14 (Nn, ≥) は順序集合である。n ≥ 2 のとき全順序ではない。

定義 4.6(積順序) 2つの順序集合 (X, =), (Y, =) に対して、順序集合 (X × Y, =) を次のように定義し 積順序と言う:

(x1, y1) = (x2, y2) ⇐⇒ x1 = x2 かつ y1 = y2.

注 15 積順序は順序になる。

注 16 Nn の標準的順序 ≥ は、N の標準的順序から、Nn = Nn−1 × N で帰納的に積順序で作ったものである。

Page 46: Groebner 基底 - blade

§5 順序に関するディクソンの補題

多項式の次数の集合 Nn の性質について調べる。

5.1 Dickson性

定義 5.1(生成、有限生成)(1) X の部分集合 A に対し、ある集合 S ⊂ A について、

∀a ∈ A∃s ∈ S a = s.

となるとき、S は A を 張る、 生成する、あるいはS は A の 基底であると言う。(2) X 部分集合 A に有限基底(有限集合である基底) が取れるとき A は 有限生成であると言う。

定義 5.2(Dickson性) 順序集合 (X, =) について、X の任意の部分集合が有限生成であるとき、X はDickson的である、あるいは Dickson性を持つ、と言う。

例 27(1) N の標準順序で、その任意の部分集合Aは、その最小元aを取り、S = {a}とすれば、条件をみたすので、N はDickson的である。

(2) N の例24の(2)の順序では、N はDickson的でない。

Page 47: Groebner 基底 - blade

補題 5.3 Nの任意の数列n1, n2, n3, · · · には、その部分列で、(広義)単調増大列になるもの、ni1 , ni2 , ni3 , · · · (i1 < i2 < i3 < · · · ) が存在する。

[証明] I0 = N と置くと、これは無限集合であり、{ni | i ∈ I0}の最小値nk (k ∈ I0)が存在する。i1 = k

と置く。I1 = {i ∈ I0 | i1 < i} と置くと、これは無限集合であり、{ni | i ∈ I1}の最小値nk (k ∈ I1)が存在する。i2 = kと置く。I2 = {i ∈ I1 | i2 < i} と置くと、これは無限集合であり、{ni | i ∈ I2}の最小値nk (k ∈ I2)が存在する。i3 = kと置く。以下同様i4, i5, · · · を選べば良い。�

定理 5.4 順序集合 (X, =) がDickson的なら、(N, ≥)との積順序集合(X × N, =) もDickson的。

[証明]X × NがDickson的でないとすると、ある X × N の部分集合 A が存在して、有限生成でない。(x1, n1) ∈ A を適当に取ると、{(x1, n1)} は A を張らないので、ある (x2, n2) ∈ A について(x1, n1) 5 (x2, n2) とならない。{(x1, n1), (x2, n2)} も A を張らないので、(x3, n3) ∈ A で(x1, n1) 5 (x3, n3) も (x2, n2) 5 (x3, n3) が成り立たないものが存在する。同様にして一般に(xi, ni) ∈ A, i = 1, 2, 3, · · · が(x1, n1) 5 (xi, ni), (x2, n2) 5 (xi, ni), · · · , (xi−1, ni−1) 5 (xi, ni) のどれも成り立たないように取れる。さて、補題5.3より、n1, n2, n3, · · · には、その部分列で、(広義)単調増大列になるもの、ni1 , ni2 , ni3 , · · · が存在する。このとき、任意のs, t (s < t)について、xis 5 xitではない。B = {xi1 , xi2 , xi3 , · · · }とすると、明らかにどんなBの有限部分集合もBを生成しない。これはXがDickson的であることに矛盾する。�

定理 5.5(Nnの順序に関するディクソンの補題) Nn は標準順序 ≥ に関してDickson的。

Page 48: Groebner 基底 - blade

[証明] n = 1 のとき:Nでは標準順序 ≥ はDickson的。n = k の時Dickson的であるとすると、定理5.4

より、Nk+1 = Nk × N の時もDickson的。以上より、任意の n について Nn は Dickson的。�

Page 49: Groebner 基底 - blade

5.2 整列性

定義 5.6(整列順序) 全順序集合 (X, =) において、任意の部分集合が最小元を持つとき= を 整列順序、(X, =) を整列順序集合と言う。

注 17 全順序集合では、= が整列順序であることと、Dickson的であることは同値である。

例 28(1) (N, ≥) は整列順序。(2) (Nn, ≥) は n ≥ 2 のとき整列順序でない。(全順序でないから。)(3) (Z, ≥) は整列順序でない。(4) (Q≥0, ≥) は整列順序でない。(5) { 1

n | n = 1, 2, 3, · · · } は整列順序でない。(6) { 1

n | n = 1, 2, 3, · · · } ∪ {0} は整列順序でない。(7) {− 1

n | n = 1, 2, 3, · · · } は整列順序。

前節補題5.3、定理5.4、定理5.5 と同様に以下が成り立つ。

補題 5.7 整列集合 Xの任意の数列x1, x2, x3, · · · には、その部分列で、(広義)単調増大列になるもの、xi1 , xi2 , xi3 , · · · が存在する。

注 18 後の定理5.16で見るように、XがDickson的なら、同様な事が言える。

定理 5.8 順序集合 (X, =) がDickson的、順序集合 (Y, =) が整列順序集合なら、(X × Y, =) はDickson的。

定理 5.9 順序集合 (X, =) が整列順序集合なら、Xn はDickson的。

注 19 後の定理5.17で見るように、X, Y がDickson的なら、X × Y, Xn もDickson的。

Page 50: Groebner 基底 - blade

5.3 順序のイデアル

定義 5.10(イデアル) (X, =) を順序集合、A をその部分集合で、次の条件を満たすとき、A は X のイデアルであるという。

∀a ∈ A∀x ∈ X(x = a ⇒ x ∈ A).

例 29 {n ∈ N | n ≥ 1} は N のイデアル。

定義 5.11 X 部分集合 S に対し、

⟨S ⟩ = {x ∈ X | ∃s ∈ S x = s}

とおき、これを S で 生成されたイデアル という。S = {s1, s2, · · · , sk} と有限集合であるとき、⟨S ⟩を単に ⟨ s1, s2, · · · , sk ⟩ と書く。

命題 5.12 S を順序集合 X の部分集合とするとき、以下が言える。

(1) ⟨S ⟩ は X のイデアルである。(2) Sがイデアル ⇐⇒ ⟨S ⟩ = S。(3) 任意のイデアル A、任意のAの部分集合Sについて、⟨S ⟩ ⊂ A。(4) SがAを生成する ⇐⇒ S ⊂ A ⊂ ⟨S ⟩。(5) ⟨S ⟩ =

∪s∈S < s > である。特に、⟨ s1, s2, · · · , sk ⟩ = ⟨ s1 ⟩ ∪ ⟨ s2 ⟩ ∪ · · · ∪ ⟨ sk ⟩である。

[証明] 略。�

定理 5.13 Dickson性を持つ順序集合の任意の部分集合Aに対して、ある有限部分集合 A′ ⊂ A が存在して、⟨A ⟩ = ⟨A′ ⟩ となる。

Page 51: Groebner 基底 - blade

[証明] A に対して、その有限基底を A′ とすると、A ⊂ ⟨A′ ⟩ 。命題5.12より、⟨A ⟩ ⊂ ⟨A′ ⟩。よって、⟨A ⟩ = ⟨A′ ⟩。�

定理 5.14 順序集合は、その任意のイデアルが有限生成であれば、Dickson性を持つ。逆も言える。

[証明] 順序集合Xの任意のイデアルが有限生成であるとする。X部分集合Sを取る。イデアル ⟨S ⟩は、有限個の生成元x1, x2, · · · , xn ∈ ⟨S ⟩を持つ。任意のiについて、si 5 xiとなる、s1, s2, · · · , sn ∈ S

が存在する。このとき、⟨S ⟩ = ⟨x1, x2, · · · , xn ⟩ ⊂ ⟨ s1, s2, · · · , sn ⟩。よって、s1, s2, · · · , sn がS の有限個の生成元になっている。逆は明らか。�

定理 5.15 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的でないとし、Y ⊂ Xが有限生成でないとする。A1 = {} とする。既に有限生成イデアルの狭義増大列A1 $ A2 $ A3 $ · · · $ Ak が作れているとするとき、Y −Ak は空集合でないから、あるx ∈ Y −Ak を取ってAk+1 = ⟨Ak ∪ {x} ⟩ とおけば、Ak $ Ak+1 である。このようにして作ったAn, n ≥ 1 は条件を満たさない。�

Page 52: Groebner 基底 - blade

5.4 Dickson性(別ルート)

この節では、前と別の方法でDicksonの補題を証明する。今回の講義では、特に読む必要はない。

定理 5.16(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 の有限部分集合 S1 があって、S1はSを張る。よって、ある xi1 ∈ S1 があって、xi1 5 xi となる i は無限個になる。すなわち、J(j) = {i | j < iかつxj 5 xi} とおくと、J(i1) は無限集合である。同様にして、{xi | i ∈ J(i1)} を張る有限集合 S2 に対し、xi2 ∈ S2 をうまく取ると、J(i2) も無限集合になる。以下同様に i3, i4, · · · を取っていけば、i1 < i2 < i3 < i4 < · · · かつ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) の条件を満たしていないので矛盾である。�

定理 5.17 2つの順序集合 (X, =), (Y, =) がDickson的なら、積順序を与えた(X × Y, =) もDickson的。

Page 53: Groebner 基底 - blade

[証明] (x1, y1), (x2, y2), · · · を X × Y の任意の数列とする。X がDickson的なので、定理5.16の(2)

より1, 2, · · · の無限部分集合 A で {xi | i ∈ A} が単調増大になるものが取れる。また Y がDickson的なので、定理5.16の(3)の条件よりA の要素 i, j (i < j) で、yi 5 yj となるものが存在する。この時、(xi, yi) 5 (xj , yj) が成り立つ。すなわち、定理5.16の(3)が成立するので、X × Y はDickson的。�

Page 54: Groebner 基底 - blade

5.5 Noether性 (参考)

この小節では、Dickson性より弱いNoether性について調べるが、この後の議論に用いられる事はない。

定義 5.18(Noether性) (X, =) の任意の空でない部分集合 S が= に関する極小元を S の中に持つとき = は Noether的あるいは Noethoer性を持つという。

例 30 Z, Q, Q>0は、Noether的でないが、Nは、Noether的である。

補題 5.19 順序集合(X, =) がNoether的であるための必要十分条件は全ての X における狭義単調減少列x1 > x2 > · · · が必ず有限で終わることである。

[証明] (必要性)定義より明らか。(十分性)X のある空でない部分集合 A に極小元がないとする。まずx1 ∈ A を適当に選ぶ。A に x1 より小さい元は存在する。(そうでなければ x1 は極小元となる。)よってそれを x2 ∈ A とする。以下同様にx1 > x2 > x3 > · · · ∈ A が作れるので、仮定に反する。�

補題 5.20 順序集合がNoether的であるための必要十分条件は、任意の部分集合がその極小点の集合で生成されることである。

[証明] (必要性) 順序集合の任意の部分集合をA、その極小点の集合をMとする。MがAを生成しないとすれば、あるa1 ∈ Aが存在して、極小点でない。よって、あるa2 ∈ Aが存在して、a1 > a2である。どんなm ∈ Mに対してもa1 ≥ mとならないので、a2も極小点ではない。同様にa1 > a2 > a3 > . . .となるai ∈ A が存在する。これは、補題5.19より、矛盾である。(十分性) 空でない部分集合がMで生成されるとき、Mは空でない。よって、任意の空でない部分集合がその極小点の集合Mで生成されていれば、Mは空でない。よってNoether性を持っている。�

定理 5.21 Dicskon的であるための必要十分条件は、Noether的であり、かつ全ての部分集合の極小元の集合が有限であることである。

Page 55: Groebner 基底 - blade

[証明] (必要性) Dicskon的であるとする。補題5.19より、もしNoether的でなければ、その集合には狭義単調減少数列があるが、これはあきらかに有限な基底はないのでDickson的でない。よってNoether的である。また、極小元の集合の生成元は、それ自身でなければならないので、有限集合である。(十分性) Nother的なので、補題5.20より、任意の部分集合はその極小元の集合で生成され、それが有限集合なのだから、Dickson的であることになる。�

例 31 Noether的であってもDickson的であるとは限らない。例えば無限集合 X 上で = を空(任意のx, y ∈ X について x > y でない)とすると、これはNoether的だがDickson的でない。

系 5.22 全順序集合では、順序が Noether的であることとDickson的であることは同値である。

[証明] 整列集合であるとする。部分集合の最小元はそれ1つでその部分集合を張っているからDickson的である。逆は補題5.21より。�

定理 5.23 2つの順序集合 (X, =), (Y, =) がNoether的なら、積順序を与えた(X × Y, =) もNoether的。

[証明] A ⊂ X × Y とする。定理5.20より、Aの極小点の集合がAを生成していることを言えば良い。そうでないとする。ある(x1, y1) ∈ Aが存在してAの極小点の集合で生成されない。よって、(x1, y1)

が極小でないので、ある点(x2, y2) ∈ A が存在して、(x1, y1) > (x2, y2)となる。このとき、(x3, y3)

も極小でないので、ある点(x3, y3) ∈ A が存在して、(x2, y2) > (x3, y3)となる。以下同様にして、狭義単調減少無限列、(xi, yi) ∈ A, i ≥ 1が存在する。このとき、{xi}と{yi}のいずれかは、無限集合である。{xi}が無限集合だとすると、この集合に極小点は存在せず、XがNoether的である事と矛盾する。{yi}が無限集合だとしても同様。�

Page 56: Groebner 基底 - blade

§6 単項式順序と整除

6.1 順序集合Nnの単項式順序

Nn の加法とは、α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) ∈ Nn に対して

α+ β = (α1 + β1, α2 + β2, · · · , αn + βn)

と定義されたものとする。

定義 6.1(両立) (Nn, =) が + と 両立しているとは、

α = β ⇒ ∀γ ∈ Nn α+ γ = β + γ

が成り立つことである。

定理 6.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 となる α が存在したとすると、α > α+ α > α+ α+ α > · · · となり、この数列に最小が存在せず矛盾する。

Page 57: Groebner 基底 - blade

(3) ⇒ (1): α ≥ β とすれば、α− β ∈ Nn よって、仮定よりα− β = 0。両辺に β を加えて α = β。よって = は ≥ の拡張である。�

定義 6.3(Nnの単項式順序) Nn の 単項式順序(あるいは単に 項順序)とは、順序であって次の条件を満たすものを言う。

(1) = は標準的順序の拡張である(2) = は Nn の全順序(3) = は + と 両立する

定理 6.4 Nn の単項式順序は整列順序である。

[証明] 定理6.2より。�

Page 58: Groebner 基底 - blade

6.2 さまざまな単項式順序

以下、Nn の単項式順序を複数作って行く。

定義 6.5(辞書式順序, lex, lexcographic order, >lex) α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn)

とするとき、

α >lex β ⇐⇒ αi, βi を左から見ていって最初の異なる αi, βi で αi > βi.

命題 6.6 lex は単項式順序である。

[証明] 明らか。�

記法 4 α = (α1, α2, · · · , αn) に対し |α| =∑

αi とおく。

定義 6.7(次数付き辞書式順序, grlex, graded lexcographic order, >grlex)

α >grlex β ⇐⇒ (|α| > |β|) または (|α| = |β| かつ α >lex β).

命題 6.8 grlex は単項式順序である。

[証明] 明らか。�

定義 6.9(次数付き逆辞書式順序, grevlex, graded reverse lexcographic order, >grevlex)α = (α1, α2, · · · , αn), β = (β1, β2, · · · , βn) とするとき、

α >grevlex β ⇐⇒ (|α| > |β|)または (|α| = |β|かつ αi, βiを右から見ていって最初の異なる αi, βiで αi < βi).

命題 6.10 grevlex は単項式順序である。

Page 59: Groebner 基底 - blade

[証明] 明らか。�

例 32 {(3, 0, 0), (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)

注 20 N2 では grlex と grevlex は同じである。

Page 60: Groebner 基底 - blade

6.3 “単項式の”単項式順序

定義 6.11(単項式) α = (α1, α2, · · · , αn) に対してxα = x1α1x2

α2 · · ·xnαn ∈ k[x1, x2, · · · , xn]

とおき、これを 単項式と言う。

注 21 xα | xβ ⇐⇒ α ≤ β (標準順序).

定義 6.12(単項式の順序) Nn に順序 = を一つ定めたとき、α = (α1, α2, · · · , αn),

β = (β1, β2, · · · , βn) ∈ Nn とするとき、単項式 xα と xβ の間の順序を

xα = xβ ⇐⇒ α = β

と定義する。Nn の単項式順序 = で決められた単項式の順序を単に 単項式順序という。

Nn の単項式順序の定義6.3より、次が成り立つ。

命題 6.13(単項式順序) k[x1, x2, · · · , xn] の単項式順序=について以下が成り立つ。

(1) xα ≥ xβ ⇒ xα = xβ

(2) = は単項式の間の全順序(3) = は積と 両立する(すなわち xα = xβ ⇒ xαxγ = xβxγ が成り立つ)。

例 33 同じ式の単項式の降べき(大きい順)表示−5x3 + 7x2z2 + 4xy2z + 4z2 (lex)

= 7x2z2 + 4xy2z − 5x3 + 4z2 (grlex)

= 4xy2z + 7x2z2 − 5x3 + 4z2 (grevlex)

Page 61: Groebner 基底 - blade

以下、k[x1, x2, · · · , xn]に単項式順序=を一つ固定する。

定義 6.14 多項式 f =∑α∈Nn

aαxα について f ̸= 0 のとき次のように定義する。

• deg(f) = multideg(f) = max{α | aα ̸= 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)

注 22 LT(f)|LT(g) は deg f ≤ deg g と同値となる。

注 23 f, RT(f) ̸= 0なら、deg f > degRT(f)(単項式順序で)である。

例 34 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

命題 6.15 f, g ̸= 0 について

(1) deg(fg) = deg(f) + deg(g).

(2) f + g ̸= 0 ⇒ deg(f + g) 5 max{deg(f), deg(g)}.(3) f + g ̸= 0かつdeg(f) ̸= deg(g) ⇒ deg(f + g) = max{deg(f), deg(g)}.

Page 62: Groebner 基底 - blade

6.4 多変数多項式の整除

定理 6.16(割り算アルゴリズム) f, f1, f2, · · · , fs ∈ k[x1, x2, · · · , xn] とする。単項式順序 = を選び固定する。f の F = (f1, f2, · · · , fs) による 割り算とは次の条件を満たすものであり、以下に述べるアルゴリズムで得ることができる。

(1) f = a1f1 + a2f2 + · · ·+ asfs + r a1, a2, · · · , as, r ∈ k[x1, x2, · · · , xn].

(2) (r = 0) または(r ̸= 0 で、全ての i について LT(fi) はr のどの単項式も割ることはない。)(3) aifi ̸= 0 ならば deg(f) = deg(aifi)。

注 24 特に(2)より、全ての i について deg r ̸≥ deg fi である。ここの不等号のみ自然順序≥であり、degを定める方法および、上の(3)の条件は、=で決定されている。

Page 63: Groebner 基底 - blade

Input : f, f_1, f_2, ... , f_sOutput : a_1, a_2, ... , a_s, ra_1 := 0; a_2 = 0; ... ; a_s := 0; r := 0p := fWHILE p != 0 DOi := 1sw := FalseWHILE i <= s AND sw = False DOIF 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 などと書いた。)

Page 64: Groebner 基底 - blade

例 35 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

[証明] 略。ただし、ループの停止性には単項式順序が整列順序であること(定理6.4)を使う。�

定義 6.17( F, mod F) fを被除数(dividend)、f1, f2, · · · , ft あるいは F = (f1, f2, · · · , ft)

を除数(divisor)、a1, a2, · · · , atを商(quotient)、rを余り(remainder)と言う。

r を fFあるいは remainder(f, F ) あるいは f mod F と書く。

途中に現れるpを中間被除数(intermediate dividend)と呼ぶ。

〔練習問題A〕lex順序で、x+ yを(x+ 1, y)で割った、商と余りを求めよ。〔練習問題B〕grlex順序で、x4 + xy3を(x3 − xy, x2y − y2, xy)で割った、商と余りを求めよ。

Page 65: Groebner 基底 - blade

定理 6.18 前定理のa1, a2, · · · , atは、条件(1), (2), (3)に加えて次の条件を満たす。(4) ∀i 5 s+ 1 aifi ∈ ⟨ fi ⟩ − ⟨ f1 ⟩ − ⟨ f2 ⟩ − · · · − ⟨ fi−1 ⟩.ただし、fs+1 = 1, as+1 = rと置いた。また、条件(1), (2), (3), (4) を満たす。a1, a2, · · · , at, rは、唯一である。

[証明] 略。(参考文献『グレブナ基底と代数多様体入門(上)』のP.98練習問題11を参照。) �

定理 6.19 任意の F = (f1, f2, · · · , fs) に対し ( )Fはk 上線形である。

[証明] 略。(同上練習問題12を参照。) �

Page 66: Groebner 基底 - blade

例 36(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].

注 25 f mod F = 0 ならば f ∈ ⟨F ⟩ である。一方、例36の(1)にあるように、f mod F ̸= 0 だからといって、f ̸∈ ⟨F ⟩ とは言えない。

Page 67: Groebner 基底 - blade

注 26 割り算アルゴリズムには、次の様な流儀もある。ループが3段になるが、こちらの方が自然に思えるかもしれない。

Input : f, f_1, f_2, ... , f_sOutput : a_1, a_2, ... , a_s, ra_1 := 0; a_2 = 0; ... ; a_s := 0; r := 0p := fWHILE p != 0 DOi := 1sw := FalseWHILE i <= s DOWHILE p != 0 AND LT(f_i) divides LT(p) DOa_i := a_i + LT(p) / LT(f_i)p := p - ( LT(p) / LT(f_i) ) * f_isw := True

i := i + 1IF sw = False THENr := r + LT(p)p := p - LT(p)

このアルゴリズムで得られる商と余りの満たす条件は、定理6.16 と同じだが、商と余りそのものは、違うものになる可能性がある。例えば、lex で、x2y + xy2を(y2, xy − 1)で割ると、定理6.16のアルゴリズムでは、商(x, x)余りxで

あるが、このアルゴリズムでは、商(0, x+ y)余りx+ yである。また、x2yF= x, xy2

F= 0なので、線

形性も無い。

Page 68: Groebner 基底 - blade

§7 ヒルベルトの基底定理とグレブナ基底

これ以降、Nn の標準順序の拡張である単項式順序 = を1つ定めておく。

記法 5 F を k[x1, x2, · · · , xn] の部分集合とするとき

degF = {deg f |f ∈ F, f ̸= 0}LT(F ) = {LT(f)|f ∈ F, f ̸= 0}LM(F ) = {LM(f)|f ∈ F, f ̸= 0}

等々と定義する。

命題 7.1 I がイデアルならdeg I も標準順序 ≥ に関するイデアルである。

[証明] (略)。�} 問い 集合 F ⊂ k[x1, x2, · · · , xn] で生成されるイデアル ⟨F ⟩ に対し、一般に deg ⟨F ⟩ ⊃ ⟨ degF ⟩である。では、いったい、いつ

deg ⟨F ⟩ = ⟨ degF ⟩

となるか?

Page 69: Groebner 基底 - blade

定義 7.2(グレブナ基底) ある単項式順序=を固定し、degは=で定めるものとする。イデアル I の有限部分集合 G で

deg I = ⟨ degG ⟩

となるとき G を I の グレブナ基底あるいは 標準基底と言う。ここで、右辺のイデアルは、標準順序≥によるものとする。

命題 7.3 イデアル I の有限部分集合 G が、グレブナ基底であるための必要十分条件は、任意のf ∈ I

に対し、あるg ∈ Gが存在して、deg g ≤ deg fとなることである。

命題 7.4 イデアル I の有限部分集合 G が、グレブナ基底であるための必要十分条件は、任意のf ∈ I

に対し、あるg ∈ Gが存在して、LT(g)|LT(f)となることである。

定理 7.5 イデアル I のグレブナ基底 G は I の基底である。すなわちI = ⟨G ⟩ である。

[証明] 定理6.16のアルゴリズムで f ∈ I を G = (g1, g2, · · · , gt) によって割った商をa1, a2, · · · , at、余りを r とする。このとき、r = f − a1g1 − · · · − atgt ∈ I。もし r ̸= 0 とすると全ての i についてdeg gi ̸≤ deg r となり、Gがグレブナ基底であることと矛盾する。�

例 37 Gが単項式からなる集合であれば、deg ⟨G ⟩はdegGで生成されるので、Gは ⟨G ⟩のグレブナ基底である。

Page 70: Groebner 基底 - blade

例 38 以下、lex順序で考える。

(1) F = (x, x+ y)とおく。⟨F ⟩ = ⟨x, x+ y ⟩ = ⟨x, y ⟩ である。deg ⟨F ⟩ = ⟨ (1, 0), (0, 1) ⟩、一方、⟨ degF ⟩ = ⟨ (1, 0), (1, 0) ⟩ = ⟨ (1, 0) ⟩ なので、Fは、⟨F ⟩のグレブナ基底でない。

(2) F = (x3, x2y + x)とおく。x = y2x3 + (1− xy)(x2y + x)を考えると、⟨F ⟩ = ⟨x ⟩である。deg ⟨F ⟩ = ⟨ (1, 0) ⟩、一方、⟨ degF ⟩ = ⟨ deg(x3), deg(x2y + x) ⟩ = ⟨ (3, 0), (2, 1) ⟩ なので、F

は、⟨F ⟩のグレブナ基底でない。(3) G = (x+ y, y − z)とおくと、 これは ⟨G ⟩ のグレブナ基底である。これを言うためには、

deg ⟨G ⟩ ⊂ ⟨ deg(x+ y), deg(y − z) ⟩ を言えばよい。そのために、f ∈ ⟨G ⟩, f ̸= 0 に対して“(1, 0, 0) ≤ deg f または(0, 1, 0) ≤ deg f” を言おう。仮に、これが否定されるならば、LT(f) は z

だけの式。よって、f も z だけの式 f(z)。ところで、f は

x

y

z

=

−t

t

t

上で 0 であるはず。よっ

て f(t) = 0 これはf ̸= 0 と矛盾する。

Page 71: Groebner 基底 - blade

定理 7.6(グレブナ基底の存在定理) 体 k 上の多項式環 k[x1, x2, · · · , xn] の任意のイデアルI (̸= 0) には、グレブナ基底が存在する。

[証明] ディクソンの補題より、イデアル deg I には有限な生成元 deg g1, deg g2, · · · , deg gt, (gi ∈ I)

が存在する。G = (g1, g2, · · · , gt) とおけば、⟨ degG ⟩ = ⟨ deg g1, deg g2, · · · , deg gt ⟩ = deg I. �

定理 7.7(ヒルベルトの基底定理) 体 k 上の多項式環 k[x1, x2, · · · , xn] の任意のイデアルは有限生成イデアルである。

[証明] 生成元としてそのイデアルのグレブナ基底を取ればよい。�

系 7.8 I1 ⊂ I2 ⊂ · · · を k[x1, x2, · · · , xn] のイデアルの増大列とするとき、ある i0 が存在してIi = Ii0 , (∀i ≥ i0) となる。

[証明] (定理5.15の証明と同様である。)∪

i Ii はイデアルである。その有限基底 F ⊂∪

i Ii を取れば、Fの各元毎にある i が存在して Ii に属する。これらのi の最大のものを i0 とすると、F ⊂ Ii0 となる。この i0 が求めるものである。�

系 7.9 k[x1, x2, · · · , xn] の任意のイデアル I についてV(I) = {x ∈ kn | ∀f ∈ I f(x) = 0} はアフィン多様体である。

Page 72: Groebner 基底 - blade

§8 グレブナ基底の性質

8.1 正規形

定理 8.1 G = (g1, g2, · · · , gt) をイデアル I のグレブナ基底とすれば、任意のf ∈ k[x1, x2, · · · , xn] に対して次を満たす r がただ1つ存在する。

(1) ある g ∈ I が存在して f = g + r。(2) r = 0、または r ̸= 0 で r のどの単項式の deg も、どの deg gi より(標準順序≥で)大きく(あるいは

等しく)ない。

[証明] 存在は G により割り算(定理6.16)により明らか。一意性は f = g + r = g′ + r′ とすると r′ − r = g − g′ ∈ I であり、これが 0 でないとするとdeg(r − r′) ∈ deg I ⊂ ⟨ degG ⟩ = ⟨ deg g1, deg g2, · · · , deg gt ⟩。よってある i でdeg gi ≤ deg(r′ − r)。これは r または r′ のある単項式の deg が ≥ deg gi となって矛盾である。�

定義 8.2(正規形) f ∈ k[x1, x2, · · · , xn] ⊃ I : イデアルで、G = (f1, f2, · · · , ft) が I のグレブ

ナ基底であるとき fGは G の中の fi の順番に依存しない。また、定理8.1 の条件 (1), (2) を満たすr は

fGである。これを f の(G による) 正規形という。

系 8.3 G をイデアル I のグレブナ基底とすると

f ∈ I ⇐⇒ fG= 0.

[証明] ⇐ は明らか。 ⇒ は f = f + 0 に定理8.1 を適用して fG= 0. �

} 問い F = (f1, f2, · · · , ft) がグレブナ基底になるのはどんな時か?Fから、⟨F ⟩のグレブナ基底をどうやって見つけるか?

Page 73: Groebner 基底 - blade

8.2 S-多項式

以下、>と<は、ある固定した単項式順序=と5による不等号とする。

定義 8.4(S-多項式) xγ を LM(f) と LM(g) の最小公倍数とするとき、

S(f, g) =xγ

LT(f)f − xγ

LT(g)g

= fとgの先頭項を相殺させた式

を f と g の S 多項式という。

例 39 grlex で f = x3y2 − x2y3 + x, g = 3x4y + y2 を考えるとxγ = x4y2, S(f, g) = xf − y

3g = −x3y3 + x2 − y3

3 .

注 27 S(f, g) ̸= 0であるとき、以下が成り立つ。

(1) degS(f, g) < degLCM(LT(f), LT(g)).

(2) deg f = deg g ⇒ degS(f, g) < deg f .

(3) deg f = deg g ⇒ S(f, g) =f

LC(f)− g

LC(g).

(4) c, c′ ∈ k, c ̸= 0, c′ ̸= 0 ⇒ S(c · f, c′ · g) = S(f, g).

(5) S(f, g) | S(xαf, xβg).

∵ xδ = degLCM(LM(xαf), LM(xβg)), xγ = LCM(LM(f), LM(g)) とおくと、

(xαf, xβg) =xδ · xαf

LM(xαf)− xδ · xβg

LM(xβg)= xδ−γ(

xγf

LM(f)− xγf

LM(g)) = xδ−γS(f, g).

Page 74: Groebner 基底 - blade

定義 8.5 δ ∈ Nn, f1, f2, · · · , ft ∈ k[x1, x2, · · · , xn] に対してイデアル ⟨ f1, f2, · · · , ft ⟩ の部分ベクトル空間を

⟨ f1, f2, · · · , ft ⟩δ = {∑

i aifi | ai ∈ k[x1, x2, · · · , xn], ∀i deg(aifi) 5 δ}

と定義する。同様に集合 F ⊂ k[x1, x2, · · · , xn] に対して⟨F ⟩δ を定義する。

注 28 ⟨F ⟩ = ⟨G ⟩だからといって、⟨F ⟩δ = ⟨G ⟩δとなるとは限らない。

注 29 任意の δ ∈ Nn に対して次が言える。

(1) ⟨F ⟩δ + ⟨G ⟩δ = ⟨F ∪G ⟩δ.(2) fi | gi (1 ≤ i ≤ t) ⇒ ⟨ g1, g2, · · · , gt ⟩δ ⊂ ⟨ f1, f2, · · · , ft ⟩δ.

単項式順序 = は整列順序であるから、f ∈ ⟨F ⟩となるfに対して、f ∈ ⟨F ⟩δ となるδに最小値がある。そこで、次のように定義する。

定義 8.6 f ∈ ⟨F ⟩, f ̸= 0に対し、

degF f = min{δ ∈ N | f ∈ ⟨F ⟩δ}

注 30 このとき、degF f = deg fである。

注 31 fF= 0 のとき、f ∈ ⟨F ⟩ のみならず、 f ∈ ⟨F ⟩deg f すなわち、degF f = deg fが言える。

Page 75: Groebner 基底 - blade

補題 8.7 f ∈ ⟨F ⟩, f ̸= 0に対し、degF f = deg f とするとき、次が成り立つ。

(1) ⟨ f ⟩δ ⊂ ⟨F ⟩δ, ∀δ ∈ Nn.

(2) deg f ∈ ⟨ degF ⟩.

[証明] degF f = deg fなので、f =∑

i aifi, fi ∈ F deg(aifi) 5 deg f と書けている。(1) 任意のaf ∈ ⟨ f ⟩δ (a ∈ k[x1, x2, · · · , xn]) に対して、af =

∑i aaifi, deg(aaifi) 5 deg af 5 δ

。よって、af ∈ ⟨F ⟩δ。(2) LT(f) =

∑deg(aifi)=deg f LT(ai)LT(fi)。よって deg(aifi) = deg f となる i が少なくとも1つ存

在するので、deg fi ≤ deg f。�

注 32 上の2つの結論は、単に f ∈ ⟨F ⟩ という仮定だけからは言えない。例: f = y, F = (x+ y, x), δ = (0, 1), lex のとき y ̸∈ ⟨x+ y, x ⟩(0,1) = {0}, degF y = (1, 0) であり、deg(y) ̸∈ ⟨ deg(x+ y), deg(x) ⟩ = ⟨ (1, 0) ⟩ でもある。

系 8.8 Fが⟨F ⟩のグレブナ基底であるための必要十分条件は、

任意の0でないf ∈ ⟨F ⟩に対して、degF f = deg f

であることである。

[証明] (必要性)Fがグレブナ基底ならば、系8.3より、 任意の0でないf ∈ ⟨F ⟩に対して、fF= 0であ

る。よって、degF f = deg f である(注31)。(十分性) 補題8.7(2) より、f ̸= 0, f ∈ ⟨F ⟩について、deg f ∈ ⟨ degF ⟩。すなわち、deg ⟨F ⟩ ⊂ ⟨ degF ⟩ 。よって F はグレブナ基底である。�

Page 76: Groebner 基底 - blade

以下、Nnに対する不等号 <と>は、単項式順序5と= に対応するものとする。

補題 8.9 f1, f2, · · · , ft は全て deg が δ に等しいとする。f =∑

i cifi, (ci ∈ k) についてdeg f < δ

とすれば f は S(fi, fj) の k 上の1次結合である。

[証明] 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). �

定義 8.10 F = {f1, f2, · · · , ft} に対して

S(F, F ) = {S(fi, fj) | 1 ≤ i < j ≤ t}T (F ) = F ∪ S(F, F )

とおく。

Page 77: Groebner 基底 - blade

補題 8.11 F = {f1, f2, · · · , ft}, f ∈ ⟨F ⟩ とするとき、degF f > deg f =⇒ degF f > degT (F ) f = deg f である。

[証明] δ = degF fとおく。f ∈ ⟨F ⟩δなので、f =∑

i aifi, ai ∈ k[x1, x2, · · · , xn] で、deg(aifi) 5 δ

となるのものが存在する。f =

∑deg(aifi)=δ

LT(ai)fi + f ′

と書き直せば、右辺 f ′ の次数は δ より小さいので、∑の次数も δ より小さい。よって補題8.9より、

∑は S(LT(ai)fi, LT(aj)fj) の1次結合で書けるが、

δ1 = max{degS(LT(ai)fi, LT(aj)fj) | i < j, deg(aifi) = deg(ajfj) = δ}

とおくと δ1 < δ であり、かつ、∑∈ ⟨S(LT(ai)fi, LT(aj)fj) | i < j ⟩δ1

である。一方、注27(5) より、S(fi, fj) | S(LT(ai)fi, LT(aj)fj) なので、注29(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 ) ⟩δ′

となる。よって、degT (F ) f < degF fである。�

Page 78: Groebner 基底 - blade

定理 8.12(ブッフベルガーのSペア判定条件) ある単項式順序を固定する。G = (g1, g2, · · · , gs) がイデアル I の基底であるときG が I のグレブナ基底であるための必要十分条件は

S(gi, gj)G= 0 (全てのi ̸= jについて)。

[証明] ( ⇒ ) S(gi, gj) ∈ I = ⟨G ⟩ よりS(gi, gj)G= 0 (系8.3より)。

( ⇐ ) S(gi, gj)G= 0 より、degG S(gi, gj) = degS(gi, gj)である。補題8.7(1)より、任意の δ に対し

て⟨S(gi, gj) ⟩δ ⊂ ⟨G ⟩δ。よって、⟨T (G) ⟩δ = ⟨G ⟩δ。従って、任意の 0 でない f ∈ I = ⟨G ⟩ に対してdegG f = degT (G) f である。よって、補題8.11より、degG f = deg fでなければならない。故に、系8.8より、Gは、グレブナ基底である。�〔練習問題〕G = (x+ y, y − z)とおくとき、 これが ⟨G ⟩ の lex順序によるグレブナ基底であることを示しなさい。(c.f. 例38)

Page 79: Groebner 基底 - blade

§9 ブッフベルガーのアルゴリズム

9.1 ブッフベルガーのアルゴリズム

定理 9.1( ブッフベルガーのアルゴリズム) I = ⟨ f1, f2, · · · , fs ⟩ について次のアルゴリズムでグレブナ基底を構成できる。

Input: F = (f_1, f_2, ..., f_s)Output: G = (g_1, g_2, ..., g_t) : <F>のグレブナ基底G := FREPEATG’ := GFor each pair {p, q}, p != q, in G’ DOS := 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 T i(F ) ⟩ (i = 0, 1, 2, · · · ) は、イデアルの増大列であるから、定理5.15より、ある i0 が存在して

⟨ deg T i(F ) ⟩ (i ≥ i0) は全て等しくなる。特に G0 = T

i0(F ) とおけば⟨ deg T (G0) ⟩ = ⟨ degG0 ⟩、

よって、degS(G0, G0) ⊂ ⟨ degG0 ⟩。ゆえにS(g, g′)G0

(g, g′ ∈ G0)の全ての元のdeg は degG0 のい

ずれかの元より ≥ となるが、このような元は割り算  G0の性質を考えると存在しない。よって、

S(G0, G0) = {}。これはこの REPEAT が i0 回以下で停止する事を意味している。

Page 80: Groebner 基底 - blade

(正当性)またこのとき 定理8.12 より、G0 = Ti0(F ) は ⟨G0 ⟩ = ⟨F ⟩ のグレブナ基底である。�

補題 9.2 次が成り立つ。

(1) fF= 0 ⇒ f

F+(g)= 0.

(2) fF= f ⇒ f

F+(f)= 0.

(3) fF= r ⇒ f

F+(r)= 0.

[証明] (1) fF= 0 なら f

F+(g)を求める定理5.1の割り算アルゴリズムで、LT(g) による割り算をする直

前に sw が True になる。よって fF+(g)

で起こる割り算は fFのそれと全く同じなので、f

F+(g)= 0。

(2) 割り算アルゴリズム1回目のループで F による商は 0、更にf で商 1が立って余りが 0になる。

(3) 余りを求める演算が線形であること(定理6.19)を利用すると、r = fFならば

f − rF= f

F − rF = fF − r = 0。よって(1)より f − r

F+(r)= 0。一方、

f − rF+(r)

= fF+(r) − rF+(r) = f

F+(r)(∵ rF = rと(2))。∴ f

F+(r)= 0. �

定理 9.3(ブッフベルガーのアルゴリズムの改良版) ブッフベルガーのアルゴリズム次の方法でもグレブナ基底は求まる。

Page 81: Groebner 基底 - blade

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 != {} DOSelect (i, j) in BS := S(f_i, f_j) mod GIF S != 0 THENt := t + 1f_t := SG := G + (f_t)B := B + {(i, t) : 1 <= i < t}

B := B - {(i, j)}

[証明] (停止性) IFの条件部のS ̸= 0が有限回で終わる。なぜなら、S = ftG ̸= 0 なら

deg(G+ (S)) ̸⊂ ⟨ degG ⟩なので、IFの本体でdegGは真に増加する事になるが、これは定理5.15より有限で終わらなければならないからである。一方、WHILEには1回毎にBの元を1つ減らす動作が入っているので、WHILEは有限回で停止する。(正当性) WHILEが停止した時のGをG∞とおく。任意の(i, j)について、IFの条件部でテストが行われ

た時、もしS(fi, fj)G= 0であれば、G∞はGの右に更に項を足したものなので、補題9.2(1)により、

S(fi, fj)G∞

= 0 がいえる。S = S(fi, fj)G̸= 0 であれば、補題9.2(3) よりS(fi, fj)

G+(S)= 0。G∞

はG+ (S)の右に更に項を足したものなので、先と同様にS(fi, fj)G∞

= 0 が成立する。

以上より、全ての(i, j)について、S(fi, fj)G∞

= 0 なので、定理8.12より、Gはグレブナ基底である。�

Page 82: Groebner 基底 - blade

例 40 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)

Page 83: Groebner 基底 - blade

= (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.(-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.

Page 84: Groebner 基底 - blade

(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

)

Page 85: Groebner 基底 - blade

〔練習問題〕以下、lex 順序で考える。

(1) F = (x, x+ y)に対し、⟨F ⟩のグレブナ基底を求めなさい。(2) F = (x3, x2y + x)に対し、⟨F ⟩のグレブナ基底を求めなさい。

(c.f. 例38)

9.2 極小グレブナ基底・簡約グレブナ基底

定義 9.4(極小グレブナ基底, 簡約グレブナ基底) イデアル I ⊂ k[x1, x2, · · · , xn] のグレブナ基底 G

が次の条件 (1), (2) を満たすとき、G は 極小グレブナ基底 であるという。

(1) 任意の p ∈ G について LC(p) = 1。(2) 任意の p ∈ G について deg p ̸∈ ⟨ deg(G− {p}) ⟩。

この (2) の代わりに次の (3) を満たすならG は 簡約グレブナ基底 であるという。

(3) 任意の p ∈ G について p のどの単項式の deg も⟨ deg(G− {p}) ⟩ に入らない。

補題 9.5 イデアル I のグレブナ基底を G とするとき、ある p ∈ G に対し deg p ∈ ⟨ deg(G− {p}) ⟩ だとすれば G− {p} も I のグレブナ基底である。

[証明] deg I = ⟨ degG ⟩ = ⟨ deg(G− {p}) ⟩ より、グレブナ基底の定義から明らか。�

Page 86: Groebner 基底 - blade

定理 9.6(極小グレブナ基底の存在) 任意のイデアル I ∈ k[x1, x2, · · · , xn] について I の極小グレブナ基底が存在する。

[証明] p ∈ G に対して deg p が deg(G− {p}) のどれかより ≥ なら、G := G− {p} として繰り返せばよい。�

例 41 例40の極小グレブナ基底を求めよ。すなわち、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) であった。これから極小グレブナ基底を求めよ。

[解] ここでdegG = {(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 − 1

2x)

が極小グレブナ基底である。

注 33 x2 = 2y · xy − 2x · (y2 − 12x) なので、この極小グレブナ基底は基底として冗長性がある。

Page 87: Groebner 基底 - blade

定理 9.7(簡約グレブナ基底の存在) 簡約グレブナ基底は次のアルゴリズムで得ることができる。

Input: G = (f_1, f_2, ..., f_s): I の極小グレブナ基底Output: G~ = (g_1, g_2, ..., g_s) : I の簡約グレブナ基底i := 1G~ := GWHILE i <= s DOg_i := f_i mod(G~ - {f_i})G~ := G~ - {f_i} + {g_i}i := i + 1

[証明] G は極小グレブナ基底なので deg f1 ̸∈ ⟨ deg(G− {f1}) ⟩。よって、割り算アルゴリズムを考えれば g1 = f1

G−{f1} に対してdeg g1 = deg f1。ゆえに、G̃ = G− {f1} ∪ {g1} とおくと、deg G̃ = degG · · · (∗)となる。また、g1 のどの単項式の deg も deg(G− {f1}) = deg(G̃− {g1}) のどれとも ≥ となることはない。g1 ∈ Iと(∗)より G̃ はグレブナ基底であり、極小グレブナ基底でもある。G

からG̃を作ったように、G̃からG̃(2)を作り、以下同様にG̃(3), . . . , G̃(s) を作ると、

degG = deg G̃ = · · · = deg G̃(s) となる。また、gi = fiG̃(i−1)−{fi} の任意の単項式のdegは

⟨ deg(G̃(i−1) − {fi}) ⟩ = ⟨ deg(G̃(s) − {gi}) ⟩ に属さないので、G̃(s) = ⟨ g1, g2, · · · , gs ⟩ は簡約グレブナ基底である。�

例 42 例41 のG = (x2, xy, y2 − 12x) は I = ⟨G ⟩ の簡約グレブナ基底でもある。しかし例えば

G′ = (x2 + xy, xy, y2 − 12x) を取ると、これは I の極小グレブナ基底だが簡約ではない。

Page 88: Groebner 基底 - blade

定理 9.8(簡約グレブナ基底の一意性) 簡約グレブナ基底は、単項式順序を固定すれば、各イデアルに対して一意に決まる。

[証明] G, G̃ を簡約グレブナ基底とする。

• G, G̃ は極小グレブナ基底である。• G, G̃ は極小グレブナ基底であることからdegG = deg G̃ が言える。[証明] g ∈ G とすれば、⟨ degG ⟩ = ⟨ deg G̃ ⟩ より、ある g̃ ∈ G̃ が存在して deg g̃ ≤ deg g。同様に、ある g′ ∈ G が存在してdeg(g′) ≤ deg(g̃) ≤ deg g。もし g ̸= g′ なら g′ ∈ G− {g} なのでdeg g ∈ ⟨ deg g′ ⟩ ⊂ ⟨ deg(G− {g}) ⟩ となって G の極小性と矛盾する。よって g = g′。従ってdeg g = deg g̃ ∈ deg G̃。以上より degG ⊂ 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}) のどれとも ≥ とならないので、degG のどれとも ≥ とならない。同様にT(RT(g̃)) のどの元の degもdeg G̃ = degG のどれとも ≥とならない。よって(b)よりT(g − g̃) の全ての元の deg はdegG のどれとでも ≥ とならない。よって割り算アルゴリズムより、g − g̃

G= g − g̃ · · · (c) である。(a)と(c) より g − g̃ = 0。�

• 以上より G = G̃ が言える。

系 9.9(イデアルの同一性判定アルゴリズム) 2つのイデアルが一致することはそれぞれの簡約グレブナ基底が一致することと同値である。

Page 89: Groebner 基底 - blade

Groebner 基底の応用

Page 90: Groebner 基底 - blade

§10 計算の実例

10.1 連立1次方程式

次の連立1次方程式を考える

3 −6 −2 02 −4 0 41 −2 −1 −1

xyzw

= 0. (1)

これはイデアル

I = ⟨ 3x− 6y − 2z, 2x− 4y + 4w, x− 2y − z − w ⟩ (2)

を考えることと同じ。これのグレブナ基底を定理9.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)

Page 91: Groebner 基底 - blade

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.(-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

)

Page 92: Groebner 基底 - blade

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.

Page 93: Groebner 基底 - blade

10.2 イデアル所属問題

有限集合 G が I のグレブナ基底なら、f ∈ I であるための必要十分条件はfG= 0 である。

これを利用してイデアル I = ⟨x3 − 2xy, x2y − 2y2 + x ⟩ に対して、x2 + 2y3 と x2 + 2y3 + y の所属問題を解く。前章の例42より、I の x > y > z によるgrlexでの(簡約)グレブナ基底G = ⟨x2, xy, y2 − 1

2x ⟩ で割り算して考えればよい。x2 + 2y3

G= 0 より x2 + 2y3 ∈ I。また、x2 + 2y3 + y

G= y ̸= 0 より

x2 + 2y3 + y ̸∈ I。

10.3 イデアル所属問題その2

⟨x3, x2y + x ⟩ = ⟨x ⟩を示せ。(例38, 前の〔練習問題〕を参考に。)

Page 94: Groebner 基底 - blade

10.4 イデアル同一性問題

事象 A, B についての次の条件は3つとも A と B が独立であることを意味している。これらが同値であることを検証する。

(α) P (A ∩ B) : P (A ∩ B) = P (A ∩ B) : P (A ∩ B)

(β) P (A ∩ B) = P (A)P (B)

(γ) P (A ∩ B) = P (A)P (B)

【解】各事象の確率に次のように名前を付ける

A A

B a b

B c d

(α) ⇐⇒ a : b = c : d ⇐⇒ ad− bc = 0

(β) ⇐⇒ a = (a+ c)(a+ b) ⇐⇒ a2 + ab+ ac− a+ bc = 0

(γ) ⇐⇒ c = (a+ c)(c+ d) ⇐⇒ ac+ ad+ c2 + cd− c = 0

(by lex order)------------------f1 = a + b + c + d - 1f2 = ad - bcS(f1, f2) = bc + bd + cd + d^2 - dS(f1, f2) / <f1, f2> =a1: 0a2: 0... bc + bd + cd + d^2 - d

f3 = bc + bd + cd + d^2 - d

Page 95: Groebner 基底 - blade

S(f1, f3) = -abd - acd - ad^2 + ad + b^2c + bc^2 + bcd - bcS(f1, f3) / <f1, f2, f3> =a1: -bd - cd - d^2 + da2: 0a3: b + c + d - 1... 0

S(f2, f3) = -abd^2 - acd^2 - ad^3 + ad^2 - b^2c^2S(f2, f3) / <f1, f2, f3> =a1: -bd^2 - cd^2 - d^3 + d^2a2: 0a3: -bc + bd + cd + d^2 - d... 0

Reduced Groebner Basis = [a + b + c + d - 1, bc + bd + cd + d^2 - d]------------------f1 = a + b + c + d - 1f2 = a^2 + ab + ac - a + bcS(f1, f2) = ad - bcS(f1, f2) / <f1, f2> =a1: da2: 0... -bc - bd - cd - d^2 + d

f3 = -bc - bd - cd - d^2 + dS(f1, f3) = -abd - acd - ad^2 + ad + b^2c + bc^2 + bcd - bcS(f1, f3) / <f1, f2, f3> =a1: -bd - cd - d^2 + da2: 0a3: -b - c - d + 1... 0

S(f2, f3) = -a^2bd - a^2cd - a^2d^2 + a^2d + ab^2c + abc^2 - abc + b^2c^2S(f2, f3) / <f1, f2, f3> =a1: -abd - acd - ad^2 + ad + b^2c + b^2d + bc^2 + 2bcd - bc + 2bd^2 - 2bd + c^2d + 2cd^2 - 2cd + d^3 - 2d^2 + da2: 0a3: b^2 + bc + 2bd - 2b + c^2 + 2cd - 2c + d^2 - 2d + 1... 0

Reduced Groebner Basis = [a + b + c + d - 1, bc + bd + cd + d^2 - d]------------------f1 = a + b + c + d - 1f2 = ac + ad + c^2 + cd - c

Page 96: Groebner 基底 - blade

S(f1, f2) = -ad + bcS(f1, f2) / <f1, f2> =a1: -da2: 0... bc + bd + cd + d^2 - d

f3 = bc + bd + cd + d^2 - dS(f1, f3) = -abd - acd - ad^2 + ad + b^2c + bc^2 + bcd - bcS(f1, f3) / <f1, f2, f3> =a1: -bd - cd - d^2 + da2: 0a3: b + c + d - 1... 0

S(f2, f3) = -acd - ad^2 + ad + bc^2 + bcd - bcS(f2, f3) / <f1, f2, f3> =a1: -cd - d^2 + da2: 0a3: c + d - 1... 0

Reduced Groebner Basis = [a + b + c + d - 1, bc + bd + cd + d^2 - d]

注 34 aが現れる度にb+ c+ d− 1に置き換えればいいので、これらの同値性の証明を実は優しい。が· · ·

Page 97: Groebner 基底 - blade

10.5 多次元多元連立方程式の解法

連立方程式 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).

計算の詳細は以下の通り:

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

-----------------------------------------------------------------

Page 98: Groebner 基底 - blade

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.

Page 99: Groebner 基底 - blade

(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

)

更に極小グレブナ基底は

G = (f3, f5, f6) = (x− z, y − 2z2, z4 +1

2z2 − 1

4)

Page 100: Groebner 基底 - blade

である。LT(G) = (x, y, z4) なのでこれは簡約済み。z4 + 12z

2 − 14 = 0 より、z の値は求めることがで

きて、

z = ±

√−1±

√5

4.

これから x, y も求めることができる。

Page 101: Groebner 基底 - blade

10.6 消去法

一応…

命題 10.1 イデアル I の有限部分集合 G が、グレブナ基底であるための必要十分条件は、任意のf ∈ I

に対し、あるg ∈ Gが存在して、LT(g)|LT(f)となることである。

定理 10.2(消去定理(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 が存在している。よって、G ∩ k[xl, · · · , xn]もI ∩ k[xl, · · · , xn]のGroebner基底である。�

Page 102: Groebner 基底 - blade

10.7 陰関数表示

曲線のパラメータ表示: 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.

Page 103: Groebner 基底 - blade

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)}

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)

Page 104: Groebner 基底 - blade

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.

Page 105: Groebner 基底 - blade

(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,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)

である。

Page 106: Groebner 基底 - blade

従って図形は曲線x− z2 = y2 − z3 = 0

に含まれる。

Page 107: Groebner 基底 - blade

10.8 ラグランジュ乗数法

(問題) x2 + y2 + z2 = 1 という束縛条件の下でf(x, y, z) = x3 + 2xyz − z2 の極値を求めよ。(解)g(x, y, z) = x2 + y2 + z2 − 1 と置くとλ をある未知数として、

fx = λgxfy = λgyfz = λgzg = 0

すなわち 3x2 + 2yz − 2xλ = 0

2xz − 2yλ = 02xy − 2z − 2zλ = 0x2 + y2 + z2 − 1 = 0

を解けばよい。これらの左辺で生成されるイデアルのGroebner基底を lex, λ > x > y > z で求めると、基底の一つとしてz7 − 1763

1152z5 + 655

1152z3 − 11

288z があるので、これを 0 と置くことにより z が求まり、他の変数の値も求まる。

Page 108: Groebner 基底 - blade

10.9 3色彩色問題

(問題) 次のグラフの各点に色を塗る。線分で結ばれた2点は必ず異なる色で塗るとするとき、3色で塗ることは可能か?

(解)各点に 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 = {xi

2 + xixj + xj2 − 1 | (i, j) ∈ L} と置けば、1つの3色の各塗り分けは、1つの V(⟨F ⟩) の要素

と1対1対応している。x8 の色を 0 に塗ってしまってよいので、F ′ = F ∪ {x8}, V(⟨F ′ ⟩) を考えても

Page 109: Groebner 基底 - blade

よい。変数に x1 > · · · > x8 で、lex 順序を入れて、⟨F ′ ⟩ の簡約グレブナ基底を求めるとG = {x1 − x7, x2 + x7, x3 − x7, x4, x5 + x7, x6, x7

2 + 2, x8} となる。V(⟨F ′ ⟩) = V(⟨G ⟩) が空集合でないことを確かめることができる。

Page 110: Groebner 基底 - blade

10.10 ヒルベルトの零点定理

定義 10.3(根基,√ ) I を環 R のイデアルとするとき、

√I = {f ∈ R | ∃n ≥ 0 fn ∈ I}

と定義し、I の根基という。

命題 10.4(1)√I は R のイデアルになる。

(2) R を整域とすれば√{0} = {0}。

(3)√R = R.

(4)√I = R ⇐⇒ I = R.

[証明] 略。�

定義 10.5(代数的閉体) 任意の k 上の代数方程式anx

n + an−1xn−1 + · · ·+ a0 = 0, n > 0, ai ∈ k (0 ≤ i ≤ n), an ̸= 0 がk に解を持つとき、k を代数的

閉体という。

例 43(1) 複素数体Cは代数的閉体である。(代数学の基本定理と呼ばれる。)

(2) F3は代数的閉体でない。(x2 + 1 = 0に解はない。)

定理 10.6(ヒルベルトの零点定理(Hilbert’s Nullstellensatz)) k を代数的閉体、I をR = k[x1, x2, · · · , xn] のイデアルとするとき、それで定義されるアフィン多様体 V(I) について、以下の事が言える。

(1) V(I) = ϕ ⇐⇒ I = R.

(2) I(V(I)) =√I.

Page 111: Groebner 基底 - blade

[証明] 略。�

系 10.7 kを代数的閉体とするとき、イデアル (f1, f2, · · · , fs) ⊂ k[x1, x2, · · · , xn]の簡約グレブナ基底が(1)でなければ、連立方程式f1 = f2 = · · · = fs = 0にはkn上の解がある。

10.11 3色彩色問題(再)

10.9 の問題において、最後に V(⟨G ⟩) が空集合ではないことを言うために、最後に連立方程式を実際に解く必要があったが、それを回避する方法がある。代数的閉体 C において、3つの色を

x3 − 1 = (x− 1)(x2 + x+ 1) = 0 の解、1, ω, ω2 (ここで、ω =−1 +

√−3

2) で塗り分ける。

xi3 − 1 = xj

3 − 1 = 0 を満たす xi, xj が異なるための必要十分条件は

x2i + xixj + x2

j = 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, x7

2 + x7 + 1, x8 − 1) となる。G ̸= (1) なので、ヒルベルトの基底定理よりV(⟨G ⟩) は空集合でない。

Page 112: Groebner 基底 - blade

10.12 垂心の存在

(問題)任意の三角形に垂心が存在する。(解)三角形の各頂点を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 a21 b1 b21 c1 c2

∣∣∣∣∣∣とおくときs ̸= 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 + b21c2 − b1c1c2 − b1 + b22c2 − b2c

22

g2 = y − a21b1 + a21c1 + a1b21 − a1c

21 − a22b1 + a22c1

+a2b1b2 + a2b1c2 − a2b2c1 − a2c1c2 − a2 − b21c1 − b1b2c2 + b1c21 + b2c1c2

g3 = a1b2 − a1c2 − a2b1 + a2c1 + b1c2 − b2c1 − 1

g3 = s− 1なので、g1 = g2 = g3 = 0の解(x, y)は存在する。

Page 113: Groebner 基底 - blade

§11 拡張定理

定理 11.1(拡張定理(Extension Theorem)) k を代数的閉体、I = ⟨ f1, f2, · · · , fs ⟩ ⊂ k[x1, x2, · · · , xn] をイデアル、I1 = I ∩ k[x2, · · · , xn] とする。各 fi を x1

の降べき順にfi = gi(x2, · · · , xn)x

Ni1 + · · · , gi ̸= 0.

と書く時、(a2, · · · , an) ∈ V(I1), (a2, · · · , an) ̸∈ V(g1, g2, · · · , gs) ならば、ある a1 ∈ k が存在して(a1, a2, · · · , an) ∈ V(I) となる。

[証明] (略) �

系 11.2 k を代数的閉体、I = ⟨ f1, f2, · · · , fs ⟩ ⊂ k[x1, x2, · · · , xn] をイデアル、I1 = I ∩ k[x2, · · · , xn] とする。ある i に対して fi を x1 の降べき順に

fi = c · xN1 + · · · , c ∈ k, c ̸= 0, N > 0.

と書く時、(a2, · · · , an) ∈ V(I1), (a2, · · · , an) ̸∈ V(g1, g2, · · · , gs) ならば、ある a1 ∈ k が存在して(a1, a2, · · · , an) ∈ V(I) となる。

[証明] 前定理より明らか。�