version 1.18, 2016/03/24 20:58:50 |
version 1.22, 2019/03/29 04:54:25 |
|
|
@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 |
\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 201 In an @b{Asir} session, it is displayed in the form li |
|
Line 201 In an @b{Asir} session, it is displayed in the form li |
|
\EG and also can be input in such a form. |
\EG and also can be input in such a form. |
|
|
\BJP |
\BJP |
@itemx $BF,C19`<0(B (head monomial) |
|
@item $BF,9`(B (head term) |
@item $BF,9`(B (head term) |
|
@itemx $BF,C19`<0(B (head monomial) |
@itemx $BF,78?t(B (head coefficient) |
@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 |
$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=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. |
$B$H8F$V(B. |
\E |
\E |
\BEG |
\BEG |
@itemx head monomial |
|
@item head term |
@item head term |
|
@itemx head monomial |
@itemx head coefficient |
@itemx head coefficient |
|
|
Monomials in a distributed polynomial is sorted by a total order. |
Monomials in a distributed polynomial is sorted by a total order. |
Line 220 the head term and the head coefficient respectively. |
|
Line 220 the head term and the head coefficient respectively. |
|
\E |
\E |
@end table |
@end table |
|
|
|
@noindent |
|
ChangeLog |
|
@itemize @bullet |
\BJP |
\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<!$N7A<0(B <<d0,d1,...:k>> $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 <<d0,d1,...:k>> (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 |
@node $B%U%!%$%k$NFI$_9~$_(B,,, $B%0%l%V%J4pDl$N7W;;(B |
@section $B%U%!%$%k$NFI$_9~$_(B |
@section $B%U%!%$%k$NFI$_9~$_(B |
\E |
\E |
Line 1465 Computation of the global b function is implemented as |
|
Line 1503 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_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:: |
* 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 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_gr_flags dp_gr_print:: |
* dp_ord:: |
* dp_ord:: |
* dp_set_weight dp_set_top_weight dp_weyl_set_weight:: |
* dp_set_weight dp_set_top_weight dp_weyl_set_weight:: |
Line 1531 Computation of the global b function is implemented as |
|
Line 1570 Computation of the global b function is implemented as |
|
@item |
@item |
$BI8=`%i%$%V%i%j$N(B @samp{gr} $B$GDj5A$5$l$F$$$k(B. |
$BI8=`%i%$%V%i%j$N(B @samp{gr} $B$GDj5A$5$l$F$$$k(B. |
@item |
@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 |
$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()} |
@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. |
$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. |
Line 1562 CPU $B;~4V$G$"$j(B, $B$3$NH!?t$N>l9g$O$[$H$s$IDL?.$ |
|
Line 1603 CPU $B;~4V$G$"$j(B, $B$3$NH!?t$N>l9g$O$[$H$s$IDL?.$ |
|
@item |
@item |
These functions are defined in @samp{gr} in the standard library |
These functions are defined in @samp{gr} in the standard library |
directory. |
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 |
@item |
They compute a Groebner basis of a polynomial list @var{plist} with |
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}. |
respect to the variable order @var{vlist} and the order type @var{order}. |
Line 2320 except for lack of the argument for controlling homoge |
|
Line 2364 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_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(@var{plist},@var{vlist},@var{modular},@var{order}) |
@itemx nd_f4_trace(@var{plist},@var{vlist},@var{homo},@var{p},@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}) |
@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) |
\JP :: $B%0%l%V%J4pDl$N7W;;(B ($BAH$_9~$_H!?t(B) |
\EG :: Groebner basis computation (built-in functions) |
\EG :: Groebner basis computation (built-in functions) |
Line 2451 ndv_alloc=1477188 |
|
Line 2495 ndv_alloc=1477188 |
|
\EG @fref{Controlling Groebner basis computations} |
\EG @fref{Controlling Groebner basis computations} |
@end table |
@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@F<!2=$7$F7W;;$7$?%0%l%V%J!<4pDl$rHs@F<!2=$7$?$b$N$rAj8_4JLs$r9T$&(B, CRT $B$G7W;;$7$?%0%l%V%J!<4pDl8uJd$N%A%'%C%/$r9T$&$J$I$N>l9g$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 |
\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 |
\EG @node dp_gr_flags dp_gr_print,,, Functions for Groebner basis computation |
@subsection @code{dp_gr_flags}, @code{dp_gr_print} |
@subsection @code{dp_gr_flags}, @code{dp_gr_print} |
Line 2973 These are used internally in @code{hgr()} etc. |
|
Line 3078 These are used internally in @code{hgr()} etc. |
|
into an integral distributed polynomial such that GCD of all its coefficients |
into an integral distributed polynomial such that GCD of all its coefficients |
is 1. |
is 1. |
\E |
\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. |
\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 |
\BEG |
:: Converts a distributed polynomial @var{poly} with rational function |
:: Converts a distributed polynomial @var{poly} with rational function |
Line 3900 refer to @code{dp_true_nf()} and @code{dp_true_nf_mod( |
|
Line 4005 refer to @code{dp_true_nf()} and @code{dp_true_nf_mod( |
|
@fref{dp_ptod}, |
@fref{dp_ptod}, |
@fref{dp_dtop}, |
@fref{dp_dtop}, |
@fref{dp_ord}, |
@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 |
@end table |
|
|
\JP @node p_terms,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
\JP @node p_terms,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |