arXiv探訪

興味の赴くままに数学するだけ

38.ブッフバーガーのアルゴリズム

用語とかもう少し整理した方が良いのかもしれない。以下はその変更案。

イデアルは単項式イデアルと呼ぶことにする。

生成の記号は、全体空間がほぼ自明なので{ \langle\cdot \rangle }で書く。

{ f }{ (f_{1}, \dotsc, f_{s}) }による割り算アルゴリズムの余り(remainder)を{ f }{ (f_{i}) }による簡約(reduction)と呼ぶ。特に{ G }グレブナー基底なら、適当な組による簡約を{ f }{ G }による簡約と呼ぶ。また{ \overline{f}^{G} }{ \mathrm{red}(f, G) }と書く。

{ \mathrm{S} }-多項式と標準表示

多重指数{ \alpha=(\alpha_{1}, \dotsc, \alpha_{n}), \beta=(\beta_{1}, \dotsc, \beta_{n})\in\mathbb{Z}_{\ge 0}^{n} }に対し、{ \alpha\vee\beta:=(\mathrm{max}(\alpha_{1}, \beta_{1}), \dotsc, \mathrm{max}(\alpha_{n}, \beta_{n}) ) }と定める。

多項式{ f, g }{ \mathrm{S} }-多項式を、

{ \displaystyle \mathrm{S}(f, g):=\mathrm{LC}(g)X^{\alpha\vee\beta-\alpha}f-\mathrm{LC}(f)X^{\alpha\vee\beta-\beta}g }

で定める。これは{ f }{ g }の先頭項を打ち消し合うように「掛けて」揃えたものである。

例えば{ f=X^{2}Y-XY^{2}+1, g=XY^{2}-Y^{3}-1 }{ \mathrm{S} }-多項式は、{ k\lbrack X, Y \rbrack }のdeglex({ X\gt Y})では

{ \mathrm{S}(f, g)=Yf-Xg=X^{2}Y^{2}-XY^{3}+Y-(X^{2}Y^{2}-XY^{3}-X)=X+Y }

となる。一方grevlexでは{ f=-XY^{2}+X^{2}Y+1, g=-Y^{3}+XY^{2}-1 }が「降べき」の順だから、

{ \mathrm{S}(f, g)=(-1)Yf-(-1)Xg=XY^{3}-X^{2}Y^{2}-Y-(XY^{3}-X^{2}Y^{2}+X)=-X-Y }

となる。このように{ \mathrm{S} }-多項式も項順序によって異なる。

次に多項式の標準表示を定義し、グレブナー基底の判定法を求めよう。

{ F=\lbrace f_{1}, \dotsc, f_{s} \rbrace }に対し、多項式{ f }{ F }による標準表示(standard representation)とは、 { f=a_{1}f_{1}+\dotsb+a_{s}f_{s} }であって{ \mathrm{deg}(f)=\mathrm{max}\lbrace \mathrm{deg}(a_{i}f_{i}) \mid a_{i}\neq 0 \rbrace }が成り立つものをいう。

つまり高次の項が打ち消し合うような表示は標準表示ではない。

定理 (標準表示による判定法) { g_{i}\neq 0, G=\lbrace g_{1}, \dotsc, g_{s} \rbrace }とする。{ G }が生成するイデアル{ I }に対し、以下は同値である。

(証明){ G }グレブナー基底なら、{ f }{ G }による簡約はゼロとなり、従って{ f }の標準表示を与える。

一方{ f\in I, \neq 0 }が標準表示を持てば{ f=\sum_{g\in G}a_{g}g }と表せて、更に{ \mathrm{deg}(f)=\mathrm{deg}(a_{g}g) }となる{ g\in G }が存在する。このとき{ \mathrm{LT}(g)|\mathrm{LT}(f) }が成り立つので、{ \mathrm{LT}(f)\in\langle\mathrm{LT}(G)\rangle }つまり{ \langle\mathrm{LT}(I)\rangle\subset\langle\mathrm{LT}(G)\rangle }が成り立つ。この逆は明らかなので{ G }{ I }グレブナー基底である。{ \square }

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

