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 |