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 |
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 ( |
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 |
|
65 | for(u=1,3,if((u!=t) && (u!=s),\ |
66 |
|
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),\ |