Go to the first, previous, next, last section, table of contents.

## 基底変換

辞書式順序のグレブナ基底を求める場合, 直接 `gr()` などを起動する より, 一旦他の順序 (例えば全次数逆辞書式順序) のグレブナ基底を計算して, それを入力として辞書式順序のグレブナ基底を計算する方が効率がよい場合 がある. また, 入力が何らかの順序でのグレブナ基底になっている場合, 基底 変換と呼ばれる方法により, Buchberger アルゴリズムによらずに効率良く 辞書式順序のグレブナ基底が計算できる場合がある. このような目的のための 函数が, ユーザ定義函数として ``gr'` にいくつか定義されている. 以下の 2 つの函数は, 変数順序 vlist1, 項順序型 order で 既にグレブナ基底となっている多項式リスト gbase を, 変数順序 vlist2 における辞書式順序のグレブナ基底に変換する函数である.

`tolex(gbase,vlist1,order,vlist2)`
  この函数は, gbase が有理数体上のシステムの場合にのみ使用可能である. この函数は, 辞書式順序のグレブナ基底を, 有限体上で計算されたグレブナ基底 を雛型として, 未定係数法および Hensel 構成により求めるものである.
`tolex_tl(gbase,vlist1,order,vlist2,homo)`
  この函数は, 辞書式順序のグレブナ基底を Buchberger アルゴリズムにより求 めるものであるが, 入力がある順序におけるグレブナ基底である場合の trace-liftingにおけるグレブナ基底候補の頭項, 頭係数の性質を利用して, 最終的なグレブナ基底チェック, イデアルメンバシップチェックを省略してい るため, 単にBuchberger アルゴリズムを繰り返すより効率よく計算できる. 更に, 入力が 0 次元システムの場合, 自動的にもう 1 つの中間的な項順序を 経由して辞書式順序のグレブナ基底を計算する. 多くの場合, この方法は, 直接辞書式順序の計算を行うより効率がよい. (もちろん例外あり. ) 引数 homo が 0 でない時, `hgr()` と同様に斉次化を経由して 計算を行う.

その他, 0 次元システムに対し, 与えられた多項式の最小多項式を求める 函数, 0 次元システムの解を, よりコンパクトに表現するための函数などが ``gr'` で定義されている. これらについては個々の函数の説明を参照のこと.

Go to the first, previous, next, last section, table of contents.