nd_gr, nd_gr_trace, nd_f4, nd_f4_trace, nd_weyl_gr, nd_weyl_gr_tracend_gr は, p が 0 のとき有理数体上の Buchberger
アルゴリズムを実行する. p が 2 以上の自然数のとき, GF(p) 上の
Buchberger アルゴリズムを実行する.
nd_gr_trace および nd_f4_trace
は有理数体上で trace アルゴリズムを実行する.
p が 0 または 1 のとき, 自動的に選ばれた素数を用いて, 成功する
まで trace アルゴリズムを実行する.
p が 2 以上のとき, trace はGF(p) 上で計算される. trace アルゴリズム
が失敗した場合 0 が返される. p が負の場合, グレブナ基底チェックは
行わない. この場合, p が -1 ならば自動的に選ばれた素数が,
それ以外は指定された素数を用いてグレブナ基底候補の計算が行われる.
nd_f4_trace は, 各全次数について, ある有限体上で F4 アルゴリズム
で行った結果をもとに, その有限体上で 0 でない基底を与える S-多項式のみを
用いて行列生成を行い, その全次数における基底を生成する方法である. 得られる
多項式集合はやはりグレブナ基底候補であり, nd_gr_trace と同様の
チェックが行われる.
nd_f4 は modular が 0 のとき有理数体上の, modular が
マシンサイズ素数のとき有限体上の F4 アルゴリズムを実行する.
nd_weyl_gr, nd_weyl_gr_trace は Weyl 代数用である.
dp_gr_main, dp_gr_mod_main より高速であるが,
特に有限体上の場合顕著である.
[38] load("cyclic")$
[49] C=cyclic(7)$
[50] V=vars(C)$
[51] cputime(1)$
[52] dp_gr_mod_main(C,V,0,31991,0)$
26.06sec + gc : 0.313sec(26.4sec)
[53] nd_gr(C,V,31991,0)$
ndv_alloc=1477188
5.737sec + gc : 0.1837sec(5.921sec)
[54] dp_f4_mod_main(C,V,31991,0)$
3.51sec + gc : 0.7109sec(4.221sec)
[55] nd_f4(C,V,31991,0)$
1.906sec + gc : 0.126sec(2.032sec)
dp_ord,
section dp_gr_flags, dp_gr_print,
section 計算および表示の制御.
Go to the first, previous, next, last section, table of contents.