[BACK]Return to groebner.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts

Diff for /OpenXM/src/asir-doc/parts/groebner.texi between version 1.17 and 1.18

version 1.17, 2006/09/06 23:53:31 version 1.18, 2016/03/24 20:58:50
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.16 2004/10/20 00:30:55 fujiwara Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.17 2006/09/06 23:53:31 noro Exp $
 \BJP  \BJP
 @node $B%0%l%V%J4pDl$N7W;;(B,,, Top  @node $B%0%l%V%J4pDl$N7W;;(B,,, Top
 @chapter $B%0%l%V%J4pDl$N7W;;(B  @chapter $B%0%l%V%J4pDl$N7W;;(B
Line 1467  Computation of the global b function is implemented as
Line 1467  Computation of the global b function is implemented as
 * nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace::  * nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace::
 * dp_gr_flags dp_gr_print::  * dp_gr_flags dp_gr_print::
 * dp_ord::  * dp_ord::
   * dp_set_weight dp_set_top_weight dp_weyl_set_weight::
 * dp_ptod::  * dp_ptod::
 * dp_dtop::  * dp_dtop::
 * dp_mod dp_rat::  * dp_mod dp_rat::
 * dp_homo dp_dehomo::  * dp_homo dp_dehomo::
 * dp_ptozp dp_prim::  * dp_ptozp dp_prim::
 * dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod::  * dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod dp_weyl_nf dp_weyl_nf_mod::
 * dp_hm dp_ht dp_hc dp_rest::  * dp_hm dp_ht dp_hc dp_rest::
 * dp_td dp_sugar::  * dp_td dp_sugar::
 * dp_lcm::  * dp_lcm::
Line 2352  except for lack of the argument for controlling homoge
Line 2353  except for lack of the argument for controlling homoge
 Buchberger $B%"%k%4%j%:%`$r<B9T$9$k(B.  Buchberger $B%"%k%4%j%:%`$r<B9T$9$k(B.
 @item @code{nd_gr_trace} $B$*$h$S(B @code{nd_f4_trace}  @item @code{nd_gr_trace} $B$*$h$S(B @code{nd_f4_trace}
 $B$OM-M}?tBN>e$G(B trace $B%"%k%4%j%:%`$r<B9T$9$k(B.  $B$OM-M}?tBN>e$G(B trace $B%"%k%4%j%:%`$r<B9T$9$k(B.
 @code{p} $B$,(B 0 $B$^$?$O(B 1 $B$N$H$-(B, $B<+F0E*$KA*$P$l$?AG?t$rMQ$$$F(B, $B@.8y$9$k(B  @var{p} $B$,(B 0 $B$^$?$O(B 1 $B$N$H$-(B, $B<+F0E*$KA*$P$l$?AG?t$rMQ$$$F(B, $B@.8y$9$k(B
 $B$^$G(B trace $B%"%k%4%j%:%`$r<B9T$9$k(B.  $B$^$G(B trace $B%"%k%4%j%:%`$r<B9T$9$k(B.
 @code{p} $B$,(B 2 $B0J>e$N$H$-(B, trace $B$O(BGF(p) $B>e$G7W;;$5$l$k(B. trace $B%"%k%4%j%:%`(B  @var{p} $B$,(B 2 $B0J>e$N$H$-(B, trace $B$O(BGF(p) $B>e$G7W;;$5$l$k(B. trace $B%"%k%4%j%:%`(B
 $B$,<:GT$7$?>l9g(B 0 $B$,JV$5$l$k(B. @code{p} $B$,Ii$N>l9g(B, $B%0%l%V%J4pDl%A%'%C%/$O(B  $B$,<:GT$7$?>l9g(B 0 $B$,JV$5$l$k(B. @var{p} $B$,Ii$N>l9g(B, $B%0%l%V%J4pDl%A%'%C%/$O(B
 $B9T$o$J$$(B. $B$3$N>l9g(B, @code{p} $B$,(B -1 $B$J$i$P<+F0E*$KA*$P$l$?AG?t$,(B,  $B9T$o$J$$(B. $B$3$N>l9g(B, @var{p} $B$,(B -1 $B$J$i$P<+F0E*$KA*$P$l$?AG?t$,(B,
 $B$=$l0J30$O;XDj$5$l$?AG?t$rMQ$$$F%0%l%V%J4pDl8uJd$N7W;;$,9T$o$l$k(B.  $B$=$l0J30$O;XDj$5$l$?AG?t$rMQ$$$F%0%l%V%J4pDl8uJd$N7W;;$,9T$o$l$k(B.
 @code{nd_f4_trace} $B$O(B, $B3FA4<!?t$K$D$$$F(B, $B$"$kM-8BBN>e$G(B F4 $B%"%k%4%j%:%`(B  @code{nd_f4_trace} $B$O(B, $B3FA4<!?t$K$D$$$F(B, $B$"$kM-8BBN>e$G(B F4 $B%"%k%4%j%:%`(B
 $B$G9T$C$?7k2L$r$b$H$K(B, $B$=$NM-8BBN>e$G(B 0 $B$G$J$$4pDl$rM?$($k(B S-$BB?9`<0$N$_$r(B  $B$G9T$C$?7k2L$r$b$H$K(B, $B$=$NM-8BBN>e$G(B 0 $B$G$J$$4pDl$rM?$($k(B S-$BB?9`<0$N$_$r(B
Line 2367  Buchberger $B%"%k%4%j%:%`$r<B9T$9$k(B.
Line 2368  Buchberger $B%"%k%4%j%:%`$r<B9T$9$k(B.
 @code{nd_f4} $B$O(B @code{modular} $B$,(B 0 $B$N$H$-M-M}?tBN>e$N(B, @code{modular} $B$,(B  @code{nd_f4} $B$O(B @code{modular} $B$,(B 0 $B$N$H$-M-M}?tBN>e$N(B, @code{modular} $B$,(B
 $B%^%7%s%5%$%:AG?t$N$H$-M-8BBN>e$N(B F4 $B%"%k%4%j%:%`$r<B9T$9$k(B.  $B%^%7%s%5%$%:AG?t$N$H$-M-8BBN>e$N(B F4 $B%"%k%4%j%:%`$r<B9T$9$k(B.
 @item  @item
   @var{plist} $B$,B?9`<0%j%9%H$N>l9g(B, @var{plist}$B$G@8@.$5$l$k%$%G%"%k$N%0%l%V%J!<4pDl$,(B
   $B7W;;$5$l$k(B. @var{plist} $B$,B?9`<0%j%9%H$N%j%9%H$N>l9g(B, $B3FMWAG$OB?9`<04D>e$N<+M32C72$N85$H8+$J$5$l(B,
   $B$3$l$i$,@8@.$9$kItJ,2C72$N%0%l%V%J!<4pDl$,7W;;$5$l$k(B. $B8e<T$N>l9g(B, $B9`=g=x$O2C72$KBP$9$k9`=g=x$r(B
   $B;XDj$9$kI,MW$,$"$k(B. $B$3$l$O(B @var{[s,ord]} $B$N7A$G;XDj$9$k(B. @var{s} $B$,(B 0 $B$J$i$P(B TOP (Term Over Position),
   1 $B$J$i$P(B POT (Position Over Term) $B$r0UL#$7(B, @var{ord} $B$OB?9`<04D$NC19`<0$KBP$9$k9`=g=x$G$"$k(B.
   @item
 @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} $B$O(B Weyl $BBe?tMQ$G$"$k(B.  @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} $B$O(B Weyl $BBe?tMQ$G$"$k(B.
 @item  @item
 $B$$$:$l$N4X?t$b(B, $BM-M}4X?tBN>e$N7W;;$OL$BP1~$G$"$k(B.  @code{f4} $B7O4X?t0J30$O$9$Y$FM-M}4X?t78?t$N7W;;$,2DG=$G$"$k(B.
 @item  @item
 $B0lHL$K(B @code{dp_gr_main}, @code{dp_gr_mod_main} $B$h$j9bB.$G$"$k$,(B,  $B0lHL$K(B @code{dp_gr_main}, @code{dp_gr_mod_main} $B$h$j9bB.$G$"$k$,(B,
 $BFC$KM-8BBN>e$N>l9g82Cx$G$"$k(B.  $BFC$KM-8BBN>e$N>l9g82Cx$G$"$k(B.
Line 2403  check procedure as in the case of @code{nd_gr_trace} i
Line 2410  check procedure as in the case of @code{nd_gr_trace} i
 @code{nd_f4} executes F4 algorithm over Q if @code{modular} is equal to 0,  @code{nd_f4} executes F4 algorithm over Q if @code{modular} is equal to 0,
 or over a finite field GF(@code{modular})  or over a finite field GF(@code{modular})
 if @code{modular} is a prime number of machine size (<2^29).  if @code{modular} is a prime number of machine size (<2^29).
   If @var{plist} is a list of polynomials, then a Groebner basis of the ideal generated by @var{plist}
   is computed. If @var{plist} is a list of lists of polynomials, then each list of polynomials are regarded
   as an element of a free module over a polynomial ring and a Groebner basis of the sub-module generated by @var{plist}
   in the free module. In the latter case a term order in the free module should be specified.
   This is specified by @var{[s,ord]}. If @var{s} is 0 then it means TOP (Term Over Position).
   If @var{s} is 1 then it means POT 1 (Position Over Term). @var{ord} is a term order in the base polynomial ring.
 @item  @item
 @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} are for Weyl algebra computation.  @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} are for Weyl algebra computation.
 @item  @item
 Each function cannot handle rational function coefficient cases.  Functions except for F4 related ones can handle rational coeffient cases.
 @item  @item
 In general these functions are more efficient than  In general these functions are more efficient than
 @code{dp_gr_main}, @code{dp_gr_mod_main}, especially over finite fields.  @code{dp_gr_main}, @code{dp_gr_mod_main}, especially over finite fields.
Line 2614  when functions other than top level functions are call
Line 2627  when functions other than top level functions are call
 \EG @fref{Setting term orderings}  \EG @fref{Setting term orderings}
 @end table  @end table
   
   \JP @node dp_set_weight dp_set_top_weight dp_weyl_set_weight,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B
   \EG @node dp_set_weight dp_set_top_weight dp_weyl_set_weight,,, Functions for Groebner basis computation
   @subsection @code{dp_set_weight}, @code{dp_set_top_weight}, @code{dp_weyl_set_weight}
   @findex dp_set_weight
   @findex dp_set_top_weight
   @findex dp_weyl_set_weight
   
   @table @t
   @item dp_set_weight([@var{weight}])
   \JP :: sugar weight $B$N@_Dj(B, $B;2>H(B
   \EG :: Set and show the sugar weight.
   @item dp_set_top_weight([@var{weight}])
   \JP :: top weight $B$N@_Dj(B, $B;2>H(B
   \EG :: Set and show the top weight.
   @item dp_weyl_set_weight([@var{weight}])
   \JP :: weyl weight $B$N@_Dj(B, $B;2>H(B
   \EG :: Set and show the weyl weight.
   @end table
   
   @table @var
   @item return
   \JP $B%Y%/%H%k(B
   \EG a vector
   @item weight
   \JP $B@0?t$N%j%9%H$^$?$O%Y%/%H%k(B
   \EG a list or vector of integers
   @end table
   
   @itemize @bullet
   \BJP
   @item
   @code{dp_set_weight} $B$O(B sugar weight $B$r(B @var{weight} $B$K@_Dj$9$k(B. $B0z?t$,$J$$;~(B,
   $B8=:_@_Dj$5$l$F$$$k(B sugar weight $B$rJV$9(B. sugar weight $B$O@5@0?t$r@.J,$H$9$k%Y%/%H%k$G(B,
   $B3FJQ?t$N=E$_$rI=$9(B. $B<!?t$D$-=g=x$K$*$$$F(B, $BC19`<0$N<!?t$r7W;;$9$k:]$KMQ$$$i$l$k(B.
   $B@F<!2=JQ?tMQ$K(B, $BKvHx$K(B 1 $B$rIU$12C$($F$*$/$H0BA4$G$"$k(B.
   @item
   @code{dp_set_top_weight} $B$O(B top weight $B$r(B @var{weight} $B$K@_Dj$9$k(B. $B0z?t$,$J$$;~(B,
   $B8=:_@_Dj$5$l$F$$$k(B top weight $B$rJV$9(B. top weight $B$,@_Dj$5$l$F$$$k$H$-(B,
   $B$^$:(B top weight $B$K$h$kC19`<0Hf3S$r@h$K9T$&(B. tie breaker $B$H$7$F8=:_@_Dj$5$l$F$$$k(B
   $B9`=g=x$,MQ$$$i$l$k$,(B, $B$3$NHf3S$K$O(B top weight $B$OMQ$$$i$l$J$$(B.
   
   @item
   @code{dp_weyl_set_weight} $B$O(B weyl weight $B$r(B @var{weight} $B$K@_Dj$9$k(B. $B0z?t$,$J$$;~(B,
   $B8=:_@_Dj$5$l$F$$$k(B weyl weight $B$rJV$9(B. weyl weight w $B$r@_Dj$9$k$H(B,
   $B9`=g=x7?(B 11 $B$G$N7W;;$K$*$$$F(B, (-w,w) $B$r(B top weight, tie breaker $B$r(B graded reverse lex
   $B$H$7$?9`=g=x$,@_Dj$5$l$k(B.
   \E
   \BEG
   @item
   @code{dp_set_weight} sets the sugar weight=@var{weight}. It returns the current sugar weight.
   A sugar weight is a vector with positive integer components and it represents the weights of variables.
   It is used for computing the weight of a monomial in a graded ordering.
   It is recommended to append a component 1 at the end of the weight vector for a homogenizing variable.
   @item
   @code{dp_set_top_weight} sets the top weight=@var{weight}. It returns the current top weight.
   It a top weight is set, the weights of monomials under the top weight are firstly compared.
   If the the weights are equal then the current term ordering is applied as a tie breaker, but
   the top weight is not used in the tie breaker.
   
   @item
   @code{dp_weyl_set_weight} sets the weyl weigh=@var{weight}. It returns the current weyl weight.
   If a weyl weight w is set, in the comparsion by the term order type 11, a term order with
   the top weight=(-w,w) and the tie breaker=graded reverse lex is applied.
   \E
   @end itemize
   
   @table @t
   \JP @item $B;2>H(B
   \EG @item References
   @fref{Weight}
   @end table
   
   
 \JP @node dp_ptod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B  \JP @node dp_ptod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B
 \EG @node dp_ptod,,, Functions for Groebner basis computation  \EG @node dp_ptod,,, Functions for Groebner basis computation
 @subsection @code{dp_ptod}  @subsection @code{dp_ptod}
Line 2796  converting the coefficients into elements of a finite 
Line 2882  converting the coefficients into elements of a finite 
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item References  \EG @item References
 @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},
 @fref{subst psubst},  @fref{subst psubst},
 @fref{setmod}.  @fref{setmod}.
 @end table  @end table
Line 2940  polynomial contents included in the coefficients are n
Line 3026  polynomial contents included in the coefficients are n
 @fref{ptozp}.  @fref{ptozp}.
 @end table  @end table
   
 \JP @node dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B  \JP @node dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod dp_weyl_nf dp_weyl_nf_mod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B
 \EG @node dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod,,, Functions for Groebner basis computation  \EG @node dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod dp_weyl_nf dp_weyl_nf_mod,,, Functions for Groebner basis computation
 @subsection @code{dp_nf}, @code{dp_nf_mod}, @code{dp_true_nf}, @code{dp_true_nf_mod}  @subsection @code{dp_nf}, @code{dp_nf_mod}, @code{dp_true_nf}, @code{dp_true_nf_mod}
 @findex dp_nf  @findex dp_nf
 @findex  dp_true_nf  @findex  dp_true_nf
 @findex dp_nf_mod  @findex dp_nf_mod
 @findex  dp_true_nf_mod  @findex  dp_true_nf_mod
   @findex dp_weyl_nf
   @findex dp_weyl_nf_mod
   
 @table @t  @table @t
 @item dp_nf(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce})  @item dp_nf(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce})
   @item dp_weyl_nf(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce})
 @item dp_nf_mod(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce},@var{mod})  @item dp_nf_mod(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce},@var{mod})
   @item dp_weyl_nf_mod(@var{indexlist},@var{dpoly},@var{dpolyarray},@var{fullreduce},@var{mod})
 \JP :: $BJ,;6I=8=B?9`<0$N@55,7A$r5a$a$k(B. ($B7k2L$ODj?tG\$5$l$F$$$k2DG=@-$"$j(B)  \JP :: $BJ,;6I=8=B?9`<0$N@55,7A$r5a$a$k(B. ($B7k2L$ODj?tG\$5$l$F$$$k2DG=@-$"$j(B)
   
 \BEG  \BEG
Line 2992  is returned in such a list as @code{[numerator, denomi
Line 3082  is returned in such a list as @code{[numerator, denomi
 @item  @item
 $BJ,;6I=8=B?9`<0(B @var{dpoly} $B$N@55,7A$r5a$a$k(B.  $BJ,;6I=8=B?9`<0(B @var{dpoly} $B$N@55,7A$r5a$a$k(B.
 @item  @item
   $BL>A0$K(B weyl $B$r4^$`4X?t$O%o%$%kBe?t$K$*$1$k@55,7A7W;;$r9T$&(B. $B0J2<$N@bL@$O(B weyl $B$r4^$`$b$N$KBP$7$F$bF1MM$K@.N)$9$k(B.
   @item
 @code{dp_nf_mod()}, @code{dp_true_nf_mod()} $B$NF~NO$O(B, @code{dp_mod()} $B$J$I(B  @code{dp_nf_mod()}, @code{dp_true_nf_mod()} $B$NF~NO$O(B, @code{dp_mod()} $B$J$I(B
 $B$K$h$j(B, $BM-8BBN>e$NJ,;6I=8=B?9`<0$K$J$C$F$$$J$1$l$P$J$i$J$$(B.  $B$K$h$j(B, $BM-8BBN>e$NJ,;6I=8=B?9`<0$K$J$C$F$$$J$1$l$P$J$i$J$$(B.
 @item  @item
Line 3023  is returned in such a list as @code{[numerator, denomi
Line 3115  is returned in such a list as @code{[numerator, denomi
 \BEG  \BEG
 @item  @item
 Computes the normal form of a distributed polynomial.  Computes the normal form of a distributed polynomial.
   @item
   Functions whose name contain @code{weyl} compute normal forms in Weyl algebra. The description below also applies to
   the functions for Weyl algebra.
 @item  @item
 @code{dp_nf_mod()} and @code{dp_true_nf_mod()} require  @code{dp_nf_mod()} and @code{dp_true_nf_mod()} require
 distributed polynomials with coefficients in a finite field as arguments.  distributed polynomials with coefficients in a finite field as arguments.

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>