=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/lib/weight,v retrieving revision 1.3 retrieving revision 1.22 diff -u -p -r1.3 -r1.22 --- OpenXM_contrib2/asir2000/lib/weight 2003/11/05 08:26:57 1.3 +++ OpenXM_contrib2/asir2000/lib/weight 2004/01/08 04:26:33 1.22 @@ -1,560 +1,722 @@ -load("solve")$ -load("gr")$ - -def nonposdegchk(Res){ - - for(I=0;Inmono(B) ? 1:0))$ -} - -def junban2(A,B){ - - for(I=0;IB[I]) - return -1$ - } - - return 0$ -} - -def roundret(V){ - - VN=length(V)$ - RET0=newvect(VN,V)$ - - for(I=1;I<1000;I++){ - RET1=I*RET0$ - for(J=0;J=0.0) + T=1.0/(T+dsqrt(T*T+1)); + else + T=1.0/(T-dsqrt(T*T+1)); + + C=1.0/dsqrt(T*T+1); + + S=T*C; + + T*=A[J][K]; + + A[J][J]-=T; + A[K][K]+=T; + A[J][K]=0.0; + + for(I=0;I 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; + } + + return 1; +} + +def nonzerovec(A){ + + for(I=0;IB ? -1:0))$ +} + +def worder(A,B){ + return (A[0]B[0] ? -1:0))$ +} + +def bsort(A){ + + K=size(A)[0]-1$ + while(K>=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;K