BuchbergerはGrobnerの弟子であり、Grobner基底を初めて導入した偉い人。つまり師の名前を取って名付けたらしい。

定理 { g_{i}\neq 0, G=\lbrace g_{1}, \dotsc, g_{s} \rbrace }とする。{ G }が生成するイデアル{ I }に対し、以下は同値である。

以下の証明はHassettに依る。

(証明)以下{ s_{ij}:=\mathrm{S}(g_{i}, g_{j}) }と置く。{ G }グレブナー基底とすれば、{ s_{ij} }{ G }による簡約はゼロとなる。従って{ s_{ij}=\sum a_{iju}g_{u} }と表せる。特に{ \mathrm{deg}(s_{ij})=\mathrm{max}\lbrace \mathrm{deg}(a_{iju}g_{u}) \mid a_{iju}\neq 0 \rbrace }が成り立つ。ところで{ \gamma_{ij}=\mathrm{deg}(g_{i}), \mathrm{deg}(g_{j}) }とすれば{ s_{ij} }の定義は最高次{ \gamma_{ij} }の項を打ち消し合って出来るので{ \mathrm{deg}s_{ij}\lt \gamma_{ij} }が成り立つ。これはLCM表示である。

{ \mathrm{S} }-多項式達が上記の表示を持つとする。先の定理より任意の{ f\in I\backslash\lbrace 0 \rbrace }{ G }の標準表示を持つことを示せば良い。そこで

{ \displaystyle D:=\left\lbrace \mathrm{max}\lbrace \mathrm{deg}(h_{j}g_{j})\mid h_{j}\neq 0 \rbrace \mid f=\sum_{j=1}^{s}h_{j}g_{j} \right\rbrace }

と置く。{ D\subset \mathbb{Z}_{\ge 0}^{n} }だから項順序の整列性より{ \mathrm{min}D=:\delta\ge\mathrm{deg}f }が存在する。これが等号となることを示せば良い。{ \delta }を取る表示を取り、更に{ \mathrm{deg}(h_{j}g_{j})=\delta }となる{ j }の個数が最小の{ m }個となる表示を取る。{ \delta\gt \mathrm{deg}f }を仮定する。{ G }の元を並び替えて{ \mathrm{deg}(h_{1}g_{1})=\dotsb=\mathrm{deg}(h_{m}g_{m})=\delta }{ j\gt m }なら{ \mathrm{deg}(h_{j}g_{j})\lt \delta }としてよい。特に{ \delta\gt \mathrm{deg}f }より{ m\ge 2 }となることに注意する。さて{ \gamma_{12}:=\mathrm{deg}(g_{1})\vee\mathrm{deg}(g_{2}) }としよう。このとき

{\displaystyle s_{12}=\sum a_{12u}g_{u}=\mathrm{LC}(g_{2})X^{\gamma_{12}-\mathrm{deg}(g_{1})}g_{1}-\mathrm{LC}(g_{1})X^{\gamma_{12}-\mathrm{deg}(g_{2})}g_{2} }

であり、{ \mathrm{max}\lbrace \mathrm{deg}(a_{12u}g_{u}) \mid a_{12u}\neq 0 \rbrace \lt \gamma_{12} }が成り立つ。ここで{ \delta=\mathrm{deg}(h_{1}g_{1})=\mathrm{deg}(h_{2}g_{2}) }より、{ \mathrm{LM}(g_{1}), \mathrm{LM}(g_{2}) }は共に{ X^{\delta} }を割り切る。よって{ X^{\gamma_{12}}|X^{\delta} }であり、{ \delta=\gamma_{12}+\epsilon }と表せる。そこで{ \mathrm{LT}(h_{1}g_{1})=cX^{\delta}=cX^{\gamma_{12}}X^{\epsilon} }と置き、上の式に{ cX^{\epsilon} }を掛け、更に{ h_{1}g_{1}+h_{2}g_{2}+\sum_{j\ge 3}h_{j}g_{j}=f }{ C=\mathrm{LC}(g_{1})\mathrm{LC}(g_{2})\neq 0 }を掛けたものを加えて{ f }について解く。すると

