=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/lib/weight,v retrieving revision 1.4 retrieving revision 1.18 diff -u -p -r1.4 -r1.18 --- OpenXM_contrib2/asir2000/lib/weight 2003/11/11 05:10:24 1.4 +++ OpenXM_contrib2/asir2000/lib/weight 2004/01/07 06:33:31 1.18 @@ -1,97 +1,353 @@ load("solve")$ load("gr")$ -def nonposdegchk(Res){ +#define EPS 1E-6 +#define TINY 1E-20 +#define MAX_ITER 100 - for(I=0;I=0.0) + T=1.0/(T+dsqrt(T*T+1)); else - if(ResVec[J] MAX_ITER) + return 0; + + for(I=0;IT){ + K=J; + T=A[K][K]; + } + + A[K][K]=A[I][I]; + + A[I][I]=T; + + V=W[K]; + + W[K]=W[I]; + + W[I]=V; } - for(F=0,I=0;Inmono(B) ? 1:0))$ +def junban(A,B){ + return (AB ? -1:0))$ } -def junban2(A,B){ +def worder(A,B){ + return (A[0]B[0] ? -1:0))$ +} - for(I=0;I=0){ + J=-1$ + for(I=1;I<=K;I++) + if(A[I-1][0]0){ + TMP=perm(I-1,P,TMP)$ + for(J=I-1;J>=0;J--){ + T=P[I]$ + P[I]=P[J]$ + P[J]=T$ + TMP=perm(I-1,P,TMP)$ + T=P[I]$ + P[I]=P[J]$ + P[J]=T$ + } + + return TMP$ + } + else{ + for(TMP0=[],K=0;KB[I]) - return -1$ + RET=[]$ + for(I=0;I