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


計算および表示の制御

グレブナ基底の計算において, さまざまなパラメタ設定を行うことにより計算, 表示を制御することができる. これらは, 組み込み函数 dp_gr_flags() により設定参照することができる. 無引数で dp_gr_flags() を実行する と, 現在設定されているパラメタが, 名前と値のリストで返される.

[100] dp_gr_flags();
[Demand,0,NoSugar,0,NoCriB,0,NoGC,0,NoMC,0,NoRA,0,NoGCD,0,Top,0,
ShowMag,1,Print,1,Stat,0,Reverse,0,InterReduce,0,Multiple,0]
[101]

以下で, 各パラメタの意味を説明する. on の場合とは, パラメタが 0 でない場合を いう. これらのパラメタの初期値は全て 0 (off) である.

NoSugar
on の場合, sugar strategy の代わりに Buchbergerの normal strategy が用 いられる.
NoCriB
on の場合, 不必要対検出規準のうち, 規準 B を適用しない.
NoGC
on の場合, 結果がグレブナ基底になっているかどうかのチェックを行わない.
NoMC
on の場合, 結果が入力イデアルと同等のイデアルであるかどうかのチェック を行わない.
NoRA
on の場合, 結果を reduced グレブナ基底にするための interreduce を行わない.
NoGCD
on の場合, 有理式係数のグレブナ基底計算において, 生成された多項式の, 係数の content をとらない.
Top
on の場合, normal form 計算において頭項消去のみを行う.
Reverse
on の場合, normal form 計算の際の reducer を, 新しく生成されたものを優 先して選ぶ.
Print
on の場合, グレブナ基底計算の途中におけるさまざまな情報を表示する.
PrintShort
on で、Print が off の場合, グレブナ基底計算の途中の情報を短縮形で表示する.
Stat
on で Print が off ならば, Print が on のとき表示さ れるデータの内, 集計データのみが表示される.
ShowMag
on で Print が on ならば, 生成が生成される毎に, その多項式の 係数のビット長の和を表示し, 最後に, それらの和の最大値を表示する.
Content
Multiple
0 でない有理数の時, 有理数上の正規形計算において, 係数のビット長の和が Content 倍になるごとに係数全体の GCD が計算され, その GCD で 割った多項式を簡約する. Content が 1 ならば, 簡約するごとに GCD 計算が行われ一般には効率が悪くなるが, Content を 2 程度 とすると, 巨大な整数が係数に現れる場合, 効率が良くなる場合がある. backward compatibility のため、Multiple で整数値を指定できる.
Demand
正当なディレクトリ名 (文字列) を値に持つとき, 生成された多項式はメモリ 中におかれず, そのディレクトリ中にバイナリデータとして置かれ, その多項 式を用いる normal form 計算の際, 自動的にメモリ中にロードされる. 各多 項式は, 内部でのインデックスをファイル名に持つファイルに格納される. ここで指定されたディレクトリに書かれたファイルは自動的には消去されない ため, ユーザが責任を持って消去する必要がある.

Print が 0 でない場合次のようなデータが表示される.

[93] gr(cyclic(4),[c0,c1,c2,c3],0)$
mod= 99999989, eval = []
(0)(0)<<0,2,0,0>>(2,3),nb=2,nab=5,rp=2,sugar=2,mag=4
(0)(0)<<0,1,2,0>>(1,2),nb=3,nab=6,rp=2,sugar=3,mag=4
(0)(0)<<0,1,1,2>>(0,1),nb=4,nab=7,rp=3,sugar=4,mag=6
.
(0)(0)<<0,0,3,2>>(5,6),nb=5,nab=8,rp=2,sugar=5,mag=4
(0)(0)<<0,1,0,4>>(4,6),nb=6,nab=9,rp=3,sugar=5,mag=4
(0)(0)<<0,0,2,4>>(6,8),nb=7,nab=10,rp=4,sugar=6,mag=6
....gb done
reduceall
.......
membercheck
(0,0)(0,0)(0,0)(0,0)
gbcheck total 8 pairs
........
UP=(0,0)SP=(0,0)SPM=(0,0)NF=(0,0)NFM=(0.010002,0)ZNFM=(0.010002,0)
PZ=(0,0)NP=(0,0)MP=(0,0)RA=(0,0)MC=(0,0)GC=(0,0)T=40,B=0 M=8 F=6
D=12 ZR=5 NZR=6 Max_mag=6
[94]

最初に表示される mod, eval は, trace-lifting で用いられる法 である. mod は素数, eval は有理式係数の場合に用いられる 数のリストである.

計算途中で多項式が生成される毎に次の形のデータが表示される.

(TNF)(TCONT)HT(INDEX),nb=NB,nab=NAB,rp=RP,sugar=S,mag=M

それらの意味は次の通り.

TNF
normal form 計算時間 (秒)
TCONT
content 計算時間 (秒)
HT
生成された多項式の頭項
INDEX
S-多項式を構成する多項式のインデックスのペア
NB
現在の, 冗長性を除いた基底の数
NAB
現在までに生成された基底の数
RP
残りのペアの数
S
生成された多項式の sugar の値
M
生成された多項式の係数のビット長の和 (ShowMag が on の時に表示される. )

最後に, 集計データが表示される. 意味は次の通り. (時間の表示において, 数字が 2 つあるものは, 計算時間と GC 時間のペアである.)

UP
ペアのリストの操作にかかった時間
SP
有理数上の S-多項式計算時間
SPM
有限体上の S-多項式計算時間
NF
有理数上の normal form 計算時間
NFM
有限体上の normal form 計算時間
ZNFM
NFM の内, 0 への reduction にかかった時間
PZ
content 計算時間
NP
有理数係数多項式の係数に対する剰余演算の計算時間
MP
S-多項式を生成するペアの選択にかかった時間
RA
interreduce 計算時間
MC
trace-lifting における, 入力多項式のメンバシップ計算時間
GC
結果のグレブナ基底候補のグレブナ基底チェック時間
T
生成されたペアの数
B, M, F, D
各 criterion により除かれたペアの数
ZR
0 に reduce されたペアの数
NZR
0 でない多項式に reduce されたペアの数
Max_mag
生成された多項式の, 係数のビット長の和の最大値


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