{ \begin{align*} f=& (h_{1}-\mathrm{LT}(h_{1})+C^{-1}cX^{\epsilon}a_{121})g_{1} \\ &+(h_{2}+\mathrm{LC}(g_{2})^{-1}cX^{\delta-\mathrm{deg}(g_{2})}+C^{-1}cX^{\epsilon}a_{122})g_{2} \\ &+\sum_{j\ge 3}(h_{j}+C^{-1}cX^{\epsilon}a_{12j})g_{j} \end{align*} }

と表せる。これを{ f=\sum \widetilde{h_{j}}g_{j} }と置く。

まず{ \mathrm{deg}( (h_{1}-\mathrm{LT}(h_{1}) )g_{1} ) \lt \mathrm{deg}(h_{1}g_{1})=\delta }であり、{ \mathrm{deg}( (C^{-1}cX^{\epsilon}a_{121})g_{1} )=\epsilon+\mathrm{deg}(a_{121}g_{1}) \lt \epsilon+\gamma_{12}=\delta }である。よって{ \mathrm{deg}(\widetilde{h_{1}}g_{1})\lt\delta }が成り立つ。同様にして{ \mathrm{deg}(\widetilde{h_{2}}g_{2})\le\delta }が分かる。また{ j=3, \dotsc, m }に対しては{ \mathrm{deg}(\widetilde{h_{j}}g_{j})=\delta }であり、{ j\gt m }に対しては{ \mathrm{deg}(\widetilde{h_{j}}g_{j})\lt\delta }も分かる。これは{ m }の最小性に反する。{ \square }

以上で、与えられた生成元からグレブナー基底を構成する準備が整った。Buchbergerのアイディアは、生成元から得られる{ \mathrm{S} }-多項式を加え続けることでグレブナー基底を得ようというものである。

