38.ブッフバーガーのアルゴリズム
用語とかもう少し整理した方が良いのかもしれない。以下はその変更案。
生成の記号は、全体空間がほぼ自明なのでで書く。
のによる割り算アルゴリズムの余り(remainder)をのによる簡約(reduction)と呼ぶ。特にがグレブナー基底なら、適当な組による簡約をのによる簡約と呼ぶ。またをと書く。
-多項式と標準表示
多重指数に対し、と定める。
で定める。これはとの先頭項を打ち消し合うように「掛けて」揃えたものである。
例えばの-多項式は、のdeglex()では
となる。一方grevlexではが「降べき」の順だから、
となる。このように-多項式も項順序によって異なる。
次に多項式の標準表示を定義し、グレブナー基底の判定法を求めよう。
に対し、多項式のによる標準表示(standard representation)とは、 であってが成り立つものをいう。
つまり高次の項が打ち消し合うような表示は標準表示ではない。
定理 (標準表示による判定法) とする。が生成するイデアルに対し、以下は同値である。
(証明)がグレブナー基底なら、のによる簡約はゼロとなり、従っての標準表示を与える。
一方が標準表示を持てばと表せて、更にとなるが存在する。このときが成り立つので、つまりが成り立つ。この逆は明らかなのではのグレブナー基底である。
ブッフバーガーのアルゴリズム
BuchbergerはGrobnerの弟子であり、Grobner基底を初めて導入した偉い人。つまり師の名前を取って名付けたらしい。
定理 とする。が生成するイデアルに対し、以下は同値である。
以下の証明はHassettに依る。
(証明)以下と置く。をグレブナー基底とすれば、のによる簡約はゼロとなる。従ってと表せる。特にが成り立つ。ところでとすればの定義は最高次の項を打ち消し合って出来るのでが成り立つ。これはLCM表示である。
-多項式達が上記の表示を持つとする。先の定理より任意のがの標準表示を持つことを示せば良い。そこで
と置く。だから項順序の整列性よりが存在する。これが等号となることを示せば良い。を取る表示を取り、更にとなるの個数が最小の個となる表示を取る。を仮定する。の元を並び替えて、ならとしてよい。特によりとなることに注意する。さてとしよう。このとき
であり、が成り立つ。ここでより、は共にを割り切る。よってであり、と表せる。そこでと置き、上の式にを掛け、更ににを掛けたものを加えてについて解く。すると
と表せる。これをと置く。
まずであり、である。よってが成り立つ。同様にしてが分かる。またに対してはであり、に対してはも分かる。これはの最小性に反する。
以上で、与えられた生成元からグレブナー基底を構成する準備が整った。Buchbergerのアイディアは、生成元から得られる-多項式を加え続けることでグレブナー基底を得ようというものである。
定理 (Buchbergerのアルゴリズム) とする。をで生成されるイデアルとする。以下の手順は有限回で終了し、出力はのグレブナー基底となる。
- 入力はであり、出力はである。
- まずにを代入する。
- を考え、それをに加えたものをとする。
- 加えた多項式がないとき、つまりであればを出力する。そうでないときは上の操作を繰り返す。
(証明)-多項式達は何れもイデアルに属するから、定理より出力がのグレブナー基底となることは良い。のときであることを示そう。今、新たにが加わったとする。割り算アルゴリズムよりである。ところがよりである。もし真の増大列が存在すれば、はネーター環であるから上昇列は停留するはずなので矛盾する。
所感
-多項式の定義を掛け算のみで定義しようと思ったら最後の証明と合わなくなって意味が無くなった。なかなか簡潔に書けないものだなぁ。
【動画紹介】πとマンデルブローの出会い
面白そうな話題。研究テーマにどうぞ。
Klebanoffの論文は見つけたけど文字化けしてて判読が難しそう。
あと動画中で紹介されてた動画も。
37.グレブナー基底の性質
今回はグレブナー基底がどういった性質を持つかについて学ぶ。与えられた生成系がグレブナー基底となるかどうかの判定法、そして与えられた生成系からグレブナー基底を得るためのアルゴリズムについては次回行う。
グレブナー基底による割り算
前節で例に挙げた割り算アルゴリズムについて、割る順序を変えて行ってみよう。即ちをの順で割り算をする。すると
となり、余りが異なる結果になってしまう。イデアルに属すかどうかは生成系の順序は関係ないので、可能ならば割り算の順序に依らず余りが決まると嬉しい。グレブナー基底はそれを可能にする。
定理 イデアルのグレブナー基底をとする。多項式に対し、多項式が一意的に存在し、次を満たす。
- である。
- となるか、そうでないならはのどの項も割り切らない。
(証明)二条件を満たすの存在は割り算アルゴリズムから従うので一意性を示せば良い。とで表せるとする。このときなので、ならを得る。もの元も項だから、あるが存在してとなる。右辺はまたはの項成分のいずれかの定数倍なので、二番目の条件に矛盾する。よってである。割り算の順序によらないことは、の元を適当に並び替えればの一意性より従う。
グレブナー基底に対し、定理より割り算アルゴリズムによる余りがの元の順序に依らず一意的に決まることが分かる。多項式に対する割り算の余りを、と表す。
系 (イデアル所属判定法(Ideal Membership Criterion)) をイデアルのグレブナー基底とする。以下は同値である。
- である。
- である。
(証明)余りをとする。ならであり、逆にならとなるから一意性よりを得る。
グレブナー基底の定義は先頭項イデアルに対する条件であったが、元のイデアルに対する生成系にもなっている。
(証明)とする。上の系よりだからが従う。逆は明白だろう。
極小グレブナー基底
イデアルのグレブナー基底に対し、の元を足したり引いたりしたものをまたに加えても、再びのグレブナー基底となる。つまりグレブナー基底には余分な元が含まれている可能性があり、計算するときには無駄になるため、このような元を取り除くプロセスがあると良い。
グレブナー基底が極小(minimal)であるとは、ならが成り立つことを指す。言い換えればに対し、が成り立つ。
命題 イデアルのグレブナー基底に対し、となるが存在するとする。とすると、はのグレブナー基底となる。
(証明)条件より
が従うのではのグレブナー基底である。
は項に対する言及だから指数を比較すれば直ちに分かる。は有限だから上記の操作は有限回で終わるので、極小グレブナー基底を得るアルゴリズムとなっている。
極小グレブナー基底の定義には、に対しが成り立つことを加えることもある。この場合は上記のプロセスに、をで割るプロセスを加えればよい。またこのとき次が成り立つ。
補題 をイデアルのグレブナー基底(先頭項の係数はイチ)とするとが成り立つ。
(証明)とする。
なので、あるが存在してとなる。に対しても同様にが存在してとなる。よってが成り立ち、極小性と先頭項の係数がイチであることからが従う。故にが成り立つ。つまりが分かる。逆も同様なので一致する。
特に二つの極小グレブナー基底に対し、その元の個数は一致することが分かる。
被約グレブナー基底
極小グレブナー基底は、たとえ先頭項の係数がイチであっても一意的に決まるわけではない。数学的にそれほど本質的な議論というわけではないが*1、割り算計算の軽量化を考えれば、なるべく単純な形の基底が欲しい。実は余分な元だけではなく余分な項も取り除いた、被約グレブナー基底というものを考えることで(イデアルに対し)唯一になる。(項順序には依る。)
定義 イデアルの極小グレブナー基底が以下の二条件を満たすとき、被約(reduced)であるという。
- 任意のに対しが成り立つ。
- 任意のに対し、をの項成分とすると、が成り立つ。
被約なら極小である。
命題 をイデアルの極小グレブナー基底(先頭項の係数はイチ)とする。に対し、による割り算の余りをで表す。(も別のグレブナー基底となっていて、割る順序に依らないことも多分分かるけどあまり重要ではない。)として、と置く。このときはの極小グレブナー基底(先頭項の係数はイチ)であり、のどの項成分もに含まれていない。
(証明)後半は割り算アルゴリズムの定義より従う。は極小だから、である。よって先頭項はそのまま割り算の余りになるためが成り立つ。特に先頭項の係数はイチなのでが成り立つ。従ってとなるため、
を得る。つまりはグレブナー基底であり、更に極小性も自明である。
をイデアルの極小グレブナー基底としてと置く。を(の適当な順)で割った余りをとし、と定め、のをで置き換えたものをと置く。このとき上記の命題により各は極小グレブナー基底(先頭項の係数はイチ)となり、更には被約グレブナー基底となることが分かる。よって極小グレブナー基底から被約グレブナー基底を得るアルゴリズムが得られた。
定理 被約グレブナー基底は一意的である。
(証明)をイデアルの被約グレブナー基底とする。極小性よりである。よってに対してが一意的に存在してが成り立つ。このときとなることを示せば良い。まず先頭項が一致するのでである。そこででを割ると、はのどの項成分も割り切らない。の被約性よりに対してはのどの項成分も割り切らない。となるを考えれば、の被約性より、はのどの項成分も割り切らない。故にのどの項成分も割り切らないため、をで割り算した余りはそのものになる。より余りはゼロ、即ちが従う。
所感
次回はいよいよブッフバーガーによるグレブナー基底を求めるためのアルゴリズムを紹介する。その後は代数幾何の第一歩っぽいことが出来たらいいな。応用とかバリエーションについても勉強したい。
*1:自分が知らないだけで重要な意味があるのかな?