グレブナ基底の計算において, さまざまなパラメタ設定を行うことにより計算,
表示を制御することができる. これらは, 組み込み函数 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
NoCriB
NoGC
NoMC
NoRA
NoGCD
Top
Reverse
Print
Stat
Print
が off ならば, Print
が on のとき表示さ
れるデータの内, 集計データのみが表示される.
ShowMag
Print
が on ならば, 生成が生成される毎に, その多項式の
係数のビット長の和を表示し, 最後に, それらの和の最大値を表示する.
Multiple
Multiple
倍になるごとに係数全体の GCD が計算され, その GCD で
割った多項式を簡約する. Multiple
が 1 ならば, 簡約するごとに
GCD 計算が行われ一般には効率が悪くなるが, Multiple
を 2 程度
とすると, 巨大な整数が係数に現れる場合, 効率が良くなる場合がある.
Demand
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
TCONT
HT
INDEX
NB
NAB
RP
S
M
ShowMag
が on の時に表示される. )
最後に, 集計データが表示される. 意味は次の通り. (時間の表示において, 数字が 2 つあるものは, 計算時間と GC 時間のペアである.)
UP
SP
SPM
NF
NFM
ZNFM
NFM
の内, 0 への reduction にかかった時間
PZ
NP
MP
RA
MC
GC
T
B, M, F, D
ZR
NZR
Max_mag
Go to the first, previous, next, last section, table of contents.