定理 (Buchbergerのアルゴリズム{ f_{i}\neq 0, F=\lbrace f_{1}, \dotsc, f_{s} \rbrace }とする。{ I }{ F }で生成されるイデアルとする。以下の手順は有限回で終了し、出力{ G }{ I }グレブナー基底となる。

  • 入力は{ F }であり、出力は{ G }である。
  • まず{ G^{\prime} }{ F }を代入する。
  • { \lbrace \mathrm{red}(\mathrm{S}(p, q), G^{\prime}) \mid p, q\in G^{\prime}, p\neq q \rbrace\backslash\lbrace 0 \rbrace }を考え、それを{ G^{\prime} }に加えたものを{ G }とする。
  • 加えた多項式がないとき、つまり{ G=G^{\prime} }であれば{ G }を出力する。そうでないときは上の操作を繰り返す。

(証明){ \mathrm{S} }-多項式達は何れもイデアル{ I }に属するから、定理より出力{ G }{ I }グレブナー基底となることは良い。{ G\supsetneq G^{\prime} }のとき{ \langle \mathrm{LT}(G) \rangle\supsetneq \langle \mathrm{LT}(G^{\prime}) \rangle }であることを示そう。今、新たに{ r=\mathrm{red}(\mathrm{S}(p, q), G^{\prime}) }が加わったとする。割り算アルゴリズムより{ \mathrm{LT}( r )\notin\langle \mathrm{LT}(G^{\prime}) \rangle }である。ところが{ r\in G }より{ \mathrm{LT}( r )\in \langle \mathrm{LT}(G) \rangle }である。もし真の増大列が存在すれば、{ k\lbrack X \rbrack }ネーター環であるから上昇列は停留するはずなので矛盾する。{ \square }

所感

{ \mathrm{S} }-多項式の定義を掛け算のみで定義しようと思ったら最後の証明と合わなくなって意味が無くなった。なかなか簡潔に書けないものだなぁ。

37.グレブナー基底の性質

今回はグレブナー基底がどういった性質を持つかについて学ぶ。与えられた生成系がグレブナー基底となるかどうかの判定法、そして与えられた生成系からグレブナー基底を得るためのアルゴリズムについては次回行う。

グレブナー基底による割り算

前節で例に挙げた割り算アルゴリズムについて、割る順序を変えて行ってみよう。即ち{ f=X^{2}Y+1 }{ f_{2}=X^{2}-Y, f_{1}=XY-X }の順で割り算をする。すると

{ X^{2}Y+1=Y(X^{2}-Y)+0(XY-X)+Y^{2}+1 }

となり、余りが異なる結果になってしまう。イデアルに属すかどうかは生成系の順序は関係ないので、可能ならば割り算の順序に依らず余りが決まると嬉しい。グレブナー基底はそれを可能にする。

定理 イデアル{ I\subset k\lbrack X \rbrack }グレブナー基底{ G }とする。多項式{ f }に対し、多項式{ r }が一意的に存在し、次を満たす。

  • { f-r\in I }である。
  • { r=0 }となるか、そうでないなら{ \mathrm{LT}(g_{i}) }{ r }のどの項も割り切らない。

(証明)二条件を満たす{ r }の存在は割り算アルゴリズムから従うので一意性を示せば良い。{ f=g+r=g^{\prime}+r^{\prime} }{ g, g^{\prime}\in I }で表せるとする。このとき{ r-r^{\prime}\in I }なので、{ r-r^{\prime}\neq 0 }なら{ \mathrm{LT}(r-r^{\prime})\in\langle\mathrm{LT}(I)\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(G)\rangle_{k\lbrack X \rbrack} }を得る。{ r-r^{\prime} }{ \mathrm{LT}(G) }の元も項だから、ある{ i }が存在して{ \mathrm{LT}(g_{i})|\mathrm{LT}(r-r^{\prime}) }となる。右辺は{ r }または{ r^{\prime} }の項成分のいずれかの定数倍なので、二番目の条件に矛盾する。よって{ r-r^{\prime}=0 }である。割り算の順序によらないことは、{ G }の元を適当に並び替えれば{ r }の一意性より従う。{ \square }

グレブナー基底{ G }に対し、定理より割り算アルゴリズムによる余りが{ G }の元の順序に依らず一意的に決まることが分かる。多項式{ f }に対する割り算の余りを、{ \overline{f}^{G} }と表す。

イデアル所属判定法(Ideal Membership Criterion)) { G }イデアル{ I }グレブナー基底とする。以下は同値である。

  • { f\in I }である。
  • { \overline{f}^{G}=0 }である。

(証明)余りを{ r }とする。{ r=0 }なら{ f-r=f\in I }であり、逆に{ f\in I }なら{ f-0=f\in I }となるから一意性より{ r=0 }を得る。{ \square }

グレブナー基底の定義は先頭項イデアルに対する条件であったが、元のイデアルに対する生成系にもなっている。

{ G }イデアル{ I }グレブナー基底とすると、{ I=\langle G \rangle_{k\lbrack X \rbrack} }が成り立つ。

(証明){ f\in I }とする。上の系より{ \overline{f}^{G}=0 }だから{ f\in\langle G \rangle_{k\lbrack X \rbrack} }が従う。逆は明白だろう。{ \square }

極小グレブナー基底

イデアル{ I }グレブナー基底{ G }に対し、{ G }の元を足したり引いたりしたものをまた{ G }に加えても、再び{ I }グレブナー基底となる。つまりグレブナー基底には余分な元が含まれている可能性があり、計算するときには無駄になるため、このような元を取り除くプロセスがあると良い。

グレブナー基底{ G=\lbrace g_{1}, \dotsc, g_{s} }が極小(minimal)であるとは、{ \mathrm{LT}(g_{i})|\mathrm{LT}(g_{j}) }なら{ i=j }が成り立つことを指す。言い換えれば{ g\in G }に対し、{ \mathrm{LT}(g)\notin\langle \mathrm{LT}(G\backslash\lbrace g \rbrace)\rangle_{k\lbrack X \rbrack} }が成り立つ。

