| version 1.1, 2001/04/02 04:33:47 |
version 1.3, 2006/10/03 08:16:55 |
|
|
| * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
| * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
| * |
* |
| * $OpenXM$ |
* $OpenXM: OpenXM_contrib2/asir2000/lib/primdec_lex,v 1.2 2006/02/24 01:15:56 noro Exp $ |
| */ |
*/ |
| /* Primary decomposition & Radical decomposition program */ |
/* Primary decomposition & Radical decomposition program */ |
| /* written by T.Shimoyama, Fujitsu Lab. Date: 1995.10.12 */ |
/* written by T.Shimoyama, Fujitsu Lab. Date: 1995.10.12 */ |
| Line 453 def extraction(GF,Pr,VL) |
|
| Line 453 def extraction(GF,Pr,VL) |
|
| V = minalgdep(Pr,VL,PRIMEORD); |
V = minalgdep(Pr,VL,PRIMEORD); |
| U = listminus(VL,V); |
U = listminus(VL,V); |
| V0 = append(V,U); |
V0 = append(V,U); |
| |
#if 0 |
| |
/* This may be a bug. GF is not a GB w.r.t the elimination order */ |
| if ( V0 != VL ) { |
if ( V0 != VL ) { |
| ORD = [[TMPORD1,length(V)],[TMPORD2,length(U)]]; |
ORD = [[TMPORD1,length(V)],[TMPORD2,length(U)]]; |
| GR(G,GF,V0,ORD); |
GR(G,GF,V0,ORD); |
| } else |
} else |
| G = GF; |
G = GF; |
| |
#else |
| |
ORD = [[TMPORD1,length(V)],[TMPORD2,length(U)]]; |
| |
GR(G,GF,V0,ORD); |
| |
#endif |
| dp_ord(TMPORD1); |
dp_ord(TMPORD1); |
| for (LL = [],HC = 1,I = 0; I < length(G); I++) |
for (LL = [],HC = 1,I = 0; I < length(G); I++) |
| LL = append(LL,cdr(fctr(dp_hc(dp_ptod(G[I],V))))); |
LL = append(LL,cdr(fctr(dp_hc(dp_ptod(G[I],V))))); |
| Line 1384 def zraddec(F,X) |
|
| Line 1390 def zraddec(F,X) |
|
| /* contraction from V to X */ |
/* contraction from V to X */ |
| def radcont(Q,V,X) |
def radcont(Q,V,X) |
| { |
{ |
| dp_ord(irem(PRIMEORD,3)); |
|
| for (R=[],I=length(Q)-1;I>=0;I--) { |
for (R=[],I=length(Q)-1;I>=0;I--) { |
| |
dp_ord(irem(PRIMEORD,3)); |
| G=Q[I]; |
G=Q[I]; |
| for (E=1,J=0;J<length(G);J++) |
for (E=1,J=0;J<length(G);J++) |
| E = lcm(E,dp_hc(dp_ptod(G[J],V))); |
E = lcm(E,dp_hc(dp_ptod(G[J],V))); |