Google

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


lex_hensel_gsl, tolex_gsl, tolex_gsl_d

lex_hensel_gsl(plist,vlist1,order,vlist2,homo)
:: GSL 形式のイデアル基底の計算
tolex_gsl(plist,vlist1,order,vlist2,homo)
tolex_gsl_d(plist,vlist1,order,vlist2,homo,procs)
:: グレブナ基底を入力とする, GSL 形式のイデアル基底の計算
return
リスト
plist, vlist1, vlist2, procs
リスト
order
数, リストまたは行列
homo
フラグ
  • lex_hensel_gsl()lex_hensel() の, tolex_gsl()tolex() の変種で, 結果のみが異なる. tolex_gsl_d() は, 基底計算を, procs で指定される子プロセスに 分散計算させる.
  • 入力が 0 次元システムで, その辞書式順序グレブナ基底が [f0,x1-f1,...,xn-fn] (f0,...,fnx0 の 1 変数多項式) なる形 (これを SL 形式と呼ぶ) を持つ場合, [[x1,g1,d1],...,[xn,gn,dn],[x0,f0,f0']] なるリスト (これを GSL 形式と呼ぶ) を返す. ここで, gi は, di*f0'*fi-gif0 で割り切れるような x0 の1 変数多項式で, 解は f0(x0)=0 なる x0 に対し, [x1=g1/(d1*f0'),...,xn=gn/(dn*f0')] となる. 辞書式順序グレブナ基底が上のような形でない場合, tolex() に よる通常のグレブナ基底を返す.
  • GSL 形式により表される基底はグレブナ基底ではないが, 一般に係数が SL 形式 のグレブナ基底より非常に小さいため計算も速く, 解も求めやすい. tolex_gsl_d() で表示される時間は, この函数が実行されているプロセスに おいて行われた計算に対応していて, 子プロセスにおける時間は含まれない.
[103] K=katsura(5)$
[104] V=[u5,u4,u3,u2,u1,u0]$
[105] G0=gr(K,V,0)$
[106] GSL=tolex_gsl(G0,V,0,V)$ 
[107] GSL[0];
[u1,8635837421130477667200000000*u0^31-...]
[108] GSL[1];
[u2,10352277157007342793600000000*u0^31-...]
[109] GSL[5];
[u0,11771021876193064124640000000*u0^32-...,376672700038178051988480000000*u0^31-...]
参照
section lex_hensel, lex_tl, tolex, tolex_d, tolex_tl, section 分散計算


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