命題 イデアル{ I }グレブナー基底{ G }に対し、{ \mathrm{LT}(p)\in\langle\mathrm{LT}(G\backslash\lbrace p \rbrace)\rangle_{k\lbrack X \rbrack} }となる{ p\in G }が存在するとする。{ G^{\prime}:=G\backslash\lbrace p \rbrace }とすると、{ G^{\prime} }{ I }グレブナー基底となる。

(証明)条件より

{ \langle\mathrm{LT}(I)\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(G)\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(G^{\prime})\rangle_{k\lbrack X \rbrack} }

が従うので{ G^{\prime} }{ I }グレブナー基底である。{ \square }

{ \mathrm{LT}(p)\in\langle\mathrm{LT}(G\backslash\lbrace p \rbrace)\rangle_{k\lbrack X \rbrack} }は項に対する言及だから指数を比較すれば直ちに分かる。{ \sharp G }は有限だから上記の操作は有限回で終わるので、極小グレブナー基底を得るアルゴリズムとなっている。

極小グレブナー基底の定義には、{ g\in G }に対し{ \mathrm{LC}(g)=1 }が成り立つことを加えることもある。この場合は上記のプロセスに、{ g\in G }{ \mathrm{LC}(g) }で割るプロセスを加えればよい。またこのとき次が成り立つ。

補題 { G_{1}, G_{2} }イデアル{ I }グレブナー基底(先頭項の係数はイチ)とすると{ \mathrm{LT}(G_{1})=\mathrm{LT}(G_{2}) }が成り立つ。

(証明){ p\in G_{1} }とする。

{ \mathrm{LT}(p)\in\langle\mathrm{LT}(G_{1})\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(I)\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(G_{2})\rangle_{k\lbrack X \rbrack} }

なので、ある{ q\in G_{2} }が存在して{ \mathrm{LT}(q)|\mathrm{LT}(p) }となる。{ q }に対しても同様に{ p^{\prime}\in G_{1} }が存在して{ \mathrm{LT}(p^{\prime})|\mathrm{LT}(q) }となる。よって{ \mathrm{LT}(p^{\prime})|\mathrm{LT}(p) }が成り立ち、極小性と先頭項の係数がイチであることから{ p^{\prime}=p }が従う。故に{ \mathrm{LT}(p)=\mathrm{LT}(q) }が成り立つ。つまり{ \mathrm{LT}(G_{1})\subset\mathrm{LT}(G_{2}) }が分かる。逆も同様なので一致する。{ \square }

特に二つの極小グレブナー基底に対し、その元の個数は一致することが分かる。

被約グレブナー基底

極小グレブナー基底は、たとえ先頭項の係数がイチであっても一意的に決まるわけではない。数学的にそれほど本質的な議論というわけではないが*1、割り算計算の軽量化を考えれば、なるべく単純な形の基底が欲しい。実は余分な元だけではなく余分な項も取り除いた、被約グレブナー基底というものを考えることで(イデアルに対し)唯一になる。(項順序には依る。)

定義 イデアル{ I }の極小グレブナー基底{ G }が以下の二条件を満たすとき、被約(reduced)であるという。

  • 任意の{ g\in G }に対し{ \mathrm{LC}(g)=1 }が成り立つ。
  • 任意の{ g\in G }に対し、{ t }{ g }の項成分とすると、{ t\notin\langle\mathrm{LT}(G\backslash\lbrace g \rbrace)\rangle_{k\lbrack X \rbrack} }が成り立つ。

被約なら極小である。

命題 { G }イデアル{ I }の極小グレブナー基底(先頭項の係数はイチ)とする。{ g\in G }に対し、{ G\backslash\lbrace g \rbrace }による割り算の余りを{ \overline{g} }で表す。({ G\backslash\lbrace g \rbrace }も別のグレブナー基底となっていて、割る順序に依らないことも多分分かるけどあまり重要ではない。){ \overline{g}^{\prime}:=\frac{\overline{g}}{\mathrm{LC}(\overline{g})} }として、{ G^{\prime}:=(G\backslash \lbrace g \rbrace)\cup\lbrace \overline{g} \rbrace }と置く。このとき{ G^{\prime} }{ I }の極小グレブナー基底(先頭項の係数はイチ)であり、{ \overline{g}^{\prime} }のどの項成分も{ \langle\mathrm{LT}(G^{\prime}\backslash\lbrace \overline{g}^{\prime} \rbrace)\rangle_{k\lbrack X \rbrack} }に含まれていない。

