=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/lib/primdec,v retrieving revision 1.2 retrieving revision 1.7 diff -u -p -r1.2 -r1.7 --- OpenXM_contrib2/asir2000/lib/primdec 2000/08/21 08:31:42 1.2 +++ OpenXM_contrib2/asir2000/lib/primdec 2006/02/24 01:15:56 1.7 @@ -23,7 +23,7 @@ * shall be made on your publication or presentation in any form of the * results obtained by use of the SOFTWARE. * (4) In the event that you modify the SOFTWARE, you shall notify FLL by - * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification + * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification * for such modification or the source code of the modified part of the * SOFTWARE. * @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/lib/primdec,v 1.1.1.1 1999/12/03 07:39:11 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/lib/primdec,v 1.6 2003/12/12 03:08:29 takayama Exp $ */ /* Primary decomposition & Radical decomposition program */ /* written by T.Shimoyama, Fujitsu Lab. Date: 1995.10.12 */ @@ -64,8 +64,12 @@ COMMONCHECK if 1 : redundancy check by intersection (i SELECTFLAG selection strategy of separators (0 -- 3) */ -if (vtype(minipoly) != 3) load("gr")$$ +if (!module_definedp("gr")) load("gr")$ else {}$ +module primdec $ + /* Empty for now. It will be used in a future. */ +endmodule$ + #define GR(R,F,V,O) T2=newvect(4,time());R=dp_gr_main(F,V,0,0,O);GRTIME+=newvect(4,time())-T2; #define HGRM(R,F,V,O) T2=newvect(4,time());R=dp_gr_main(F,V,1,1,O);GRTIME+=newvect(4,time())-T2; #define NF(R,IN,F,G,O) T2=newvect(4,time());R=dp_nf(IN,F,G,O);NFTIME+=newvect(4,time())-T2; @@ -297,9 +301,10 @@ def primadec_main(F,REMS,H,VL) def isolated(IP,F,GF,RA,H,SC,VL) { T0 = newvect(4,time()); - if ( RA[0] == "begin" ) + if ( RA[0] == "begin" ) { PD = primedec_main([RA[1]],VL); - else if ( RA[0] == "ext" || RA[0] == "sep" ) { + PD = map(dp_gr_main,PD,VL,0,1,PRIMEORD); /* XXX */ + } else if ( RA[0] == "ext" || RA[0] == "sep" ) { if ( RA[0] == "sep" ) T = prime_irred(idealsav(RA[1]),VL); else @@ -1383,8 +1388,8 @@ def zraddec(F,X) /* contraction from V to X */ def radcont(Q,V,X) { - dp_ord(irem(PRIMEORD,3)); for (R=[],I=length(Q)-1;I>=0;I--) { + dp_ord(irem(PRIMEORD,3)); G=Q[I]; for (E=1,J=0;J