-
Notifications
You must be signed in to change notification settings - Fork 0
/
fuckedup.g
102 lines (93 loc) · 2.56 KB
/
fuckedup.g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
C3W2test:=function(L1,L2)
local s1,s2,t,L;
L:=[];
t:=1;
for s1 in L1 do
for s2 in L2 do
Append(L,C3Wtest(s1,s2));
od;
Print(t,"\n");
t:=t+1;
od;
#return IsomorphismRepresentatives(L);
return L;
end;
C3Wtest:=function(S1,S2)
local f1,f2,V1,V2,m1,m2,m3,V,L,M1,M2,M3,M4,M5,M6;
L:=[];
# Print(Help(S1)," ",Help(S2));
for f1 in Help(S1) do
for f2 in Help(S2) do
V1:=VerticesOfFace(S1,f1);
V2:=VerticesOfFace(S2,f2);
m1:=MapVert(S1,[[V1[1],V2[1]],[V1[2],V2[2]],[V1[3],V2[3]]]);
m2:=MapVert(S1,[[V1[1],V2[2]],[V1[2],V2[3]],[V1[3],V2[1]]]);
m3:=MapVert(S1,[[V1[1],V2[3]],[V1[2],V2[1]],[V1[3],V2[2]]]);
#######################
m4:=MapVert(S1,[[V1[1],V2[1]],[V1[2],V2[3]],[V1[3],V2[2]]]);
m5:=MapVert(S1,[[V1[1],V2[3]],[V1[2],V2[2]],[V1[3],V2[1]]]);
m6:=MapVert(S1,[[V1[1],V2[1]],[V1[2],V2[2]],[V1[3],V2[3]]]);
#######################
V:=VerticesOfFaces(S2);
M1:=symdif(m1,V);
M2:=symdif(m2,V);
M3:=symdif(m3,V);
##########################
M4:=symdif(m4,V);
M5:=symdif(m5,V);
M6:=symdif(m6,V);
#############################
Add(L,SimplicialSurfaceByVerticesInFaces(M1));
Add(L,SimplicialSurfaceByVerticesInFaces(M2));
Add(L,SimplicialSurfaceByVerticesInFaces(M3));
######################
Add(L,SimplicialSurfaceByVerticesInFaces(M4));
Add(L,SimplicialSurfaceByVerticesInFaces(M5));
Add(L,SimplicialSurfaceByVerticesInFaces(M6));
#######################
od;
od;
return IsomorphismRepresentatives(L);
#return L;
end;
newkb:=function(l,file)
local temp,i,g,sum;
i:=0;
sum:=0;
while 500*(i+1)<Length(l) do
Print([1+500*i .. (i+1)*500],"\n");
temp:=List([1+500*i .. (i+1)*500],g->SimplicialSurfaceByVerticesInFaces(l[g]));
Print(Length(temp)," auf isomorphie untersuchen\n");
temp:=C3W2test(temp,[T]);
Print(Length(temp)," neue flaechen\n");
temp:=IsomorphismRepresentatives(temp);
write(temp,file);
i:=i+1;
sum:=sum+Length(temp);
Print(sum," endwhile\n");
od;
Print([1+500*i .. Length(l)],"\n");
Print("last","\n");
temp:=List([1+500*i..Length(l)],g->SimplicialSurfaceByVerticesInFaces(l[g]));
temp:=C3W2test(temp,[T]);
temp:=IsomorphismRepresentatives(temp);
write(temp,file);
end;
fmatrix:=function(S)
local tempS,n,L,temp,i,j;
tempS:=SimplicialSurfaceByVerticesInFaces(Set(VerticesOfFaces(S)));
n:=NumberOfFaces(tempS);
L:=[];
for i in [1..n] do
temp:=[];
for j in [1..n] do
if j in NeighbourFacesOfFace(tempS,i) then
Add(temp,1);
else
Add(temp,0);
fi;
od;
Add(L,temp);
od;
return L;
end;