(証明)後半は割り算アルゴリズムの定義より従う。{ G }は極小だから、{ \mathrm{LT}(g)\notin\langle \mathrm{LT}(G\backslash\lbrace g \rbrace) \rangle_{k\lbrack X \rbrack} }である。よって先頭項はそのまま割り算の余りになるため{ \mathrm{LM}(\overline{g}^{\prime})=\mathrm{LM}(g) }が成り立つ。特に先頭項の係数はイチなので{ \mathrm{LT}(\overline{g}^{\prime})=\mathrm{LT}(g) }が成り立つ。従って{ \mathrm{LT}(G)=\mathrm{LT}(G^{\prime}) }となるため、

{ \langle\mathrm{LT}(G^{\prime})\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(G)\rangle_{k\lbrack X \rbrack}=\langle\mathrm{LT}(I)\rangle_{k\lbrack X \rbrack} }

を得る。つまり{ G^{\prime} }グレブナー基底であり、更に極小性も自明である。{ \square }

{ G=\lbrace g_{1}, \dotsc, g_{s} \rbrace }イデアル{ I }の極小グレブナー基底として{ G_{0}:=G }と置く。{ g_{i} }{ G_{i-1}\backslash\lbrace g_{i} \rbrace }(の適当な順)で割った余りを{ \overline{g_{i}} }とし、{ \overline{g_{i}}^{\prime}:=\frac{\overline{g_{i}}}{\mathrm{LC}(\overline{g_{i}})} }と定め、{ G_{i-1} }{ g_{i} }{ \overline{g_{i}}^{\prime} }で置き換えたものを{ G_{i} }と置く。このとき上記の命題により各{ G_{1}, \dotsc, G_{s} }は極小グレブナー基底(先頭項の係数はイチ)となり、更に{ G_{s} }は被約グレブナー基底となることが分かる。よって極小グレブナー基底から被約グレブナー基底を得るアルゴリズムが得られた。

定理 被約グレブナー基底は一意的である。

(証明){ G_{1}, G_{2} }イデアル{ I }の被約グレブナー基底とする。極小性より{ \mathrm{LT}(G_{1})=\mathrm{LT}(G_{2}) }である。よって{ p\in G_{1} }に対して{ q\in G_{2} }が一意的に存在して{ \mathrm{LT}(p)=\mathrm{LT}(q) }が成り立つ。このとき{ p=q }となることを示せば良い。まず先頭項が一致するので{ \mathrm{deg}(p-q)\lt\mathrm{deg}p }である。そこで{ G_{1} }{ p-q }を割ると、{ \mathrm{LT}(p) }{ p-q }のどの項成分も割り切らない。{ G_{1} }の被約性より{ p^{\prime}\in G_{1}\backslash\lbrace p \rbrace }に対して{ \mathrm{LT}(p^{\prime}) }{ p }のどの項成分も割り切らない。{ \mathrm{LT}(p^{\prime})=\mathrm{LT}(q^{\prime}) }となる{ q^{\prime}\in G_{2} }を考えれば、{ G_{2} }の被約性より、{ \mathrm{LT}(p^{\prime})=\mathrm{LT}(q^{\prime}) }{ q }のどの項成分も割り切らない。故に{ p-q }のどの項成分も割り切らないため、{ p-q }{ G_{1} }で割り算した余りは{ p-q }そのものになる。{ p-q\in I }より余りはゼロ、即ち{ p=q }が従う。{ \square }

所感

次回はいよいよブッフバーガーによるグレブナー基底を求めるためのアルゴリズムを紹介する。その後は代数幾何の第一歩っぽいことが出来たらいいな。応用とかバリエーションについても勉強したい。

*1:自分が知らないだけで重要な意味があるのかな?