[BACK]Return to contiguity CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / packages / sample

File: [local] / OpenXM / src / asir-contrib / packages / sample / contiguity (download)

Revision 1.3, Mon Jan 24 10:44:34 2000 UTC (24 years, 4 months ago) by takayama
Branch: MAIN
CVS Tags: maekawa-ipv6, R_1_3_1-2, RELEASE_20000124, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Changes since 1.2: +9 -9 lines

A bug fix. The ideal for F4 was wrong.

/* $OpenXM: OpenXM/src/asir-contrib/packages/sample/contiguity,v 1.3 2000/01/24 10:44:34 takayama Exp $ */

/* contiguity */

def contiguity_param_only(F) {
   if (deg(F,x) != 0) return(0);
   if (deg(F,y) != 0) return(0);
   if (deg(F,dx) != 0) return(0);
   if (deg(F,dy) != 0) return(0);
   return(F);
}

def contiguity_eliminated(G) {
   A = map(contiguity_param_only,G);
   C = [];
   for (I=0; I<length(A); I++) {
     if (A[I] != 0) {
         C = append(C,[A[I]]);
     }
   }
   return(C);
}
def contiguity_f4_a_bf() {
   V = [x,y,a,b,c,cp];
   W = [[dx,1,dy,1,x,1,y,1]];
   F = [x*dx+y*dy+a,
        sm1_mul(dx,x*dx+c-1,V)-sm1_mul(x*dx+y*dy+a,x*dx+y*dy+b,V),
        sm1_mul(dy,y*dy+cp-1,V)-sm1_mul(x*dx+y*dy+a,x*dx+y*dy+b,V)];
   G = sm1_gb([F,V,W]);
   G = G[0];
   B = contiguity_eliminated(G);
   print("b-function for HG is ",0);
   print(map(fctr,B));
   return(map(fctr,B));
}
  
def contiguity_f4_a() {
   V = [x,y,a,b,c,cp];
   W = [[dx,1,dy,1,x,1,y,1]];
   F = [x*dx+y*dy+a,
        sm1_mul(dx,x*dx+c-1,V)-sm1_mul(x*dx+y*dy+a,x*dx+y*dy+b,V),
        sm1_mul(dy,y*dy+cp-1,V)-sm1_mul(x*dx+y*dy+a,x*dx+y*dy+b,V)];
   G = sm1_syz([F,V,W]);

   Gb = map(first,G[1][0]);
   C  = G[1][1];
   Ans = [ ];
   for (I=0; I<length(Gb); I++) {
     if (contiguity_param_only(Gb[I]) != 0) {
        Ans = append(Ans,[ [Gb[I],C[I][0]] ]);
        /* print(sm1_mul(C[I],F,[x,y,a,b,c,cp])); */ /* check ! */
     }
   }
   return(Ans);
}
  


end$