version 1.16, 2004/10/20 00:30:55 |
version 1.21, 2018/09/06 05:42:43 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.15 2004/09/14 02:28:20 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.20 2017/08/31 04:54:36 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 1464 Computation of the global b function is implemented as |
|
Line 1502 Computation of the global b function is implemented as |
|
* tolexm minipolym:: |
* tolexm minipolym:: |
* 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_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 1530 Computation of the global b function is implemented as |
|
Line 1569 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 1561 CPU $B;~4V$G$"$j(B, $B$3$NH!?t$N>l9g$O$[$H$s$IDL?.$ |
|
Line 1602 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 2304 except for lack of the argument for controlling homoge |
|
Line 2348 except for lack of the argument for controlling homoge |
|
\EG @fref{Controlling Groebner basis computations} |
\EG @fref{Controlling Groebner basis computations} |
@end table |
@end table |
|
|
\JP @node nd_gr nd_gr_trace nd_f4 nd_weyl_gr nd_weyl_gr_trace,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
\JP @node nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
\EG @node nd_gr nd_gr_trace nd_f4 nd_weyl_gr nd_weyl_gr_trace,,, Functions for Groebner basis computation |
\EG @node nd_gr nd_gr_trace nd_f4 nd_f4_trace nd_weyl_gr nd_weyl_gr_trace,,, Functions for Groebner basis computation |
@subsection @code{nd_gr}, @code{nd_gr_trace}, @code{nd_f4}, @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} |
@subsection @code{nd_gr}, @code{nd_gr_trace}, @code{nd_f4}, @code{nd_f4_trace}, @code{nd_weyl_gr}, @code{nd_weyl_gr_trace} |
@findex nd_gr |
@findex nd_gr |
@findex nd_gr_trace |
@findex nd_gr_trace |
@findex nd_f4 |
@findex nd_f4 |
|
@findex nd_f4_trace |
@findex nd_weyl_gr |
@findex nd_weyl_gr |
@findex nd_weyl_gr_trace |
@findex nd_weyl_gr_trace |
|
|
Line 2317 except for lack of the argument for controlling homoge |
|
Line 2362 except for lack of the argument for controlling homoge |
|
@item nd_gr(@var{plist},@var{vlist},@var{p},@var{order}) |
@item nd_gr(@var{plist},@var{vlist},@var{p},@var{order}) |
@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}) |
@item nd_weyl_gr(@var{plist},@var{vlist},@var{p},@var{order}) |
@itemx nd_f4_trace(@var{plist},@var{vlist},@var{homo},@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 2348 except for lack of the argument for controlling homoge |
|
Line 2394 except for lack of the argument for controlling homoge |
|
@item @code{nd_gr} $B$O(B, @code{p} $B$,(B 0 $B$N$H$-M-M}?tBN>e$N(B Buchberger |
@item @code{nd_gr} $B$O(B, @code{p} $B$,(B 0 $B$N$H$-M-M}?tBN>e$N(B Buchberger |
$B%"%k%4%j%:%`$r<B9T$9$k(B. @code{p} $B$,(B 2 $B0J>e$N<+A3?t$N$H$-(B, GF(p) $B>e$N(B |
$B%"%k%4%j%:%`$r<B9T$9$k(B. @code{p} $B$,(B 2 $B0J>e$N<+A3?t$N$H$-(B, GF(p) $B>e$N(B |
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$OM-M}?tBN>e$G(B trace $B%"%k%4%j%:%`$r<B9T$9$k(B. |
@item @code{nd_gr_trace} $B$*$h$S(B @code{nd_f4_trace} |
@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 |
$B$OM-M}?tBN>e$G(B trace $B%"%k%4%j%:%`$r<B9T$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 |
|
$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 |
|
$BMQ$$$F9TNs@8@.$r9T$$(B, $B$=$NA4<!?t$K$*$1$k4pDl$r@8@.$9$kJ}K!$G$"$k(B. $BF@$i$l$k(B |
|
$BB?9`<0=89g$O$d$O$j%0%l%V%J4pDl8uJd$G$"$j(B, @code{nd_gr_trace} $B$HF1MM$N(B |
|
$B%A%'%C%/$,9T$o$l$k(B. |
@item |
@item |
@code{nd_f4} $B$O(B, $BM-8BBN>e$N(B F4 $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 |
|
$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 2384 the Groebner basis check and ideal-membership check ar |
|
Line 2443 the Groebner basis check and ideal-membership check ar |
|
In this case, an automatically chosen prime if @code{p} is 1, |
In this case, an automatically chosen prime if @code{p} is 1, |
otherwise the specified prime is used to compute a Groebner basis |
otherwise the specified prime is used to compute a Groebner basis |
candidate. |
candidate. |
|
Execution of @code{nd_f4_trace} is done as follows: |
|
For each total degree, an F4-reduction of S-polynomials over a finite field |
|
is done, and S-polynomials which give non-zero basis elements are gathered. |
|
Then F4-reduction over Q is done for the gathered S-polynomials. |
|
The obtained polynomial set is a Groebner basis candidate and the same |
|
check procedure as in the case of @code{nd_gr_trace} is done. |
@item |
@item |
@code{nd_f4} executes F4 algorithm over a finite field. |
@code{nd_f4} executes F4 algorithm over Q if @code{modular} is equal to 0, |
|
or over a finite field GF(@code{modular}) |
|
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 2597 when functions other than top level functions are call |
|
Line 2670 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 2779 converting the coefficients into elements of a finite |
|
Line 2925 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 2870 These are used internally in @code{hgr()} etc. |
|
Line 3016 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 2923 polynomial contents included in the coefficients are n |
|
Line 3069 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 2975 is returned in such a list as @code{[numerator, denomi |
|
Line 3125 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 3007 is returned in such a list as @code{[numerator, denomi |
|
Line 3159 is returned in such a list as @code{[numerator, denomi |
|
@item |
@item |
Computes the normal form of a distributed polynomial. |
Computes the normal form of a distributed polynomial. |
@item |
@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 |
@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. |
@item |
@item |
Line 3788 refer to @code{dp_true_nf()} and @code{dp_true_nf_mod( |
|
Line 3943 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 |