Subversion Repositories wimsdev

Rev

Rev 18400 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18400 Rev 18465
Line 22... Line 22...
22
    l=eps; eps=4*N/(l*(1-1/p-1/q-1/r)+4*N));\
22
    l=eps; eps=4*N/(l*(1-1/p-1/q-1/r)+4*N));\
23
  my(cd0=vector(l), \\ pour chaque f, les numeros des 3 aretes du bord de la chambre f\
23
  my(cd0=vector(l), \\ pour chaque f, les numeros des 3 aretes du bord de la chambre f\
24
  ce0=vector(l), \\ et l'element g du groupe qui envoie la chambre 1 sur la chambre f\
24
  ce0=vector(l), \\ et l'element g du groupe qui envoie la chambre 1 sur la chambre f\
25
  cd1=vector(2*l+1),\\ pour chaque a, les numeros des extremites de a\
25
  cd1=vector(2*l+1),\\ pour chaque a, les numeros des extremites de a\
26
  ce1=vector(2*l+1),\\ et le numero de la premiere chambre qu'elle borde\
26
  ce1=vector(2*l+1),\\ et le numero de la premiere chambre qu'elle borde\
27
  cd2=vector(l+2),\\ pour chaque s, le nombre d'aretes manquante,\
27
  cd2=vector(l+2),\\ pour chaque s, le nombre d'aretes manquantes,\
28
  ce2=vector(l+2),\\ les deux aretes qui bordent le secteur restant\
28
  ce2=vector(l+2),\\ les deux aretes qui bordent le secteur restant\
29
  cf2=vector(l+2),\\ coordonnees du sommet\
29
  cf2=vector(l+2),\\ coordonnees du sommet\
30
  cg2=vector(l+2) \\ le sommet est dans la zone centrale\
30
  cg2=vector(l+2) \\ le sommet est dans la zone centrale\
31
  );\
31
  );\
32
\\ Les trois reflexions qui engendrent W\
32
\\ Les trois reflexions qui engendrent W\
Line 40... Line 40...
40
  cd0[nf0=1]=vector(3,s,s);\
40
  cd0[nf0=1]=vector(3,s,s);\
41
  ce0[nf0]=[1,0,0]; \\ Identite\
41
  ce0[nf0]=[1,0,0]; \\ Identite\
42
  for (s = 1, 3,\
42
  for (s = 1, 3,\
43
    cd1[nf1+=1] = vector(4, t, if(t>3,s,-1));\
43
    cd1[nf1+=1] = vector(4, t, if(t>3,s,-1));\
44
    ce1[nf1]=1;\
44
    ce1[nf1]=1;\
45
    for (t = 1, s-1,\
45
    for (t=1, s-1,\
46
      cd2[nf2+=1] = 2*m[s,t]-2;\
46
      cd2[nf2+=1] = 2*m[s,t]-2;\
47
      ce2[nf2] = [s,t];\
47
      ce2[nf2] = [s,t];\
48
      snb=6-s-t;\
48
      snb=6-s-t;\
49
      cf2[nf2]=if(snb==1,c,if(snb==2,b,a));\
49
      cf2[nf2]=if(snb==1,c,if(snb==2,b,a));\
50
      cg2[nf2]=(sqrt(norm(cf2[nf2]))+eps)<1;\
50
      cg2[nf2]=(sqrt(norm(cf2[nf2]))+eps)<1;\
Line 60... Line 60...
60
    w1=vector(4); w1[4]=t; w1[s]=f2; w1[t]=-1;\
60
    w1=vector(4); w1[4]=t; w1[s]=f2; w1[t]=-1;\
61
    cd1[nf1+=1]=w1; ce1[nf1]=nf0; cd2[f2]=new[t]-1; ce2[f2]=w0[t]=nf1,\
61
    cd1[nf1+=1]=w1; ce1[nf1]=nf0; cd2[f2]=new[t]-1; ce2[f2]=w0[t]=nf1,\
62
    g1=w0[t]=ce2[f2]; cd1[g1][4]=0)));\
62
    g1=w0[t]=ce2[f2]; cd1[g1][4]=0)));\
63
\\ Mise a jour (et creation si necessaire) des sommets non encore traites\
63
\\ Mise a jour (et creation si necessaire) des sommets non encore traites\
64
    for(t=1,3,if(new[t], g1=w0[t];\
64
    for(t=1,3,if(new[t], g1=w0[t];\
65
        for(u=1,3,if((u!=t) && (u!=s),\
65
      for(u=1,3,if((u!=t) && (u!=s),\
66
          if(new[u],\
66
        if(new[u],\
67
      if(w0[u]<g1, cd2[nf2+=1]=2*m[t,u]-2; ce2[nf2]=g1;\
67
      if(w0[u]<g1, cd2[nf2+=1]=2*m[t,u]-2; ce2[nf2]=g1;\
68
      snb=6-t-u;\
68
      snb=6-t-u;\
69
      cf2[nf2]=mob(ggg,if(snb==1,c,if(snb==2,b,a)));\
69
      cf2[nf2]=mob(ggg,if(snb==1,c,if(snb==2,b,a)));\
70
      cg2[nf2]=(sqrt(norm(cf2[nf2]))+eps)<1;\
70
      cg2[nf2]=(sqrt(norm(cf2[nf2]))+eps)<1;\
71
      cd1[w0[u]][t]=cd1[g1][u]=nf2),\
71
      cd1[w0[u]][t]=cd1[g1][u]=nf2),\