`lex_hensel_gsl', `tolex_gsl', `tolex_gsl_d'
--------------------------------------------

lex_hensel_gsl(PLIST,VLIST1,ORDER,VLIST2,HOMO)
     :: GSL 形式のイデアル基底の計算

tolex_gsl(PLIST,VLIST1,ORDER,VLIST2)
tolex_gsl_d(PLIST,VLIST1,ORDER,VLIST2,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',...,`fn' は `x0' の 1 変数多項式)
     なる形 (これを SL 形式と呼ぶ) を持つ場合,
     `[[x1,g1,d1],...,[xn,gn,dn],[x0,f0,f0']]' なるリスト (これを GSL
     形式と呼ぶ) を返す.  ここで, `gi' は, `di*f0'*fi-gi' が `f0'
     で割り切れるような `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-...]

参照
     *Note `lex_hensel lex_tl tolex tolex_d tolex_tl': lex_hensel
     lex_tl tolex tolex_d tolex_tl, *Note `分散計算': 分散計算

