=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/parts/groebner.texi,v retrieving revision 1.18 retrieving revision 1.22 diff -u -p -r1.18 -r1.22 --- OpenXM/src/asir-doc/parts/groebner.texi 2016/03/24 20:58:50 1.18 +++ OpenXM/src/asir-doc/parts/groebner.texi 2019/03/29 04:54:25 1.22 @@ -1,4 +1,4 @@ -@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.17 2006/09/06 23:53:31 noro Exp $ +@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.21 2018/09/06 05:42:43 takayama Exp $ \BJP @node $B%0%l%V%J4pDl$N7W;;(B,,, Top @chapter $B%0%l%V%J4pDl$N7W;;(B @@ -201,16 +201,16 @@ In an @b{Asir} session, it is displayed in the form li \EG and also can be input in such a form. \BJP -@itemx $BF,C19`<0(B (head monomial) @item $BF,9`(B (head term) +@itemx $BF,C19`<0(B (head monomial) @itemx $BF,78?t(B (head coefficient) $BJ,;6I=8=B?9`<0$K$*$1$k3FC19`<0$O(B, $B9`=g=x$K$h$j@0Ns$5$l$k(B. $B$3$N;~=g(B $B=x:GBg$NC19`<0$rF,C19`<0(B, $B$=$l$K8=$l$k9`(B, $B78?t$r$=$l$>$lF,9`(B, $BF,78?t(B $B$H8F$V(B. \E \BEG -@itemx head monomial @item head term +@itemx head monomial @itemx head coefficient Monomials in a distributed polynomial is sorted by a total order. @@ -220,7 +220,45 @@ the head term and the head coefficient respectively. \E @end table +@noindent +ChangeLog +@itemize @bullet \BJP +@item $BJ,;6I=8=B?9`<0$OG$0U$N%*%V%8%'%/%H$r78?t$K$b$F$k$h$&$K$J$C$?(B. +$B$^$?2C72$N(Bk$B@.J,$NMWAG$r> $B$GI=8=$9$k$h$&$K$J$C$?(B (2017-08-31). +\E +\BEG +@item Distributed polynomials accept objects as coefficients. +The k-th element of a free module is expressed as <> (2017-08-31). +\E +@item +1.15 algnum.c, +1.53 ctrl.c, +1.66 dp-supp.c, +1.105 dp.c, +1.73 gr.c, +1.4 reduct.c, +1.16 _distm.c, +1.17 dalg.c, +1.52 dist.c, +1.20 distm.c, +1.8 gmpq.c, +1.238 engine/nd.c, +1.102 ca.h, +1.411 version.h, +1.28 cpexpr.c, +1.42 pexpr.c, +1.20 pexpr_body.c, +1.40 spexpr.c, +1.27 arith.c, +1.77 eval.c, +1.56 parse.h, +1.37 parse.y, +1.8 stdio.c, +1.31 plotf.c +@end itemize + +\BJP @node $B%U%!%$%k$NFI$_9~$_(B,,, $B%0%l%V%J4pDl$N7W;;(B @section $B%U%!%$%k$NFI$_9~$_(B \E @@ -1465,6 +1503,7 @@ Computation of the global b function is implemented as * dp_gr_main dp_gr_mod_main dp_gr_f_main dp_weyl_gr_main dp_weyl_gr_mod_main dp_weyl_gr_f_main:: * dp_f4_main dp_f4_mod_main dp_weyl_f4_main dp_weyl_f4_mod_main:: * nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace:: +* nd_gr_postproc nd_weyl_gr_postproc:: * dp_gr_flags dp_gr_print:: * dp_ord:: * dp_set_weight dp_set_top_weight dp_weyl_set_weight:: @@ -1531,6 +1570,8 @@ Computation of the global b function is implemented as @item $BI8=`%i%$%V%i%j$N(B @samp{gr} $B$GDj5A$5$l$F$$$k(B. @item +gr $B$rL>A0$K4^$`4X?t$O8=:_%a%s%F$5$l$F$$$J$$(B. @code{nd_gr}$B7O$N4X?t$rBe$o$j$KMxMQ$9$Y$-$G$"$k(B(@fref{nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace}). +@item $B$$$:$l$b(B, $BB?9`<0%j%9%H(B @var{plist} $B$N(B, $BJQ?t=g=x(B @var{vlist}, $B9`=g=x7?(B @var{order} $B$K4X$9$k%0%l%V%J4pDl$r5a$a$k(B. @code{gr()}, @code{hgr()} $B$O(B $BM-M}?t78?t(B, @code{gr_mod()} $B$O(B GF(@var{p}) $B78?t$H$7$F7W;;$9$k(B. @@ -1562,6 +1603,9 @@ CPU $B;~4V$G$"$j(B, $B$3$NH!?t$N>l9g$O$[$H$s$IDL?.$ @item These functions are defined in @samp{gr} in the standard library directory. +@item +Functions of which names contains gr are obsolted. +Functions of @code{nd_gr} families should be used (@fref{nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace}). @item They compute a Groebner basis of a polynomial list @var{plist} with respect to the variable order @var{vlist} and the order type @var{order}. @@ -2320,7 +2364,7 @@ except for lack of the argument for controlling homoge @itemx nd_gr_trace(@var{plist},@var{vlist},@var{homo},@var{p},@var{order}) @itemx nd_f4(@var{plist},@var{vlist},@var{modular},@var{order}) @itemx nd_f4_trace(@var{plist},@var{vlist},@var{homo},@var{p},@var{order}) -@item nd_weyl_gr(@var{plist},@var{vlist},@var{p},@var{order}) +@itemx nd_weyl_gr(@var{plist},@var{vlist},@var{p},@var{order}) @itemx nd_weyl_gr_trace(@var{plist},@var{vlist},@var{homo},@var{p},@var{order}) \JP :: $B%0%l%V%J4pDl$N7W;;(B ($BAH$_9~$_H!?t(B) \EG :: Groebner basis computation (built-in functions) @@ -2451,6 +2495,67 @@ ndv_alloc=1477188 \EG @fref{Controlling Groebner basis computations} @end table +\JP @node nd_gr_postproc nd_weyl_gr_postproc,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B +\EG @node nd_gr_postproc nd_weyl_gr_postproc,,, Functions for Groebner basis computation +@subsection @code{nd_gr_postproc}, @code{nd_weyl_gr_postproc} +@findex nd_gr_postproc +@findex nd_weyl_gr_postproc + +@table @t +@item nd_gr_postproc(@var{plist},@var{vlist},@var{p},@var{order},@var{check}) +@itemx nd_weyl_gr_postproc(@var{plist},@var{vlist},@var{p},@var{order},@var{check}) +\JP :: $B%0%l%V%J4pDl8uJd$N%A%'%C%/$*$h$SAj8_4JLs(B +\EG :: Check of Groebner basis candidate and inter-reduction +@end table + +@table @var +@item return +\JP $B%j%9%H(B $B$^$?$O(B 0 +\EG list or 0 +@item plist vlist +\JP $B%j%9%H(B +\EG list +@item p +\JP $BAG?t$^$?$O(B 0 +\EG prime or 0 +@item order +\JP $B?t(B, $B%j%9%H$^$?$O9TNs(B +\EG number, list or matrix +@item check +\JP 0 $B$^$?$O(B 1 +\EG 0 or 1 +@end table + +@itemize @bullet +\BJP +@item +$B%0%l%V%J4pDl(B($B8uJd(B)$B$NAj8_4JLs$r9T$&(B. +@item +@code{nd_weyl_gr_postproc} $B$O(B Weyl $BBe?tMQ$G$"$k(B. +@item +@var{check=1} $B$N>l9g(B, @var{plist} $B$,(B, @var{vlist}, @var{p}, @var{order} $B$G;XDj$5$l$kB?9`<04D(B, $B9`=g=x$G%0%l%V%J!<4pDl$K$J$C$F$$$k$+(B +$B$N%A%'%C%/$b9T$&(B. +@item +$B@Fl9g$KMQ$$$k(B. +\E +\BEG +@item +Perform the inter-reduction for a Groebner basis (candidate). +@item +@code{nd_weyl_gr_postproc} is for Weyl algebra. +@item +If @var{check=1} then the check whether @var{plist} is a Groebner basis with respect to a term order in a polynomial ring +or Weyl algebra specified by @var{vlist}, @var{p} and @var{order}. +@item +This function is used for inter-reduction of a non-reduced Groebner basis that is obtained by dehomogenizing a Groebner basis +computed via homogenization, or Groebner basis check of a Groebner basis candidate computed by CRT. +\E +@end itemize + +@example +afo +@end example + \JP @node dp_gr_flags dp_gr_print,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B \EG @node dp_gr_flags dp_gr_print,,, Functions for Groebner basis computation @subsection @code{dp_gr_flags}, @code{dp_gr_print} @@ -2973,7 +3078,7 @@ These are used internally in @code{hgr()} etc. into an integral distributed polynomial such that GCD of all its coefficients is 1. \E -@itemx dp_prim(@var{dpoly}) +@item dp_prim(@var{dpoly}) \JP :: $BM-M}<0G\$7$F78?t$r@0?t78?tB?9`<078?t$+$D78?t$NB?9`<0(B GCD $B$r(B 1 $B$K$9$k(B. \BEG :: Converts a distributed polynomial @var{poly} with rational function @@ -3900,7 +4005,7 @@ refer to @code{dp_true_nf()} and @code{dp_true_nf_mod( @fref{dp_ptod}, @fref{dp_dtop}, @fref{dp_ord}, -@fref{dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod}. +@fref{dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod dp_weyl_nf dp_weyl_nf_mod}. @end table \JP @node p_terms,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B