version 1.12, 2003/12/27 11:52:07 |
version 1.13, 2004/09/13 09:23:30 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.11 2003/04/28 06:43:10 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.12 2003/12/27 11:52:07 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 |
|
|
* $B4pK\E*$JH!?t(B:: |
* $B4pK\E*$JH!?t(B:: |
* $B7W;;$*$h$SI=<($N@)8f(B:: |
* $B7W;;$*$h$SI=<($N@)8f(B:: |
* $B9`=g=x$N@_Dj(B:: |
* $B9`=g=x$N@_Dj(B:: |
|
* Weight:: |
* $BM-M}<0$r78?t$H$9$k%0%l%V%J4pDl7W;;(B:: |
* $BM-M}<0$r78?t$H$9$k%0%l%V%J4pDl7W;;(B:: |
* $B4pDlJQ49(B:: |
* $B4pDlJQ49(B:: |
* Weyl $BBe?t(B:: |
* Weyl $BBe?t(B:: |
|
|
* Fundamental functions:: |
* Fundamental functions:: |
* Controlling Groebner basis computations:: |
* Controlling Groebner basis computations:: |
* Setting term orderings:: |
* Setting term orderings:: |
|
* Weight:: |
* Groebner basis computation with rational function coefficients:: |
* Groebner basis computation with rational function coefficients:: |
* Change of ordering:: |
* Change of ordering:: |
* Weyl algebra:: |
* Weyl algebra:: |
Line 1052 expressed by variable @code{x}, and the above explanat |
|
Line 1054 expressed by variable @code{x}, and the above explanat |
|
such a drastic experimental results. |
such a drastic experimental results. |
In practice, however, optimum ordering for variables may not known |
In practice, however, optimum ordering for variables may not known |
beforehand, and some heuristic trial may be inevitable. |
beforehand, and some heuristic trial may be inevitable. |
|
\E |
|
|
|
\BJP |
|
@node Weight ,,, $B%0%l%V%J4pDl$N7W;;(B |
|
@section Weight |
|
\E |
|
\BEG |
|
@node Weight,,, Groebner basis computation |
|
@section Weight |
|
\E |
|
\BJP |
|
$BA0@a$G>R2p$7$?9`=g=x$O(B, $B3FJQ?t$K(B weight ($B=E$_(B) $B$r@_Dj$9$k$3$H$G(B |
|
$B$h$j0lHLE*$J$b$N$H$J$k(B. |
|
\E |
|
\BEG |
|
Term orders introduced in the previous section can be generalized |
|
by setting a weight for each variable. |
|
\E |
|
@example |
|
[0] dp_td(<<1,1,1>>); |
|
3 |
|
[1] dp_set_weight([1,2,3])$ |
|
[2] dp_td(<<1,1,1>>); |
|
6 |
|
@end example |
|
\BJP |
|
$BC19`<0$NA4<!?t$r7W;;$9$k:](B, $B%G%U%)%k%H$G$O(B |
|
$B3FJQ?t$N;X?t$NOB$rA4<!?t$H$9$k(B. $B$3$l$O3FJQ?t$N(B weight $B$r(B 1 $B$H(B |
|
$B9M$($F$$$k$3$H$KAjEv$9$k(B. $B$3$NNc$G$O(B, $BBh0l(B, $BBhFs(B, $BBh;0JQ?t$N(B |
|
weight $B$r$=$l$>$l(B 1,2,3 $B$H;XDj$7$F$$$k(B. $B$3$N$?$a(B, @code{<<1,1,1>>} |
|
$B$NA4<!?t(B ($B0J2<$G$O$3$l$rC19`<0$N(B weight $B$H8F$V(B) $B$,(B @code{1*1+1*2+1*3=6} $B$H$J$k(B. |
|
weight $B$r@_Dj$9$k$3$H$G(B, $BF1$89`=g=x7?$N$b$H$G0[$J$k9`=g=x$,Dj5A$G$-$k(B. |
|
$BNc$($P(B, weight $B$r$&$^$/@_Dj$9$k$3$H$G(B, $BB?9`<0$r(B weighted homogeneous |
|
$B$K$9$k$3$H$,$G$-$k>l9g$,$"$k(B. |
|
\E |
|
\BEG |
|
By default, the total degree of a monomial is equal to |
|
the sum of all exponents. This means that the weight for each variable |
|
is set to 1. |
|
In this example, the weights for the first, the second and the third |
|
variable are set to 1, 2 and 3 respectively. |
|
Therefore the total degree of @code{<<1,1,1>>} under this weight, |
|
which is called the weight of the monomial, is @code{1*1+1*2+1*3=6}. |
|
By setting weights, different term orders can be set under a term |
|
order type. For example, a polynomial can be made weighted homogeneous |
|
by setting an appropriate weight. |
|
\E |
|
|
|
\BJP |
|
$B3FJQ?t$KBP$9$k(B weight $B$r$^$H$a$?$b$N$r(B weight vector $B$H8F$V(B. |
|
$B$9$Y$F$N@.J,$,@5$G$"$j(B, $B%0%l%V%J4pDl7W;;$K$*$$$F(B, $BA4<!?t$N(B |
|
$BBe$o$j$KMQ$$$i$l$k$b$N$rFC$K(B sugar weight $B$H8F$V$3$H$K$9$k(B. |
|
sugar strategy $B$K$*$$$F(B, $BA4<!?t$NBe$o$j$K;H$o$l$k$+$i$G$"$k(B. |
|
$B0lJ}$G(B, $B3F@.J,$,I,$:$7$b@5$H$O8B$i$J$$(B weight vector $B$O(B, |
|
sugar weight $B$H$7$F@_Dj$9$k$3$H$O$G$-$J$$$,(B, $B9`=g=x$N0lHL2=$K$O(B |
|
$BM-MQ$G$"$k(B. $B$3$l$i$O(B, $B9TNs$K$h$k9`=g=x$N@_Dj$K$9$G$K8=$l$F(B |
|
$B$$$k(B. $B$9$J$o$A(B, $B9`=g=x$rDj5A$9$k9TNs$N3F9T$,(B, $B0l$D$N(B weight vector |
|
$B$H8+$J$5$l$k(B. $B$^$?(B, $B%V%m%C%/=g=x$O(B, $B3F%V%m%C%/$N(B |
|
$BJQ?t$KBP1~$9$k@.J,$N$_(B 1 $B$GB>$O(B 0 $B$N(B weight vector $B$K$h$kHf3S$r(B |
|
$B:G=i$K9T$C$F$+$i(B, $B3F%V%m%C%/Kh$N(B tie breaking $B$r9T$&$3$H$KAjEv$9$k(B. |
|
\E |
|
|
|
\BEG |
|
A list of weights for all variables is called a weight vector. |
|
A weight vector is called a sugar weight vector if |
|
its elements are all positive and it is used for computing |
|
a weighted total degree of a monomial, because such a weight |
|
is used instead of total degree in sugar strategy. |
|
On the other hand, a weight vector whose elements are not necessarily |
|
positive cannot be set as a sugar weight, but it is useful for |
|
generalizing term order. In fact, such a weight vector already |
|
appeared in a matrix order. That is, each row of a matrix defining |
|
a term order is regarded as a weight vector. A block order |
|
is also considered as a refinement of comparison by weight vectors. |
|
It compares two terms by using a weight vector whose elements |
|
corresponding to variables in a block is 1 and 0 otherwise, |
|
then it applies a tie breaker. |
|
|
\E |
\E |
|
|
\BJP |
\BJP |