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

### `dp_gr_main`, `dp_gr_mod_main`

`dp_gr_main(plist,vlist,homo,modular,order)`
`dp_gr_mod_main(plist,vlist,homo,modular,order)`
  :: グレブナ基底の計算 (組み込み函数)

return
  リスト
plist, vlist
  リスト
order
  数, リストまたは行列
homo
  フラグ
modular
  フラグまたは素数

- これらの函数は, グレブナ基底計算の基本的組み込み函数であり, `gr()`, `hgr()`, `gr_mod()` などはすべてこれらの函数を呼び出して計算 を行っている.
- フラグ homo が 0 でない時, 入力を斉次化してから Buchberger アルゴリズム を実行する.
- `dp_gr_mod_main()` に対しては, modular は, GF(modular) 上 での計算を意味する. `dp_gr_main()` に対しては, modular は次のような意味を持つ.
  1. modular が 1 の時, trace-lifting による計算を行う. 素数は `lprime(0)` から順に成功するまで `lprime()` を呼び出して生成する.
  2. modular が 2 以上の自然数の時, その値を素数とみなして trace-lifting を行う. その素数で失敗した場合, 0 を返す.
  3. modular が負の場合, -modular に対して上述の規則が適用されるが, trace-lifting の最終 段階のグレブナ基底チェックとイデアルメンバシップチェックが省略される.
- `gr(P,V,O)` は `dp_gr_main(P,V,0,1,O)`, `hgr(P,V,O)` は `dp_gr_main(P,V,1,1,O)`, `gr_mod(P,V,O,M)` は `dp_gr_mod_main(P,V,0,M,O)` をそれぞれ実行する.
- homo, modular の他に, `dp_gr_flags()` で設定される さまざまなフラグにより計算が制御される.

`参照`
  section `dp_ord`, section `dp_gr_flags`, `dp_gr_print`, section `gr`, `hgr`, `gr_mod`, `dgr`, section 計算および表示の制御.

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