グレブナー基底                             戻る

 グレブナー基底(Groebner basis)という言葉を最近よく耳にする。グレブナー基底
そのものは、広中平祐氏(1964年)、B.Buchberger氏(1965年)により独立に発見さ
れたものだということなので、歴史的にはもう40年以上が経っている。しかし、グレブナー
基底が人類の宝として脚光を浴びだしたのはそれほど古いことではないようだ。

 (知り合いのTさんが勤める早稲田大学高等学院に、2004年10月、B.Buchberger氏が来校
 され、特別授業 を行ったそうである。


 最近の急速な計算機数学の発展から科学の様々な分野で再認識され、それがまた新
しい刺激となって、グレブナー基底は、科学界を席巻しているような感がある。

 グレブナー基底の理論は、19世紀以来の消去法の理論を包括しており、いろいろな応
用を生み出す活力の泉にもなっているそうだ。

 当HPがいつもお世話になっている A’zさんもパソコンを駆使され、グレブナー基底を活
用された計算を多数行い、我々にいろいろな事例を提供されている。このページでは、非
常に肥沃な応用の可能性を持つグレブナー基底について、当HPのレベルを考えながらも
私の力の及ぶ範囲でまとめようと思う。

 ここでは、多項式環におけるイデアルを具体的に計算する手段が学べるらしい。さらに、
イデアルだけでなく、多項式環上の自由加群の部分加群にも一般化できるらしいが、私
の力が及ぶかどうか...?

 ところで、グレブナー基底を計算するには、ブッフベルガーの判定法というものが知ら
れていて、しかも有限回の操作で終わることから、計算機を用いた探究が始まったようだ。

 ただし、有限回の操作で終わるというグレブナー基底の計算も、人間による人力ではと
ても難しいらしい。インターネット上や A’z さんのグレブナー基底の計算例を見ると、「目
がテン!」になるほどの強烈なインパクトと激烈な徒労感を同時に味わうことができる。


 環 の部分集合 イデアル(Ideal) とは、の部分加群であり、かつ、

      λ∈R に対して、 λH⊂H

が成り立つときをいう。


 整数全体の集合 において、 2 ={ 2n |n∈ } はイデアルである。イデアルのイ
メージとしては、足し算という演算で閉じていて、何倍してもその中に収まるという雰囲気が
持てれば十分かな?

 偶数同士足しても偶数だし、偶数を何倍しても偶数だよね!(これがイデアルのイメージ


 イデアルというと取っつきにくい感じが否めないが、この概念は中学校数学で学ぶ連立
方程式の加減法による解法にその萌芽を見ることが出来る。

 例 連立方程式 x+2y−3=0 、x−y=0 を加減法で解くとき、

     (x+2y−3)+2(x−y)=3x−3  により、新しい方程式 3x−3=0 を作り

    連立方程式 x+2y−3=0 、x−y=0 、3x−3=0 を実は解いている!

  このことは、 イデアル が多項式 x+2y−3 、x−y を含むとき、

  多項式 (x+2y−3)+2(x−y) もイデアル に含まれるという事実に基づく。


 整数全体の集合 において、イデアル 2 は唯一の数 2 で生成されている。この場合、
(2)と書く流儀もあるようだ。唯一の数で生成されるイデアルのことを単項イデアルという。

 整数環 を係数に持つ一変数の多項式環 Z[x] において、多項式 G(x)=2x+4 が
生成するイデアルを と置くとき、多項式 F(x)= 2x2+2x−4 は、果たして、イデアル
の要素だろうか?

 上記では難しい言葉を使っているが、高校数学風に言い換えれば、

   多項式 F(x)= 2x2+2x−4 は、多項式 G(x)=2x+4 で割り切れるか?

という単純な問題である。

 答えは明らかだろう。

  F(x)= 2x2+2x−4=(x−1)(2x+4)=(x−1) G(x)

なので、F(x)は、G(x) で割り切れる。すなわち、 F(x) は、イデアル の要素である。

 それでは、イデアル に属さない多項式環 Z[x] の要素はあるだろうか?

これも即答できると思う。

 多項式 x+2 は、決して f(x)・(2x+4) ( f(x)∈Z[x] ) の形には表し得ない。

それは、多項式 2x+4 の選び方が適切ではなかったからだし、また、イデアルの生成元と
しても不十分だったからだと思われる。

 どんな整数係数の多項式も最高次の係数が1の1次式で割ると余りは必ず整数

すなわち、整数係数の多項式 F(x) は、必ず

     F(x)=A・1+B・( x+2 )   ただし、 A∈Z 、 B∈Z[x]

と一意に書き表すことが出来る。

 上記の式で、「B・( x+2 )」という部分が、整数で考えたような、x+2 という多項式で
生成されるという部分である。

 グレブナ基底は、基底という言葉を用いているが、ベクトル空間における「基底」という概
念とは異なるものである。敢えて言えば、独立性を無視して、生成元という意味合いの方
が強い。

 基底としては、いろいろな選び方がある。その選び方にも「適切な」基底というものがある
らしい。多項式環において、「グレブナー基底」が最も適切な基底なのだろう...多分!


 1変数の場合は特別な難しさを感じないが、2変数以上になると俄然困難さが際だってく
る。以下では、2変数の場合に限定して話を進める。

 対称式の集まりの中で、基本対称式がグレブナー基底そのものではないにしてもアイデ
ア的には相当に近いものと考えられる。

次の事実は有名だろう。数学に興味がある高校生だと既に知っているかも知れない。

   2変数 x 、y についての任意の対称式 F( x ,y )は、

  基本対称式 s=x+y ,t=xy の多項式 G( s ,t ) として表すことができ、

  その表し方はただ一通りである。


 対称式とは、 F( x ,y )=F( y ,x ) を満たすものをいう。すなわち、文字 x ,y を
入れかえても式が不変という性質を持つ。

 このような例はたくさんある。

   x+y 、xy 、 x2+y2 、x3y+xy3 、・・・ など。

 ここで、上記の証明をおさらいしておこう。

(証明) いま、対称式 F( x ,y ) の各項の指数に着目して、 m≧n≧0 のものをまとめて、

    p( m ,n )=Σx ( x 、x は、x または y )とおくと、対称式 F( x ,y ) は、

  p( m ,n )の定数倍の幾つかの和として表される。

  (このような考え方は、ヤング図形の考え方に似ている。(→ 参考:「対称式の真実」))

  これは、例えば、 F( x ,y )=x3+2x2y+2xy2+y3 だったら、

   F( x ,y )=x30+2x21+2y2X1+y30=(x30+y30)+2(x21+y2X1

  より、 p( 3 ,0 )=x30+y30 、 p( 2 ,1 )=x21+y2X1 となって、

     F( x ,y )=1・p( 3 ,0 )+2・p( 2 ,1 )

  と表されることを意味する。


  さらに、 m 、 n の順に降順で、p( m ,n )に序列をつける。

   上記の例だと、まず、m の値を比較して、 3≧2 なので、 

  p( 3 ,0 )≧p( 2 ,1 ) である。


  そこで、一番大きい p( m ,n ) の係数を A として、 F( x ,y ) − A・sm−n・t を

 考えると、そこに含まれる p( m’ ,n’ ) は、p( m ,n ) より小さいものばかりである。

   上記の例だと、p( 3 ,0 )の係数は 1 なので、

     F( x ,y )−s3−0・t0=F( x ,y )−s3

                  =x3+2x2y+2xy2+y3−(x+y)3

                  =−x2y−xy2

                  =−p( 2 ,1 )

 この操作を繰り返して行くことにより、所要の結果を得ることができる。

   上記の例だと、

     F( x ,y )−s3−0・t0−(−1)s2−1・t1

    =F( x ,y )−s3+st

    =−x2y−xy2+(x+y)xy

    =0

 よって、対称式 F( x ,y ) は、基本対称式 s 、t の多項式として、

       F( x ,y ) = s3−st
   (証終)

 この証明で用いられた手法はガウスによるものと言われている。

 読者のために、練習問題を一つ置いておこう。

練習問題  対称式 2x4y+3x32+3x23+2xy4 を基本対称式で表せ。

(解) 2x4y+3x32+3x23+2xy4=2xy(x3+y3)+3x22(x+y)

                       =2xy{(x+y)3−3xy(x+y)}+3x22(x+y)

                       =2xy(x+y)3−6x22(x+y)+3x22(x+y)

                       =2xy(x+y)3−3x22(x+y)

                       =2s3t−3st2  (終)

 上記の証明の手法を用いれば、次のような別解もありえるだろう。

(別解)  2x4y+3x32+3x23+2xy4−2s3

     =2x4y+3x32+3x23+2xy4−2(x+y)3xy

     =2x4y+3x32+3x23+2xy4−2x4y−6x32−6x23−2xy4

     =−3x32−3x23

   よって、 2x4y+3x32+3x23+2xy4−2s3t+3st2

        =−3x32−3x23+3(x+y)x22

        =0

   以上から、 2x4y+3x32+3x23+2xy4=2s3t−3st2 となる。 (終)

(コメント) 証明の手法は、こうすれば必ずできるという指針みたいなもので、実戦的な計
      算には不向きですね!


 対称式の所で、p( m ,n )に序列をつけたように、グレブナー基底という場合は各単項
式間に序列をつけて考えるようだ。

 1変数の場合は、

         1 < x < x2 < x3 < x4 < ・・・

と考えるのが普通だろう。このような大小関係を、順序(order)という。

 2変数の場合はどうだろうか? たとえば、 x (0 ≦ m , n ≦ 2) について、次
の2つの順序が考えられる。

(1)・・・辞書式順序(m 、 n の辞書式順序で並べる!)

       1 2 xy xy2 2 2 22
(0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2)

(2)・・・全次数順序(まず次数で順序付けし、同次数のときは辞書式順序で並べる!)

       1 2 xy 2 xy2 2 22
(0,0) (0,1) (1,0) (0,2) (1,1) (2,0) (1,2) (2,1) (2,2)

 ※ (2)の順序は、我々が多項式の展開で降べきの順に整理する指針と同じである。

 読者のために、練習問題を置いておこう。

練習問題  x ( m , n , p ≧ 0 、m+n+p=5 ) を、辞書式順序で並べよ。

(解) 項は全部で、 3575=21 個ある。

   z5<yz4<y23<y32<y4z<y5<xz4<xyz3<xy22<xy3z<xy4<x23
                 <x2yz2<x22z<x23<x32<x3yz<x32<x4z<x4y<x5

   (できたかな?)


 辞書式順序、全次数順序ともに、別の項を掛けても順序が逆転しないという「良い」性質
を持っている。

すなわち、数の大小比較で、正の数を掛けても割っても不等号の向きは変わらないという
性質に似ている。

 さて、 k を体として、2変数の多項式環 k[X]=k[x ,y] を考える。この多項式環の任
意のイデアルは有限生成であることが知られている。

 0 以上の自然数全体の集合を、0 とおく。

 k[X] に含まれる係数が 1 の単項式の集合を、

    ={ x |m、n∈0

とおく。 p=( m , n ) として、 X=x と略記する。

  における全順序<で次の条件を満たすものを項順序(term order)という。
        (全順序・・・任意の x、y について、x≧y または x≦y が成り立つ。

(1) 任意の X に対して、 1 ≦ X

(2) X 、 X 、 X で、 X ≦ X ならば、 X ≦ X


 この定義から、辞書式順序、全次数順序はともに項順序と言える。

 また、 X が X で割り切れることを、記号で、 |X と表す。

 すなわち、 ある X に対して、 X = X・X のとき、 X|X である。

 このとき、次の事実は自明だろう。

   |X のとき、任意の項順序<について、 X≦X である


 集合 の要素 X極小元であるとは、

   X で、 X| X ならば、 X= X

であるときをいう。

 このとき、次の事実が知られいる。

Dickson の補題  集合 の任意の部分集合は、高々有限個の極小元しか持たない。

 このことから、単項式で生成されるイデアルは有限個の単項式で生成されることが分かる。

 グレブナー基底は、「項順序が命!」で、項順序が異なればグレブナー基底も異なるもの
となるらしい。


 さて、そろそろグレブナー基底の定義を確認しよう。

 2変数の多項式環 k[X] の、係数が 1 の単項式の集合 において、ある項順序が入っ
ているものとする。

 整式の割り算を実行するとき、整式同士の最高次の項が重要であった。最高次の項だけ
を見て割り算を実行していると言っても言い過ぎではないだろう。

そこで、 多項式 F(X) の最高次の項を、主項(Leading term) といい、記号で、Lt(F)

と表すことにする。(多くの参考文献で、この記号が使われているので、それに倣うことにした!

 主項の係数を主係数(Leading coefficient)といい、記号で、Lc(F) と表す。

特に、主係数が 1 の多項式のことを、monic(モニック)であるという。

 monic な多項式は容易に作ることが出来る。 F(X)/Lc(F) とすればよい。

そこで、 Lt(F)/Lc(F) を、Lp(F) と表すことにする。

 このとき、 Lp(F) は、係数が 1 の単項式となる。


定 義  H を多項式環 k[X] の イデアル とする。  H の有限部分集合 G が

    H の グレブナー基底 であるとは、

      任意の F(X)∈H に対して、ある G(X)∈G が存在して、

     Lp(F) が Lp(G) で割り切れるとき(すなわち、Lp(G)|Lp(F))をいう。


Hの要素を全て割り切るような性質の良い有限個の集まりがグレブナー基底の雰囲気なんですね!


定 理  k[X] の任意のイデアル H に対して、

     グレブナー基底 G は存在し、しかも、H を生成する



 1変数の多項式環の任意のイデアルは単項イデアルなので、何となく上記の定義がいう
ところのグレブナー基底が存在するだろうことは納得できる。2変数以上の多項式環にお
いても、 k[X] が Noether 環という性質を持つので、任意のイデアルは有限生成であり
多分上記の定義を満たす集合 G は存在するのかな〜...と思う。

 「多項式環の任意のイデアルが有限生成」という事実は、Hilbert の基底定理と言わ
れている。

 多項式環 k[X] のイデアル が、多項式 G1(X)、G2(X)、・・・、G(X) により生成され
ているとき、
          H=(G1、G2、・・・、G

と表す。このとき、イデアル の任意の要素 F(X) は、

      F(X)=F1(X)G1(X)+F2(X)G2(X)+・・・+F(X)G(X)

         ( ただし、F1(X)、F2(X)、・・・、F(X)∈k[X] )

と書ける。このことを、今後、 F=F11+F22+・・・+F と略記することにする。


 n=1 のときは、 F=F11 で、これは、 F が G1 で割り切れることを意味する。

一般に、1変数多項式において、

 多項式 F(x) を多項式 G(x) で割った商を、Q(x)、余りを、R(x) とすると、

    F(x) = G(x)・Q(x)+R(x)

  ( R(x)=0 または degree(R(x))<degree(G(x))

が成り立ち、Q(x)、R(x) は一意的に存在した。

 このような話を、2変数以上の多項式の場合に拡張する。

 多項式環 k[X] の項順序を固定し、n 個の多項式を G1(X)、G2(X)、・・・、G(X) とする。

このとき、次の事実が知られている。

定 理  任意の多項式 F(X) は、F=F11+F22+・・・+F+F’ と書ける。

     ただし、F1、F2、・・・、F、、F’ は、次の条件を満たすものとする。

     (1) F’(X)≠0 ならば、

          F’に現れる単項式は、Lp(G) (k=1、2、・・・、n) で割り切れない。
           (ここで、たとえば、F’(X)=2x2−3xy+4y3 のとき、
                                 F’に現れる単項式は、x2、xy、y3 である。


     (2) Lp(F)≦Lp(F) (k=1、2、・・・、n)


 上式の F’(X) のことを、F の、G1、G2、・・・、G に関する割り算の余り という。


例 2変数多項式環 k[X]=k[x ,y] において、 G1(X) = 2x2 + y 、G2(X) = xy − x

  とする。 このとき、多項式 F(X) = 3x3+x2y−x+2 の G1、G2 に関する割り算の余

  りを求めてみよう。

   F に現れる単項式は、 x3 、x2y 、x 、2 の4個である。

  ここで、項順序を辞書式順序とすると、 1 < y < x < xy < x2 なので、

       Lp(G1)=x2 、 Lp(G2)=xy

  F に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものは、

       x3  、 x2

  の2個ある。 辞書式順序で、 x2y<x3 より、項 x3 が最大のものである。

  この x3 は、Lp(G1)=x2 で割り切れる。 このとき、 x3 /Lp(G1)=x である。

   そこで、 F(X) − (/)x・G1(X) = H1(X) とおく。
               (↑: 分子のは Lp(F)=x3 の係数、分母のは、Lp(G1)=x2 の係数

  すなわち、 H1(X) = 3x3+x2y−x+2−(3/2)x・(2x2 + y)

              = 3x3+x2y−x+2−3x3 −(3/2) xy

              = x2y−x+2−(3/2) xy

  となる。 この H1 を F(X) と思って同様の計算を続ける。

   H1 に現れる単項式は、 x2y 、xy 、x 、2 の4個である。

  H1 に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものは、

       x2y  、 xy

  の2個ある。 辞書式順序で、 xy<x2y より、項 x2y が最大のものである。

  この x2y は、Lp(G1)=x2 で割り切れる。 このとき、 x2y /Lp(G1)=y である。

   そこで、 H1(X) − (/)y・G1(X) = H2(X) とおく。

  すなわち、 H2(X) = x2y−x+2−(3/2) xy−(1/2)y・(2x2 + y)

              = x2y−x+2−(3/2) xy−x2y − (1/2)y2

              = −x+2−(3/2) xy− (1/2)y2

   H2 に現れる単項式は、 xy 、x 、y2、2 の4個である。

  H2 に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものは、 xy

  のみで、Lp(G2)=xy で割り切れる。 このとき、 xy /Lp(G2)=1 である。

   そこで、 H2(X) − ((−3/2)/)1・G2(X) = H3(X) とおく。

  すなわち、 H3(X) = −x+2−(3/2) xy− (1/2)y2−(−3/2)(xy − x)

              = −x+2−(3/2) xy− (1/2)y2+(3/2)xy − (3/2)x

              = −(5/2)x− (1/2)y2+2

   H3 に現れる単項式は、 x 、y2、2 の3個である。

  H3 に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものはない。

 以上の計算から、

  F(X) − (3/2)x・G1(X) − (1/2)y・G1(X) − ((−3/2)/1)1・G2(X)

  = −(5/2)x− (1/2)y2+2

すなわち、

  F(X) = {(3x+y)/2}・G1(X)−(3/2)・G2(X)−(5/2)x− (1/2)y2+2

と書き下すことができる。

 よって、F(X) の G1、G2 に関する割り算の余りは、 −(5/2)x− (1/2)y2+2

(コメント) 割り算のアルゴリズムに従って割り算を実行しましたが、計算は単純といえども
      結構大変ですね。このような計算をパソコンにやらせるというのは確かに正解か
      もしれません。

 また、次のようにして割り算の余りを求めてもいいだろう。

 2変数多項式環 k[X]=k[x ,y] において、 G1(X) = 2x2 + y 、G2(X) = xy − x

より、 y=G1−2x2 なので、 G2 = x(G1−2x2) − x = xG1−2x3 − x

 よって、 x3 = (1/2)xG1−(1/2)G2−(1/2)x

このとき、多項式 F(X) = 3x3+x2(G1−2x2)−x+2

               = 3x3+x21−2x4−x+2

               = 3{(1/2)xG1−(1/2)G2−(1/2)x}
                   +x21−2x{(1/2)xG1−(1/2)G2−(1/2)x}−x+2

               = (3/2)xG1−(3/2)G2−(3/2)x
                   +x21−x21+xG2+x2−x+2

               = (3/2)xG1+{x−(3/2)}G2+x2−(5/2)x+2

  ここで、さらに、 x2 = (1/2)G1−(1/2)y なので、

   F(X) = (3/2)xG1+{x−(3/2)}G2+{(1/2)G1−(1/2)y}−(5/2)x+2

       = {(3x+1)/2}G1+{x−(3/2)}G2−(5/2)x−(1/2)y+2

 よって、F(X) の G1、G2 に関する割り算の余りは、 −(5/2)x− (1/2)y+2

(コメント) ここで気づくことは、上記の余りが異なっているということである。1変数の場合
      余りは一意的に定まったが、2変数以上では、余りは一意に定まらないようだ。

       高校2年の「数学U」で、整式同士の割り算を学ぶ。2変数の場合の余りは必
      ず、「0」の場合しか現れなかった。その理由は、余りが一意に定まらないからだ
      ったのだ!

 しかしながら、割り算の方法によって、余りがその都度違っては数学にならない。どんな
風に割っても必ず余りが一意に定まるような G1(X)、G2(X)、・・・、G(X) が望まれる。

 実は、そのような良い性質を持つ G1(X)、G2(X)、・・・、G(X) がグレブナー基底とい
うわけらしい。


 2変数多項式環 k[X]=k[x ,y] において、 G1(X) = x2 、G2(X) = y がグレブナー
基底になることが知られている。

 このとき、多項式 F(X) = 3x3+x2y−x+2 の G1、G2 に関する割り算の余りを求め
てみよう。

   F に現れる単項式は、 x3 、x2y 、x 、2 の4個である。

  ここで、項順序を辞書式順序とすると、 1 < y < x < xy < x2 なので、

       Lp(G1)=x2 、 Lp(G2)=y

  F に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものは、

       x3  、 x2

  の2個ある。 辞書式順序で、 x2y<x3 より、項 x3 が最大のものである。

  この x3 は、Lp(G1)=x2 で割り切れる。 このとき、 x3 /Lp(G1)=x である。

   そこで、 F(X) −3x・G1(X) = H1(X) とおく。

  すなわち、 H1(X) = 3x3+x2y−x+2−3x・x2 = x2y−x+2

   H1 に現れる単項式は、 x2y 、x 、2 の3個である。

  H1 に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものは、x2

  この x2y は、Lp(G1)=x2 で割り切れる。 このとき、 x2y /Lp(G1)=y である。

   そこで、 H1(X) − y・G1(X) = H2(X) とおく。

  すなわち、 H2(X) = x2y−x+2−y・x2 = −x+2

   H2 に現れる単項式は、 x 、2 の2個である。

  H2 に現れる単項式の中で、 Lp(G1) 、 Lp(G2) の何れかで割り切れるものはない。

 以上の計算から、 F(X) − 3x・G1(X) − y・G1(X) = −x+2

すなわち、 F(X) = 3x・G1(X) 1+ y・G1(X)−x+2

 よって、F(X) の G1、G2 に関する割り算の余りは、 −x+2

 ところで、G1、G2 の式の形を見て、次のように計算して割り算の余りを求める方が普通
だろう。

 2変数多項式環 k[X]=k[x ,y] において、 G1(X) = x2 、G2(X) = y より、

          F(X) = 3x3+x2y−x+2

              = 3x・x2+x2・y−x+2

              = 3x・G1(X)+x2・G2(X)−x+2

 よって、F(X) の G1、G2 に関する割り算の余りは、 −x+2

 このように、グレブナー基底の下では割り算の余りが一意的に定まることが推察される。

 それでは、多項式環 k[X] において、どのようにしてグレブナー基底を見いだせばよい
のだろうか。

 グレブナー基底の計算には、ブッフベルガー(Buchberger)アルゴリズムを用いる。

 このことを述べるには、またいくつかの言葉を準備しなければならない。

簡 約 (reduction)  F(X) = 3x3+x2y−x+2 と G1(X) = x2 の上記の計算

         H1(X) = F(X) −3x・G1(X)

              = 3x3+x2y−x+2−3x・x2

              = x2y−x+2

     において、F(X) の項 3x3 が、G1(X) を用いて消去されている。

   このような計算を、簡約という。

  一般に、 多項式 F(X)、G(X)∈ k[X] に対して、F(X) のある項 aX が、G(X) の最

高次の項 Lt(G) で割り切れるとき、

       H(X) = F(X)−{aX/(Lt(G))}・G(X)

を求めることを、F(X) の G(X) による簡約という。

例 上記の H1(X) はさらに簡約ができて、 H2(X) = −x+2 となる。

(コメント) 簡約って、余りを求める手順と似ていますね!

 この簡約という操作は、G1(X)、G2(X)、・・・、G(X) の場合に次のように拡張される。

(1) 多項式 F(X)∈ k[X] に対して、Lt(F) が、ある Lt(G) で割り切れるとき、
   F(X) は G(X) により簡約され、得られる多項式を改めて多項式 F(X)と言い換え
   る。

(2) 多項式 F(X)∈ k[X] に対して、Lt(F) が、全ての Lt(G) で割り切れないときは、
   Lt(F) の次に大きい項について、(1)(2)を考える。

(3) 多項式 F(X)∈ k[X] の全ての項が、全ての Lt(G) で割り切れなくなるまで、(1)
  (2)を繰り返す。


 G1(X)、G2(X)、・・・、G(X) のどの要素でも多項式 F(X) が簡約できないとき、

     F は、G1、G2、・・・、G に関して正規形である

という。正規形になるまで簡約を繰り返すことを、正規化という。

(コメント) このことから正に、正規化とは「割り算」のことで、正規形が「余り」なんですね!


 イデアル のグレブナー基底 G={ G1(X)、G2(X)、・・・、G(X) } が次の条件:

   G の任意の真部分集合はグレブナー基底にならない

を満たすとき、極小なグレブナー基底と言われる。

 さらに、極小なグレブナー基底 G={ G1(X)、G2(X)、・・・、G(X) } が次の条件:

  (1) 任意の k に対して、 Lc(G)=1

  (2) 任意の k に対して、G に現れる全ての項は、Lp(G) (h≠k) で割り切れない

を満たすとき、被約なグレブナー基底と言われる。

 このとき、次の事実が知られている。

定 理  k[X] の任意のイデアル H に対して、

     被約なグレブナー基底 G は存在し、しかも、ただ一つである


(コメント) グレブナー基底は必ず存在するんだし、それに対して簡約を施せば、被約な
      グレブナー基底が得られるだろうことは推察される。


 ブッフベルガー(Buchberger)アルゴリズムは、多項式環のイデアル の生成系

        G={ G1(X)、G2(X)、・・・、G(X) }

が既に分かっている場合に、グレブナー基底を探し求めるアルゴリズムである。

 また、いくつか言葉を準備しよう。

例 2つの多項式 F(X) = x2y と G(X) = xy3 の最小公倍数は、 x23 である。

 上記の例からも分かるように、2つの多項式 F(X) = x と G(X) = x に対し

て、その最小公倍数は、 a=max(m,s) 、b=max(n,t) により、x で求められる。

 2つの多項式 F(X) と G(X) の最小公倍数を、 L(F,G) と表すことにする。


 いま、2つの多項式 F(X)、G(X)∈ k[X] に対して、 L=L(Lp(F),Lp(G)) とし、

      

とおく。この S(F,G) を、F(X)、G(X)の S多項式という。

例 F(X) = 3x3+x2y−x+2 、G(X) = 2x2 +xy − x+ y に対して、

    Lt(F) = 3x3 、 Lp(F)= x3 、Lt(G) = 2x2 、 Lp(G)= x2

 なので、 L=L( x3 ,x2 )= x3 より、F(X)、G(X)の S多項式は、

  S(F,G) = {x3/(3x3)}(3x3+x2y−x+2)−{x3/(2x2)}(2x2 +xy − x+ y)

        =x3+(1/3)x2y−(1/3)x+(2/3)−{x3 +(1/2)x2y −(1/2)x2+(1/2)xy}

        =−(1/6)x2y+(1/2)x2−(1/2)xy−(1/3)x+(2/3)

(コメント) S多項式とは、2つの多項式 F(X) と G(X) の最高次の項を打ち消すように
      して得られる多項式のようだ。

 上記で、 Lp(F) と Lp(G) の最小公倍数 L が、 Lp(F)・Lp(G)のとき、すなわち、

Lp(F) と Lp(G) が互いに素であるとき、 Lc(F)=f 、 Lc(G)=g とすると、

       S(F,G) = (Lp(G)/f)F(X)−(Lp(F)/g)G(X)

となる。 このことから、 S(F,G) の F 、G に関する割り算の余りは、0と言える。


 さて、ようやくブッフベルガー(Buchberger)アルゴリズムを述べる準備が出来たようだ。

定理(Buchberger判定法)

 2変数の多項式環 k[X] において、G={ G1(X)、G2(X)、・・・、G(X) }とし、G が生成
するイデアルを とする。

 このとき、以下の操作を行う。

  (1) S(G,G) を G で簡約し、その結果を R とする。

     R ≠ 0 のとき、 G の要素に、R を追加する。

  (2) すべてのS多項式において、R=0 になるまで、(1)を繰り返す。

 この操作により得られる最終の G が、イデアル のグレブナー基底となる。



例1 2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X)=x 、G2(X)=x2−y

  により生成されているものとする。

  このとき、 S多項式 S(G1,G2)=x・G1(X)−G2(X)=y は G で簡約できないので、

     R=y とおく。

 R ≠ 0 なので、 G の要素に、R を追加する。すなわち、 G={ G1(X)、G2(X)、R }

 これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、  S多項式 S(G1,R)=y・G1(X)−x・R=xy−xy=0

       S多項式 S(G2,R)=y・G2(X)−(x2−y)・R=x2y−y2−x2y+y2=0

 以上から、 G={ x 、x2−y 、y } がグレブナー基底となる。

  ここで、 x2−y は、{ x 、y } により簡約されるので、{ x 、y } が極小で被約なグレブ

 ナー基底となる。

(コメント) 当初、G1(X)=x2+xy 、G2(X)=x3 でグレブナー基底を計算しようと試みた
      が、どんどん追加される多項式が発生して、手計算では収拾がつかなくなりそう
      な気配があったので、上記のほとんど自明な計算に落ち着いてしまった。

 一見自明でなく、手計算で求まるグレブナー基底として次の問題は如何だろうか?

例2 2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X) = x2+y−3 、G2(X) = xy+y2−1

  により生成されているものとする。

  このとき、 S多項式 S(G1,G2) = y・G1(X)−x・G2(X) = −xy2+x+y2−3y を

 G で簡約すると、 S(G1,G2)+y・G2(X) = x+y3+y2−4y となり、もう G で簡約で

 きない。そこで、R = x+y3+y2−4y とおく。

 R ≠ 0 なので、 G の要素に、R を追加する。すなわち、 G = { G1(X)、G2(X)、R }

 これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、  S多項式 S(G1,R) = −G1(X)+x・R = xy3+xy2−4xy−y+3 を G で

 簡約する。   S(G1,R)−y2・G2(X) = xy2−4xy−y4+y2−y+3

   さらに、 S(G1,R)−y2・G2(X)−y・G2(X) = −4xy−y4−y3+y2+3

    S(G1,R)−y2・G2(X)−y・G2(X)+4・G2(X) = −y4−y3+5y2−1 で、もう G

  で簡約できないので、 R’ = −y4−y3+5y2−1 とおくと、R’ ≠ 0 なので、 G の要

 素に、R’ を追加する。すなわち、

      G = { G1(X)、G2(X)、R、R’ }

 これにより、 S多項式 S(G1,R) は、G で簡約されて、0 になる。

 また、  S多項式 S(G2,R) = G2(X)−y・R = R’ は、G で簡約されて、0 になる。

 また、 Lp(G1) = x2 と Lp(R’) = y4 が互いに素であるので、 S多項式 S(G1,R’)

 は、 G で簡約されて、0 になる。

 また、  S多項式 S(G2,R’) = y31(X)+x・R’ = −xy3+5xy2−x+y5−y3 を

 G で簡約する。 S(G2,R’)+y2・G2(X) = 5xy2−x+y5+y4−y3−y2

   さらに、 S(G2,R’)+y2・G2(X)−5y・G2(X) = −x+y5+y4−6y3−y2+5y

    S(G2,R’)+y2・G2(X)−5y・G2(X)+R = y5+y4−5y3+y

    S(G2,R’)+y2・G2(X)−5y・G2(X)+R+y・R’ = 0 となり、

 S多項式 S(G2,R’) は、G で簡約されて、0 になる。

 また、 Lp(R) = x と Lp(R’) = y4 が互いに素であるので、 S多項式 S(R,R’)は、

 G で簡約されて、0 になる。

 以上から、全ての S多項式が、G により簡約されて、0 になるので、

   G = { x2+y−3 、 xy+y2−1 、 x+y3+y2−4y 、 −y4−y3+5y2−1 }

が求めるグレブナー基底となる。

 ここで、

   G1(X) −( x − y3 − y2 + 4y )・R = y6+2y5−7y4−8y3+16y2+y−3

                           = ( −y2 − y + 3 )・R’ より、

      G1(X) = ( x − y3 − y2 + 4y )・R + ( −y2 − y + 3 )・R’

 また、 G2(X) − y・R = −y4−y3+5y2−1 = R’ より、 G2(X) = y・R+R’

 したがって、イデアル の極小で被約なグレブナー基底は、

     G = { x+y3+y2−4y 、 y4+y3−5y2+1 }

であると言える。

(コメント) かなりシンドイ計算でしたね。手順は決まっているので、コンピュータにやらせ
      たいという気持ちが十分に伝わってくる問題でした。

 多項式の中に定数 k を含む場合も同様にグレブナー基底を求めることはできる。

例3 2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X) = x2+y2−1 、G2(X) = x+y−k

  により生成されているものとする。

  このとき、 S多項式 S(G1,G2) = G1(X)−x・G2(X) = −xy+kx+y2−1 を

 G で簡約する。 S(G1,G2)+y・G2(X) = kx+2y2−ky−1 で、さらに、

     S(G1,G2)+y・G2(X)−k・G2(X) = 2y2−2ky+k2−1

 となり、もう G で簡約できない。そこで、R = 2y2−2ky+k2−1 とおく。

 R ≠ 0 なので、G の要素に、R を追加する。すなわち、 G = { G1(X)、G2(X)、R }

  これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x2 と Lp(R) = y2 および、Lp(G2) = x と Lp(R) = y2 が互い

に素であるので、 S多項式 S(G1,R) 、S(G2,R) はともに G で簡約されて、0 になる。

 以上から、全ての S多項式が、G により簡約されて、0 になるので、

   G = { x2+y2−1 、 x+y−k 、 2y2−2ky+k2−1 }

が求めるグレブナー基底となる。

 ここで、

   G1(X) −( x − y )・G2(X) = R より、 G1(X) =( x − y )・G2(X) + R

 したがって、イデアル の極小なグレブナー基底は、

     G = { x+y−k 、 2y2−2ky+k2−1 }

であると言える。


グレブナー基底の応用

例1 財布の中に37円入っている。硬貨の数を最小にしたい。それは、どのような場
  合か?


 この問いかけに対しては、1円玉が2個、5円玉が1個、10円玉が3個の計6個が最小で
あることは明らかだろう。

 この問いを、敢えて「グレブナー基底」を用いて、解いてみることにする。

 1円玉が a 個、5円玉が b 個、10円玉が c 個あるとすると、上記の問題は、

    a+5b+10c=37 、 a、b、c は0以上の整数

という拘束条件のもとで、 「 a+b+c の最小値を求めよ 」ということである。

 1円玉を文字 x 、5円玉を文字 y 、10円玉を文字 z で表し、例えば、1円玉が7個、5円
玉が2個、10円玉が2個財布に入っている状態を多項式 x722 で表すことにする。

 このとき、グレブナー基底 G は、 G={ x5−y , y2−z } となることが知られている。

いま、多項式 x722 を G で割ることを考える。

      x722=(x5−y)x222+x232

      x232=(y2−z)x2yz2+x2yz3

 上記の計算から、 2yz3 が、 x722 の G による余りとなる。

 2yz3 を翻訳すると、「1円玉が2個、5円玉が1個、10円玉が3個」の場合となる。

(コメント) 面白い計算例ですね!

例2 連立1次方程式 x+y−z=0 、x−y+3z=2 の解で、原点に最も近い解を
  求めよ。


   高校生風に解けば次のような解が得られるだろう。

  連立方程式より、 y=1−2x 、 z=1−x なので、

   x2+y2+z2=x2+(1−2x)2+(1−x)2

          =6x2−6x+2

          =6(x−1/2)2+1/2

  よって、 点( 1/2 , 0 , 1/2 ) が最も原点に近い点である。

 この例についても、3つの多項式 x+y−z 、 x−y+3z−2 、 x2+y2+z2−k2 が生
成するイデアルのグレブナー基底を求めることにより解決できるらしい。(A’zさんより示唆)

例3 連立方程式の同値変形

 2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X) = x2+y−3 、G2(X) = xy+y2−1

 により生成されているとき、上記の計算から、極小で被約なグレブナー基底は、

     G = { x+y3+y2−4y 、 y4+y3−5y2+1 }

 であった。

  連立方程式 G1(X) = x2+y−3 = 0 、G2(X) = xy+y2−1 = 0 において、

    x2 = 3−y から、 (xy)2 = ( 1−y22 = 1−2y2+y4

 よって、 (3−y)y2 = 1−2y2+y4 から、 y4+y3−5y2+1 = 0 が得られる。

  また、 y・G1(X)−x・G2(X)+y・G2(X) = x+y3+y2−4y なので、

      x+y3+y2−4y = 0

 が得られる。 以上から、連立方程式 x2+y−3 = 0 、xy+y2−1 = 0 を考えるこ

 とは、連立方程式 x+y3+y2−4y = 0 、y4+y3−5y2+1 = 0 を考えることに同値

 である。

(コメント) 方程式 y4+y3−5y2+1 = 0 は、1変数 y のみなので非常に解きやすい。
      しかも、y の値が求まれば、 x+y3+y2−4y = 0 から、 x の値も直ちに求まる。
      グレブナー基底って、解きやすい連立方程式に変換する効果もあるのですね!

例4 連立一次方程式の解法

 連立方程式 G1(X) = x−y−3 = 0 、G2(X) = 2x+3y−1 = 0 を解くことを考え

る。2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X) = x−y−3 、G2(X) = 2x+3y−1

により生成されているとする。

 このとき、 S多項式 S(G1,G2) = 2・G1(X)−G2(X) = −5y−5 は、もう G で簡約

できない。そこで、R = −5y−5 とおくと、R ≠ 0 なので、G の要素に、R を追加する。

 すなわち、 G = { G1(X)、G2(X)、R } となる。

 これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x と Lp(R) = y が互いに素であるので、 S多項式 S(G1,R)は、

G で簡約されて、0 になる。

 同様に、 Lp(G2) = x と Lp(R) = y が互いに素であるので、 S多項式 S(G2,R)は、

G で簡約されて、0 になる。

 ここで、

   −5・G1(x) +R = −5x+10 より、 G1(x)=(1/5)R+x−2

   5・G2(x)+3R = 10x−20 より、 G2(x)=(−3/5)R+2(x−2)

より、 イデアル のグレブナー基底は、 G = { x−2 、−5y−5 } で、極小で被約な

グレブナー基底は、
              G = { x−2 、y+1 }

となる。

 したがって、連立方程式の解は、x−2=0 、y+1=0 より、x=2 、y=−1 となる。

(コメント) 普通に解いた方が絶対速いと思う方が大多数だろう。私もそう思う。ただ、上記
      の解法はすんなり計算機にやらせることが可能だそうで、それがグレブナー基底
      の「よさ」と言われている。

例5 2曲線の交わり

 2変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X) }

     G1(X) = x2+y2−1 、G2(X) = x+y−k

により生成されているとき、上記の計算から、極小なグレブナー基底は、

     G = { x+y−k 、 2y2−2ky+k2−1 }

であった。

 2曲線 G1(X) = x2+y2−1 = 0 、G2(X) = x+y−k = 0 の交わりについては、

グラフ描画ソフトを用いれば瞬時に視覚化できるし、代数計算でも高校2年で学ぶ「数学

U」の範囲で求めれば容易だろう。

   原点と直線 x+y−k = 0 の距離の

  公式を用いて

     

   よって、2曲線が交わるための条件は、

      − ≦ k ≦

   となる。







 グレブナー基底を用いれば、2次方程式 2y2−2ky+k2−1=0 から判別式により、

   D/4 = k2−2(k2−1) = 2−k2 ≧ 0 から、 − ≦ k ≦  とでも求める

のだろうか?

(コメント) この計算も何となくグレブナー基底を用いた方が計算機の計算にのるような、
      そんな...気配!

例6 式の値の計算

  x+y+z=3 、x2+y2+z2=9 、x3+y3+z3=24 のとき、x4+y4+z4 の
 値を求めよ。


 これは、次のように計算するのが普通だろう。

  (x+y+z)2=x2+y2+z2+2(xy+yz+zx) より、 9=9+2(xy+yz+zx)

    よって、 xy+yz+zx=0

 また、 (x+y+z){x2+y2+z2−(xy+yz+zx)}=x3+y3+z3−3xyz より、

   3×9=24−3xyz なので、 xyz=−1

 以上から、x 、y 、z は、3次方程式 t3−3t2+1=0 の解である。

  すなわち、 x3=3x2−1 、y3=3y2−1 、z3=3z2−1

 このとき、 x4+y4+z4=x(3x2−1)+y(3y2−1)+z(3z2−1)

               =3(x3+y3+z3)−(x+y+z)

               =3×24−3

               =69


 この問題を、グレブナー基底を用いて計算してみよう。

 3変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X)、G3(X) }

  G1(X) = x+y+z−3 、G2(X) = x2+y2+z2−9 、G3(X) = x3+y3+z3−24

により生成されているものとする。

 このとき、S多項式 S(G1,G2)=−x・G1(X)+G2(X)=−x(y+z−3)+y2+z2−9

を G で簡約する。

 S(G1,G2)+(y+z−3)・G1(X) = 2y2+2yz−6y+2z2−6z となり、もう G で簡約

できない。そこで、R = 2y2+2yz−6y+2z2−6z とおく。

 R ≠ 0 なので、 G の要素に、R を追加する。すなわち、

     G = { G1(X)、G2(X)、G3(X)、R }

 これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x と Lp(R) = y2  および、Lp(G2) = x2 と Lp(R) = y2

Lp(G3) = x3 と Lp(R) = y2 が互いに素であるので、

   S多項式 S(G1,R) 、S(G2,R) 、S(G3,R)

は何れも、 G で簡約されて、0 になる。

 また、S多項式 S(G1,G3)=−x2・G1(X)+G3(X)=−x2(y+z−3)+y3+z3−24

を G で簡約する。

   S(G1,G3)+(y+z−3)・G2(X)−{(2y−z+3)/2}・R=3z3−9z2+3

 上式はもう G で簡約できない。そこで、R’ = 3z3−9z2+3 とおく。

 R’ ≠ 0 なので、 G の要素に、R’ を追加する。すなわち、

     G = { G1(X)、G2(X)、G3(X)、R、R’ }

 これにより、 S多項式 S(G1,G3) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x と Lp(R’) = z3  および、Lp(G2) = x2 と Lp(R’) = z3

Lp(G3) = x3 と Lp(R’) = z3 、Lp(R) = y2 と Lp(R’) = z3 が互いに素であるので、

   S多項式 S(G1,R’) 、S(G2,R’) 、S(G3,R’) 、S(R,R’)

は何れも、 G で簡約されて、0 になる。

 また、S多項式 S(G2,G3)=−x・G2(X)+G3(X)=−x(y2+z2−9)+y3+z3−24

を G で簡約する。

   S(G2,G3)+(y2+z2−9)・G1(X)−{(2y−z+3)/2}・R=3z3−9z2+3=R’

となり、 G で簡約されて、0 になる。

 以上から、全ての S多項式が、G により簡約されて、0 になるので、

   G = { x+y+z−3 、 x2+y2+z2−9 、 x3+y3+z3−24 、

                          2y2+2yz−6y+2z2−6z 、 3z3−9z2+3 }

が求めるグレブナー基底となる。

 ここで、

   G2(X) −( x − y − z + 3 )・G1(X) = R より、

      G2(X) = ( x − y − z + 3 )・G1(X) + R

   G3(X) −x・G2(X)+( y2+z2−9 )・G1(X)−{(2y−z+3)/2}・R = R’ より、

      G3(X) = x・G2(X)−( y2+z2−9 )・G1(X)+{(2y−z+3)/2}・R + R’

 したがって、イデアル の極小で被約なグレブナー基底は、

     G = { x+y+z−3 、 y2+yz−3y+z2−3z 、 z3−3z2+1 }

であると言える。

 さて、いよいよ問題の解法に移ろう。(←準備がエライ大変でしたね!)

 x4+y4+z4 の、G1、R、R’ に関する割り算の余りを求める。

 x4+y4+z4 = { x3−(y+z−3)x2+(y+z−3)2x−(y+z−3)3 }・G1(X)

           +{ 2y2+(2z−3)y+2z2−18z+36 }・R

           +12・R’

           +69

 したがって、求める値は、69 である。(←前の結果と一致して一安心!)

例7 共通根を持たない場合のグレブナー基底

  連立方程式 x+y=0 、x2−1=0 、y2−2x=0 の解はないことを示せ。


 これは、次のように計算すれば容易だろう。

  x2−1=0 より、 x=1、−1 で、x+y=0 から、

      ( x ,y )=( 1 ,−1 ) 、 ( −1 ,1 )

  そこで、 ( x ,y )=( 1 ,−1 ) のとき、

      y2−2x=(−1)2−2・1=1−2=−1≠0

        ( x ,y )=( −1 ,1 ) のとき、

      y2−2x=12−2(−1)=1+2=3≠0

  以上から、連立方程式には共通の解がないことが分かる。

 グラフ描画ソフトを用いれば、一瞬で了解されるだろう。


   左図において、どの2つの曲線も、

  最大2点でしか交わっていない。













 この問題を、グレブナー基底を用いて計算したらどうなるのだろうか?

 共通解がないのだから、未知数 x 、y を含む多項式では記述され得ないであろう。

ということは、グレブナー基底は、{ 1 } かな?

 恐いもの見たさに、少し興味があるので計算してみよう。

 3変数の多項式環 k[X] において、イデアル が、次の G={ G1(X)、G2(X)、G3(X) }

  G1(X) = x+y 、G2(X) = x2−1 、G3(X) = y2−2x

により生成されているものとする。

 このとき、S多項式 S(G1,G2)=−x・G1(X)+G2(X)=−xy−1

を G で簡約する。

   S(G1,G2)+y・G1(X) = y2−1 となり、もう G で簡約できない。そこで、

  R = y2−1 とおく。 R ≠ 0 なので、 G の要素に、R を追加する。すなわち、

     G = { G1(X)、G2(X)、G3(X)、R }

 これにより、 S多項式 S(G1,G2) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x と Lp(R) = y2  および、Lp(G2) = x2 と Lp(R) = y2

Lp(G3) = x と Lp(R) = y2 が互いに素であるので、

   S多項式 S(G1,R) 、S(G2,R) 、S(G3,R)

は何れも、 G で簡約されて、0 になる。

 また、S多項式 S(G1,G3)=2G1(X)+G3(X)=y2+2y を G で簡約する。

   S(G1,G3)−R=2y+1

 上式はもう G で簡約できない。そこで、R’ = 2y+1 とおく。

 R’ ≠ 0 なので、 G の要素に、R’ を追加する。すなわち、

     G = { G1(X)、G2(X)、G3(X)、R、R’ }

 これにより、 S多項式 S(G1,G3) は、G で簡約されて、0 になる。

 また、 Lp(G1) = x と Lp(R’) = y  および、Lp(G2) = x2 と Lp(R’) = y 、

Lp(G3) = x と Lp(R’) =y が互いに素であるので、

   S多項式 S(G1,R’) 、S(G2,R’) 、S(G3,R’)

は何れも、 G で簡約されて、0 になる。

 また、S多項式 S(G2,G3)=2G2(X)+x・G3(X)=xy2−2 を G で簡約する。

   S(G2,G3)−x・G3(X)=2x2−2=2G2

となり、 G で簡約されて、0 になる。

 また、S多項式 S(R,R’)=−2R+y・R’=y+2 を G で簡約する。

   S(R,R’)−(1/2)R’=3/2 となり、もう G で簡約できない。そこで、

  R” = 1 とおく。 R” ≠ 0 なので、 G の要素に、R” を追加する。すなわち、

     G = { G1(X)、G2(X)、G3(X)、R、R’、R” }

 これにより、 S多項式 S(R,R’) は、G で簡約されて、0 になる。 

 以上から、全ての S多項式が、G により簡約されて、0 になるので、

   G = { x+y 、 x2−1 、 y2−2x 、y2−1 、2y+1 、 1 }

が求めるグレブナー基底となる。

 ここで、 G1(X)、G2(X)、G3(X)、R、R’は全て R” の倍数であるので、イデアル

極小で被約なグレブナー基底は、

     G = { 1 }

であると言える。 (グレブナー基底の概念からすれば当然の帰結かな?


(コメント) いや〜、手計算でグレブナー基底を求めるのは本当に大変ですね。何でも、最
      近の数式処理ソフトには標準でグレブナー基底を求める機能がついているそうで、
      それを用いれば、上記の計算は大幅に短縮されますね。

       もしかしたら、ほんの数行で計算が終了してしまう...予感。

       でも、手計算でグレブナー基底を求めて、その応用を考えましたが、計算機を用
      いては分からないであろう計算の機微というものが十分に味わえたように思いま
      す。グレブナー基底のさらなる応用を模索することを、これからの研究課題として、
      とりあえずこのページを終結させたいと思います。

       ここまで、計算に付き合っていただいた方に感謝いたします。


(参考文献 : 日比孝之 著  グレブナー基底の現在 (数学書房)
          丸山正樹 著  グレブナー基底とその応用 (共立出版)
         野呂正行・横山和弘 著 グレブナー基底の計算基礎編 (東京大学出版会)
         三村征男他 著  代数学と幾何学 (裳華房)
         柴岡泰光 著  線形空間 (裳華房))