=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/parts/groebner.texi,v retrieving revision 1.6 retrieving revision 1.12 diff -u -p -r1.6 -r1.12 --- OpenXM/src/asir-doc/parts/groebner.texi 2003/04/20 09:55:18 1.6 +++ OpenXM/src/asir-doc/parts/groebner.texi 2003/12/27 11:52:07 1.12 @@ -1,4 +1,4 @@ -@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.5 2003/04/20 08:01:25 noro Exp $ +@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.11 2003/04/28 06:43:10 noro Exp $ \BJP @node $B%0%l%V%J4pDl$N7W;;(B,,, Top @chapter $B%0%l%V%J4pDl$N7W;;(B @@ -449,6 +449,13 @@ displayed. displayed. \E +@item PrintShort +\JP on $B$G!"(BPrint $B$,(B off $B$N>l9g(B, $B%0%l%V%J4pDl7W;;$NESCf$N>pJs$rC;=L7A$GI=<($9$k(B. +\BEG +If `on' and Print is `off', short information during a Groebner basis computation is +displayed. +\E + @item Stat \BJP on $B$G(B @code{Print} $B$,(B off $B$J$i$P(B, @code{Print} $B$,(B on $B$N$H$-I=<($5(B @@ -471,24 +478,28 @@ computation the maximal value among the sums is shown. computation the maximal value among the sums is shown. \E -@item Multiple +@item Content +@itemx Multiple \BJP -0 $B$G$J$$@0?t$N;~(B, $BM-M}?t>e$N@55,7A7W;;$K$*$$$F(B, $B78?t$N%S%C%HD9$NOB$,(B -@code{Multiple} $BG\$K$J$k$4$H$K78?tA4BN$N(B GCD $B$,7W;;$5$l(B, $B$=$N(B GCD $B$G(B -$B3d$C$?B?9`<0$r4JLs$9$k(B. @code{Multiple} $B$,(B 1 $B$J$i$P(B, $B4JLs$9$k$4$H$K(B -GCD $B7W;;$,9T$o$l0lHL$K$O8zN($,0-$/$J$k$,(B, @code{Multiple} $B$r(B 2 $BDxEY(B +0 $B$G$J$$M-M}?t$N;~(B, $BM-M}?t>e$N@55,7A7W;;$K$*$$$F(B, $B78?t$N%S%C%HD9$NOB$,(B +@code{Content} $BG\$K$J$k$4$H$K78?tA4BN$N(B GCD $B$,7W;;$5$l(B, $B$=$N(B GCD $B$G(B +$B3d$C$?B?9`<0$r4JLs$9$k(B. @code{Content} $B$,(B 1 $B$J$i$P(B, $B4JLs$9$k$4$H$K(B +GCD $B7W;;$,9T$o$l0lHL$K$O8zN($,0-$/$J$k$,(B, @code{Content} $B$r(B 2 $BDxEY(B $B$H$9$k$H(B, $B5pBg$J@0?t$,78?t$K8=$l$k>l9g(B, $B8zN($,NI$/$J$k>l9g$,$"$k(B. +backward compatibility $B$N$?$a!"(B@code{Multiple} $B$G@0?tCM$r;XDj$G$-$k(B. \E \BEG -If a non-zero integer, in a normal form computation +If a non-zero rational number, in a normal form computation over the rationals, the integer content of the polynomial being -reduced is removed when its magnitude becomes @code{Multiple} times +reduced is removed when its magnitude becomes @code{Content} times larger than a registered value, which is set to the magnitude of the input polynomial. After each content removal the registered value is -set to the magnitude of the resulting polynomial. @code{Multiple} is +set to the magnitude of the resulting polynomial. @code{Content} is equal to 1, the simiplification is done after every normal form computation. -It is empirically known that it is often efficient to set @code{Multiple} to 2 +It is empirically known that it is often efficient to set @code{Content} to 2 for the case where large integers appear during the computation. +An integer value can be set by the keyword @code{Multiple} for +backward compatibility. \E @item Demand @@ -1343,7 +1354,7 @@ Computation of the global b function is implemented as * lex_hensel_gsl tolex_gsl tolex_gsl_d:: * primadec primedec:: * primedec_mod:: -* bfunction generic_bfct:: +* bfunction bfct generic_bfct ann ann0:: @end menu \JP @node gr hgr gr_mod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B @@ -1401,6 +1412,14 @@ CPU $B;~4V$G$"$j(B, $B$3$NH!?t$N>l9g$O$[$H$s$IDL?.$ @item @code{dgr()} $B$GI=<($5$l$k;~4V$O(B, $B$3$NH!?t$,l9g$O$[$H$s$IDL?.$N$?$a$N;~4V$G$"$k(B. +@item +$BB?9`<0%j%9%H(B @var{plist} $B$NMWAG$,J,;6I=8=B?9`<0$N>l9g$O(B +$B7k2L$bJ,;6I=8=B?9`<0$N%j%9%H$G$"$k(B. +$B$3$N>l9g(B, $B0z?t$NJ,;6B?9`<0$OM?$($i$l$?=g=x$K=>$$(B @code{dp_sort} $B$G(B +$B%=!<%H$5$l$F$+$i7W;;$5$l$k(B. +$BB?9`<0%j%9%H$NMWAG$,J,;6I=8=B?9`<0$N>l9g$b(B +$BJQ?t$N?tJ,$NITDj85$N%j%9%H$r(B @var{vlist} $B0z?t$H$7$FM?$($J$$$H$$$1$J$$(B +($B%@%_!<(B). \E \BEG @item @@ -1429,6 +1448,13 @@ for communication. The CPU time shown after an exection of @code{dgr()} indicates that of the master process, and most of the time corresponds to the time for communication. +@item +When the elements of @var{plist} are distributed polynomials, +the result is also a list of distributed polynomials. +In this case, firstly the elements of @var{plist} is sorted by @code{dp_sort} +and the Grobner basis computation is started. +Variables must be given in @var{vlist} even in this case +(these variables are dummy). \E @end itemize @@ -1679,8 +1705,8 @@ processes. @item lex_hensel_gsl(@var{plist},@var{vlist1},@var{order},@var{vlist2},@var{homo}) \JP :: GSL $B7A<0$N%$%G%"%k4pDl$N7W;;(B \EG ::Computation of an GSL form ideal basis -@item tolex_gsl(@var{plist},@var{vlist1},@var{order},@var{vlist2},@var{homo}) -@itemx tolex_gsl_d(@var{plist},@var{vlist1},@var{order},@var{vlist2},@var{homo},@var{procs}) +@item tolex_gsl(@var{plist},@var{vlist1},@var{order},@var{vlist2}) +@itemx tolex_gsl_d(@var{plist},@var{vlist1},@var{order},@var{vlist2},@var{procs}) \JP :: $B%0%l%V%J4pDl$rF~NO$H$9$k(B, GSL $B7A<0$N%$%G%"%k4pDl$N7W;;(B \EG :: Computation of an GSL form ideal basis stating from a Groebner basis @end table @@ -2150,7 +2176,7 @@ except for lack of the argument for controlling homoge @table @t @item dp_gr_flags([@var{list}]) -@itemx dp_gr_print([@var{0|1}]) +@itemx dp_gr_print([@var{i}]) \JP :: $B7W;;$*$h$SI=<(MQ%Q%i%a%?$N@_Dj(B, $B;2>H(B \BEG :: Set and show various parameters for cotrolling computations and showing informations. @@ -2164,6 +2190,9 @@ and showing informations. @item list \JP $B%j%9%H(B \EG list +@item i +\JP $B@0?t(B +\EG integer @end table @itemize @bullet @@ -2177,9 +2206,18 @@ and showing informations. $B0z?t$O(B, @code{["Print",1,"NoSugar",1,...]} $B$J$k7A$N%j%9%H$G(B, $B:8$+$i=g$K(B $B@_Dj$5$l$k(B. $B%Q%i%a%?L>$OJ8;zNs$GM?$($kI,MW$,$"$k(B. @item -@code{dp_gr_print()} $B$O(B, $BFC$K%Q%i%a%?(B @code{Print} $B$NCM$rD>@\@_Dj(B, $B;2>H(B -$B$G$-$k(B. $B$3$l$O(B, @code{dp_gr_main()} $B$J$I$r%5%V%k!<%A%s$H$7$FMQ$$$k%f!<%6(B -$BH!?t$K$*$$$F(B, @code{Print} $B$NCM$r8+$F(B, $B$=$N%5%V%k!<%A%s$,Cf4V>pJs$NI=<((B +@code{dp_gr_print()} $B$O(B, $BFC$K%Q%i%a%?(B @code{Print}, @code{PrintShort} $B$NCM$rD>@\@_Dj(B, $B;2>H(B +$B$G$-$k(B. $B@_Dj$5$l$kCM$OpJs$NI=<((B $B$r9T$&:]$K(B, $B?WB.$K%U%i%0$r8+$k$3$H$,$G$-$k$h$&$KMQ0U$5$l$F$$$k(B. \E \BEG @@ -2194,8 +2232,17 @@ strings. strings. @item @code{dp_gr_print()} is used to set and show the value of a parameter -@code{Print}. This functions is prepared to get quickly the value of -@code{Print} when a user defined function calling @code{dp_gr_main()} etc. +@code{Print} and @code{PrintShort}. +@table @var +@item i=0 +@code{Print=0}, @code{PrintShort=0} +@item i=1 +@code{Print=1}, @code{PrintShort=0} +@item i=2 +@code{Print=0}, @code{PrintShort=1} +@end table +This functions is prepared to get quickly the value +when a user defined function calling @code{dp_gr_main()} etc. uses the value as a flag for showing intermediate informations. \E @end itemize @@ -3831,6 +3878,9 @@ -q^3*y^4+2*q^3*y^3+(-q^3+p*q^2)*y^2],[p,q,x,y]); $BItJ,$r7W;;$9$k$3$H$K$h$k(B early termination $B$r9T$&(B. $B0lHL$K(B, $B%$%G%"%k$Nl9g$KM-8z$@$,(B, 0 $Bl9g$J$I(B, $B.$5$$(B $B>l9g$K$O(B overhead $B$,Bg$-$$>l9g$,$"$k(B. +@item +$B7W;;ESCf$GFbIt>pJs$r8+$?$$>l9g$K$O!"(B +$BA0$b$C$F(B @code{dp_gr_print(2)} $B$re$N0lJQ?tB?9`<04D(B @code{D[s]} $B$N85(B @code{P(x,s)} $B$,B8:_$7$F(B, @code{P(x,s)f^(s+1)=b(s)f^s} $B$rK~$?$9$h$&$J(B $BB?9`<0(B @code{b(s)} $B$NCf$G(B, $B\:Y$K$D$$$F$O(B, [SST] $B$r8+$h(B. +@item @code{bfunction} $B$H(B @code{bfct} $B$G$OMQ$$$F$$$k%"%k%4%j%:%`$,(B +$B0[$J$k(B. $B$I$A$i$,9bB.$+$OF~NO$K$h$k(B. +@item @code{ann(@var{f})} $B$O(B, @code{@var{f}^s} $B$N(B annihilator ideal +$B$N@8@.7O$rJV$9(B. @code{ann(@var{f})} $B$O(B, @code{[@var{a},@var{list}]} +$B$J$k%j%9%H$rJV$9(B. $B$3$3$G(B, @var{a} $B$O(B @var{f} $B$N(B @var{b} $B4X?t$N:G>.@0?t:,(B, +@var{list} $B$O(B @code{ann(@var{f})} $B$N7k2L$N(B @code{s}$ $B$K(B, @var{a} $B$r(B +$BBeF~$7$?$b$N$G$"$k(B. +@item $B>\:Y$K$D$$$F$O(B, [Saito,Sturmfels,Takayama] $B$r8+$h(B. \E \BEG @item These functions are defined in @samp{bfct}. -@item @code{bfunction(@var{f})} computes the global b-function @code{b(s)} of +@item @code{bfunction(@var{f})} and @code{bfct(@var{f})} compute the global @var{b}-function @code{b(s)} of a polynomial @var{f}. @code{b(s)} is a polynomial of the minimal degree such that there exists @code{P(x,s)} in D[s], which is a polynomial ring over Weyl algebra @code{D}, and @code{P(x,s)f^(s+1)=b(s)f^s} holds. @item @code{generic_bfct(@var{f},@var{vlist},@var{dvlist},@var{weight})} -computes the global b-function of a left ideal @code{I} in @code{D} +computes the global @var{b}-function of a left ideal @code{I} in @code{D} generated by @var{plist}, with respect to @var{weight}. @var{vlist} is the list of @code{x}-variables, @var{vlist} is the list of corresponding @code{D}-variables. -@item See [SST] for the details. +@item @code{bfunction(@var{f})} and @code{bfct(@var{f})} implement +different algorithms and the efficiency depends on inputs. +@item @code{ann(@var{f})} returns the generator set of the annihilator +ideal of @code{@var{f}^s}. +@code{ann(@var{f})} returns a list @code{[@var{a},@var{list}]}, +where @var{a} is the minimal integral root of the global @var{b}-function +of @var{f}, and @var{list} is a list of polynomials obtained by +substituting @code{s} in @code{ann(@var{f})} with @var{a}. +@item See [Saito,Sturmfels,Takayama] for the details. \E @end itemize @@ -3945,6 +4025,11 @@ +1278*s^4-72*s^3 [219] generic_bfct(F,[t,z,y,x],[dt,dz,dy,dx],[1,0,0,0]); 20000*s^10-70000*s^9+101750*s^8-79375*s^7+35768*s^6-9277*s^5 +1278*s^4-72*s^3 +[220] P=x^3-y^2$ +[221] ann(P); +[2*dy*x+3*dx*y^2,-3*dx*x-2*dy*y+6*s] +[222] ann0(P); +[-1,[2*dy*x+3*dx*y^2,-3*dx*x-2*dy*y-6]] @end example @table @t