| version 1.2, 1999/12/21 02:47:31 |
version 1.4, 2003/04/19 15:44:56 |
|
|
| @comment $OpenXM$ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/groebner.texi,v 1.3 1999/12/24 04:38:04 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 1239 Refer to the sections for each functions. |
|
| Line 1239 Refer to the sections for each functions. |
|
| * katsura hkatsura cyclic hcyclic:: |
* katsura hkatsura cyclic hcyclic:: |
| * dp_vtoe dp_etov:: |
* dp_vtoe dp_etov:: |
| * lex_hensel_gsl tolex_gsl tolex_gsl_d:: |
* lex_hensel_gsl tolex_gsl tolex_gsl_d:: |
| |
* primadec primedec:: |
| @end menu |
@end menu |
| |
|
| \JP @node gr hgr gr_mod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
\JP @node gr hgr gr_mod,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
| Line 1262 Refer to the sections for each functions. |
|
| Line 1263 Refer to the sections for each functions. |
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item plist, vlist, procs |
@item plist vlist procs |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 1371 for communication. |
|
| Line 1372 for communication. |
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item plist, vlist1, vlist2, procs |
@item plist vlist1 vlist2 procs |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
|
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item plist, vlist1, vlist2, procs |
@item plist vlist1 vlist2 procs |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
|
|
| @item return |
@item return |
| \JP $BB?9`<0(B |
\JP $BB?9`<0(B |
| \EG polynomial |
\EG polynomial |
| @item plist, vlist |
@item plist vlist |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 1788 for @code{gr_minipoly()}. |
|
| Line 1789 for @code{gr_minipoly()}. |
|
| @item return |
@item return |
| \JP @code{tolexm()} : $B%j%9%H(B, @code{minipolym()} : $BB?9`<0(B |
\JP @code{tolexm()} : $B%j%9%H(B, @code{minipolym()} : $BB?9`<0(B |
| \EG @code{tolexm()} : list, @code{minipolym()} : polynomial |
\EG @code{tolexm()} : list, @code{minipolym()} : polynomial |
| @item plist, vlist1, vlist2 |
@item plist vlist1 vlist2 |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 1853 z^32+11405*z^31+20868*z^30+21602*z^29+... |
|
| Line 1854 z^32+11405*z^31+20868*z^30+21602*z^29+... |
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item plist, vlist |
@item plist vlist |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 1965 Actual computation is controlled by various parameters |
|
| Line 1966 Actual computation is controlled by various parameters |
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item plist, vlist |
@item plist vlist |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 2790 selection strategy of critical pairs in Groebner basis |
|
| Line 2791 selection strategy of critical pairs in Groebner basis |
|
| @item return |
@item return |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @item dpoly1, dpoly2 |
@item dpoly1 dpoly2 |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @end table |
@end table |
| Line 2833 two polynomials, where coefficient is always set to 1. |
|
| Line 2834 two polynomials, where coefficient is always set to 1. |
|
| @item return |
@item return |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @item dpoly1, dpoly2 |
@item dpoly1 dpoly2 |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @end table |
@end table |
| Line 2888 Used for finding candidate terms at reduction of polyn |
|
| Line 2889 Used for finding candidate terms at reduction of polyn |
|
| @item return |
@item return |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @item dpoly1, dpoly2 |
@item dpoly1 dpoly2 |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @end table |
@end table |
| Line 3112 values of @code{dp_mag()} for intermediate basis eleme |
|
| Line 3113 values of @code{dp_mag()} for intermediate basis eleme |
|
| @item return |
@item return |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item dpoly1, dpoly2, dpoly3 |
@item dpoly1 dpoly2 dpoly3 |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @item vlist |
@item vlist |
| Line 3136 values of @code{dp_mag()} for intermediate basis eleme |
|
| Line 3137 values of @code{dp_mag()} for intermediate basis eleme |
|
| $B$J$i$J$$(B. |
$B$J$i$J$$(B. |
| @item |
@item |
| $B0z?t$,@0?t78?t$N;~(B, $B4JLs$O(B, $BJ,?t$,8=$l$J$$$h$&(B, $B@0?t(B @var{a}, @var{b}, |
$B0z?t$,@0?t78?t$N;~(B, $B4JLs$O(B, $BJ,?t$,8=$l$J$$$h$&(B, $B@0?t(B @var{a}, @var{b}, |
| $B9`(B @var{t} $B$K$h$j(B @var{a(dpoly1 + dpoly2)-bt dpoly3} $B$H$7$F7W;;$5$l$k(B. |
$B9`(B @var{t} $B$K$h$j(B @var{a}(@var{dpoly1} + @var{dpoly2})-@var{bt} @var{dpoly3} $B$H$7$F7W;;$5$l$k(B. |
| @item |
@item |
| $B7k2L$O(B, @code{[@var{a dpoly1},@var{a dpoly2 - bt dpoly3}]} $B$J$k%j%9%H$G$"$k(B. |
$B7k2L$O(B, @code{[@var{a dpoly1},@var{a dpoly2 - bt dpoly3}]} $B$J$k%j%9%H$G$"$k(B. |
| \E |
\E |
| Line 3155 the divisibility of the head term of @var{dpoly2} by t |
|
| Line 3156 the divisibility of the head term of @var{dpoly2} by t |
|
| When integral coefficients, computation is so carefully performed that |
When integral coefficients, computation is so carefully performed that |
| no rational operations appear in the reduction procedure. |
no rational operations appear in the reduction procedure. |
| It is computed for integers @var{a} and @var{b}, and a term @var{t} as: |
It is computed for integers @var{a} and @var{b}, and a term @var{t} as: |
| @var{a(dpoly1 + dpoly2)-bt dpoly3}. |
@var{a}(@var{dpoly1} + @var{dpoly2})-@var{bt} @var{dpoly3}. |
| @item |
@item |
| The result is a list @code{[@var{a dpoly1},@var{a dpoly2 - bt dpoly3}]}. |
The result is a list @code{[@var{a dpoly1},@var{a dpoly2 - bt dpoly3}]}. |
| \E |
\E |
| Line 3196 The result is a list @code{[@var{a dpoly1},@var{a dpol |
|
| Line 3197 The result is a list @code{[@var{a dpoly1},@var{a dpol |
|
| @item return |
@item return |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @item dpoly1, dpoly2 |
@item dpoly1 dpoly2 |
| \JP $BJ,;6I=8=B?9`<0(B |
\JP $BJ,;6I=8=B?9`<0(B |
| \EG distributed polynomial |
\EG distributed polynomial |
| @item mod |
@item mod |
| Line 3272 as a form of @code{[numerator, denominator]}) |
|
| Line 3273 as a form of @code{[numerator, denominator]}) |
|
| @item poly |
@item poly |
| \JP $BB?9`<0(B |
\JP $BB?9`<0(B |
| \EG polynomial |
\EG polynomial |
| @item plist,vlist |
@item plist vlist |
| \JP $B%j%9%H(B |
\JP $B%j%9%H(B |
| \EG list |
\EG list |
| @item order |
@item order |
| Line 3427 u0^6,u0^5,u0^4,u0^3,u0^2,u0,1] |
|
| Line 3428 u0^6,u0^5,u0^4,u0^3,u0^2,u0,1] |
|
| @table @var |
@table @var |
| \JP @item return 0 $B$^$?$O(B 1 |
\JP @item return 0 $B$^$?$O(B 1 |
| \EG @item return 0 or 1 |
\EG @item return 0 or 1 |
| @item plist1, plist2 |
@item plist1 plist2 |
| @end table |
@end table |
| |
|
| @itemize @bullet |
@itemize @bullet |
| Line 3547 u0^2-u0+2*u4^2+2*u3^2+2*u2^2+2*u1^2+2*u5^2] |
|
| Line 3548 u0^2-u0+2*u4^2+2*u3^2+2*u2^2+2*u1^2+2*u5^2] |
|
| @fref{dp_dtop}. |
@fref{dp_dtop}. |
| @end table |
@end table |
| |
|
| |
\JP @node primadec primedec,,, $B%0%l%V%J4pDl$K4X$9$kH!?t(B |
| |
\EG @node primadec primedec,,, Functions for Groebner basis computation |
| |
@subsection @code{primadec}, @code{primedec} |
| |
@findex primadec |
| |
@findex primedec |
| |
|
| |
@table @t |
| |
@item primadec(@var{plist},@var{vlist}) |
| |
@item primedec(@var{plist},@var{vlist}) |
| |
\JP :: $B%$%G%"%k$NJ,2r(B |
| |
\EG :: Computes decompositions of ideals. |
| |
@end table |
| |
|
| |
@table @var |
| |
@item return |
| |
@itemx plist |
| |
\JP $BB?9`<0%j%9%H(B |
| |
\EG list of polynomials |
| |
@item vlist |
| |
\JP $BJQ?t%j%9%H(B |
| |
\EG list of variables |
| |
@end table |
| |
|
| |
@itemize @bullet |
| |
\BJP |
| |
@item |
| |
@code{primadec()}, @code{primedec} $B$O(B @samp{primdec} $B$GDj5A$5$l$F$$$k(B. |
| |
@item |
| |
@code{primadec()}, @code{primedec()} $B$O$=$l$>$lM-M}?tBN>e$G$N%$%G%"%k$N(B |
| |
$B=`AGJ,2r(B, $B:,4p$NAG%$%G%"%kJ,2r$r9T$&(B. |
| |
@item |
| |
$B0z?t$OB?9`<0%j%9%H$*$h$SJQ?t%j%9%H$G$"$k(B. $BB?9`<0$OM-M}?t78?t$N$_$,5v$5$l$k(B. |
| |
@item |
| |
@code{primadec} $B$O(B @code{[$B=`AG@.J,(B, $BIUB0AG%$%G%"%k(B]} $B$N%j%9%H$rJV$9(B. |
| |
@item |
| |
@code{primadec} $B$O(B $BAG0x;R$N%j%9%H$rJV$9(B. |
| |
@item |
| |
$B7k2L$K$*$$$F(B, $BB?9`<0%j%9%H$H$7$FI=<($5$l$F$$$k3F%$%G%"%k$OA4$F(B |
| |
$B%0%l%V%J4pDl$G$"$k(B. $BBP1~$9$k9`=g=x$O(B, $B$=$l$>$l(B |
| |
$BJQ?t(B @code{PRIMAORD}, @code{PRIMEORD} $B$K3JG<$5$l$F$$$k(B. |
| |
@item |
| |
@code{primadec} $B$O(B @code{[Shimoyama,Yokoyama]} $B$N=`AGJ,2r%"%k%4%j%:%`(B |
| |
$B$r<BAu$7$F$$$k(B. |
| |
@item |
| |
$B$b$7AG0x;R$N$_$r5a$a$?$$$J$i(B, @code{primedec} $B$r;H$&J}$,$h$$(B. |
| |
$B$3$l$O(B, $BF~NO%$%G%"%k$,:,4p%$%G%"%k$G$J$$>l9g$K(B, @code{primadec} |
| |
$B$N7W;;$KM>J,$J%3%9%H$,I,MW$H$J$k>l9g$,$"$k$+$i$G$"$k(B. |
| |
\E |
| |
\BEG |
| |
@item |
| |
Function @code{primadec()} and @code{primedec} are defined in @samp{primdec}. |
| |
@item |
| |
@code{primadec()}, @code{primedec()} are the function for primary |
| |
ideal decomposition and prime decomposition of the radical over the |
| |
rationals respectively. |
| |
@item |
| |
The arguments are a list of polynomials and a list of variables. |
| |
These functions accept ideals with rational function coefficients only. |
| |
@item |
| |
@code{primadec} returns the list of pair lists consisting a primary component |
| |
and its associated prime. |
| |
@item |
| |
@code{primedec} returns the list of prime components. |
| |
@item |
| |
Each component is a Groebner basis and the corresponding term order |
| |
is indicated by the global variables @code{PRIMAORD}, @code{PRIMEORD} |
| |
respectively. |
| |
@item |
| |
@code{primadec} implements the primary decompostion algorithm |
| |
in @code{[Shimoyama,Yokoyama]}. |
| |
@item |
| |
If one only wants to know the prime components of an ideal, then |
| |
use @code{primedec} because @code{primadec} may need additional costs |
| |
if an input ideal is not radical. |
| |
\E |
| |
@end itemize |
| |
|
| |
@example |
| |
[84] load("primdec")$ |
| |
[102] primedec([p*q*x-q^2*y^2+q^2*y,-p^2*x^2+p^2*x+p*q*y, |
| |
(q^3*y^4-2*q^3*y^3+q^3*y^2)*x-q^3*y^4+q^3*y^3, |
| |
-q^3*y^4+2*q^3*y^3+(-q^3+p*q^2)*y^2],[p,q,x,y]); |
| |
[[y,x],[y,p],[x,q],[q,p],[x-1,q],[y-1,p],[(y-1)*x-y,q*y^2-2*q*y-p+q]] |
| |
[103] primadec([x,z*y,w*y^2,w^2*y-z^3,y^3],[x,y,z,w]); |
| |
[[[x,z*y,y^2,w^2*y-z^3],[z,y,x]],[[w,x,z*y,z^3,y^3],[w,z,y,x]]] |
| |
@end example |
| |
|
| |
@table @t |
| |
\JP @item $B;2>H(B |
| |
\EG @item References |
| |
@fref{fctr sqfr}, |
| |
\JP @fref{$B9`=g=x$N@_Dj(B}. |
| |
\EG @fref{Setting term orderings}. |
| |
@end table |