Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

1035331 views
1
2
17 A demo session with simpcomp
3
4
This chapter contains the transcript of a demo session with simpcomp that is
5
intended to give an insight into what things can be done with this package.
6
7
Of course this only scratches the surface of the functions provided by
8
simpcomp. See Chapters 4 through 15 for further functions provided by
9
simpcomp.
10
11
12
17.1 Creating a SCSimplicialComplex object
13
14
Simplicial complex objects can either be created from a facet list (complex
15
c1 below), orbit representatives together with a permutation group (complex
16
c2) or difference cycles (complex c3, see Section 6.1), from a function
17
generating triangulations of standard complexes (complex c4, see Section
18
6.3) or from a function constructing infinite series for combinatorial
19
(pseudo)manifolds (complexes c5, c6, c7, see Section 6.4 and the function
20
prefix SCSeries...). There are also functions creating new simplicial
21
complexes from old, see Section 6.6, which will be described in the next
22
sections.
23
24
 Example 
25
gap> #first run functionality test on simpcomp
26
gap> SCRunTest();
27
+ test simpcomp package, version 2.1.7
28
+ GAP4stones: 69988
29
true
30
gap> #all ok
31
gap> c1:=SCFromFacets([[1,2],[2,3],[3,1]]);
32
[SimplicialComplex
33

34
 Properties known: Dim, Facets, Name, VertexLabels.
35

36
 Name="unnamed complex 1"
37
 Dim=1
38

39
/SimplicialComplex]
40
gap> G:=Group([(2,12,11,6,8,3)(4,7,10)(5,9),(1,11,6,4,5,3,10,8,9,7,2,12)]);
41
Group([ (2,12,11,6,8,3)(4,7,10)(5,9), (1,11,6,4,5,3,10,8,9,7,2,12) ])
42
gap> StructureDescription(G);
43
"S4 x S3"
44
gap> Size(G);
45
144
46
gap> c2:=SCFromGenerators(G,[[1,2,3]]);;
47
gap> c2.IsManifold; 
48
true
49
gap> SCLibDetermineTopologicalType(c2);
50
[SimplicialComplex
51

52
 Properties known: AutomorphismGroup, AutomorphismGroupSize, 
53
 AutomorphismGroupStructure, AutomorphismGroupTransitivity,\
54
 
55
 Boundary, Dim, Faces, Facets, Generators, HasBoundary, 
56
 IsManifold, IsPM, Name, TopologicalType, VertexLabels, 
57
 Vertices.
58

59
 Name="complex from generators under group S4 x S3"
60
 Dim=2
61
 AutomorphismGroupSize=144
62
 AutomorphismGroupStructure="S4 x S3"
63
 AutomorphismGroupTransitivity=1
64
 HasBoundary=false
65
 IsPM=true
66
 TopologicalType="T^2"
67

68
/SimplicialComplex]
69
gap> c3:=SCFromDifferenceCycles([[1,1,6],[3,3,2]]);
70
[SimplicialComplex
71

72
 Properties known: Dim, Facets, Name, VertexLabels.
73

74
 Name="complex from diffcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]"
75
 Dim=2
76

77
/SimplicialComplex]
78
gap> c4:=SCBdSimplex(2);
79
[SimplicialComplex
80

81
 Properties known: AutomorphismGroup, AutomorphismGroupOrder, 
82
 AutomorphismGroupStructure, AutomorphismGroupTransitivity, 
83
 Chi, Dim, F, Facets, Generators, HasBounday, Homology, 
84
 IsConnected, IsStronglyConnected, Name, TopologicalType, 
85
 VertexLabels.
86

87
 Name="S^1_3"
88
 Dim=1
89
 AutomorphismGroupStructure="S3"
90
 AutomorphismGroupTransitivity=3
91
 Chi=0
92
 F=[ 3, 3 ]
93
 Homology=[ [ 0, [ ] ], [ 1, [ ] ] ]
94
 IsConnected=true
95
 IsStronglyConnected=true
96
 TopologicalType="S^1"
97

98
/SimplicialComplex]
99
gap> c5:=SCSeriesCSTSurface(2,16);; 
100
gap> SCLibDetermineTopologicalType(c5);
101
[SimplicialComplex
102

103
 Properties known: Boundary, Dim, Faces, Facets, HasBoundary, IsPM, Name, 
104
 TopologicalType, VertexLabels.
105

106
 Name="cst surface S_{(2,16)} = { (2:2:12),(6:6:4) }"
107
 Dim=2
108
 HasBoundary=false
109
 IsPM=true
110
 TopologicalType="T^2 U T^2"
111

112
/SimplicialComplex]
113
gap> c6:=SCSeriesD2n(22);;
114
gap> c6.Homology;
115
[ [ 0, [ ] ], [ 1, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ]
116
gap> c6.F;
117
[ 44, 264, 440, 220 ]
118
gap> SCSeriesAGL(17);
119
[ AGL(1,17), [ [ 1, 2, 4, 8, 16 ] ] ]
120
gap> c7:=SCFromGenerators(last[1],last[2]);;
121
gap> c7.AutomorphismGroupTransitivity;
122
2
123

124
125
126
17.2 Working with a SCSimplicialComplex object
127
128
As described in Section 3.1 there are two several ways of accessing an
129
object of type SCSimplicialComplex. An example for the two equivalent ways
130
is given below. The preference will be given to the object oriented notation
131
in this demo session. The code listed below
132
133
 Example 
134
gap> c:=SCBdSimplex(3);; # create a simplicial complex object
135
gap> SCFVector(c);
136
[ 4, 6, 4 ]
137
gap> SCSkel(c,0);
138
[ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ]
139

140
141
is equivalent to
142
143
 Example 
144
gap> c:=SCBdSimplex(3);; # create a simplicial complex object
145
gap> c.F;
146
[ 4, 6, 4 ]
147
gap> c.Skel(0);
148
[ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ]
149

150
151
152
17.3 Calculating properties of a SCSimplicialComplex object
153
154
simpcomp provides a variety of functions for calculating properties of
155
simplicial complexes, see Section 6.9. All these properties are only
156
calculated once and stored in the SCSimplicialComplex object.
157
158
 Example 
159
gap> c1.F; 
160
[ 3, 3 ]
161
gap> c1.FaceLattice;
162
[ [ [ 1 ], [ 2 ], [ 3 ] ], [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ] ]
163
gap> c1.AutomorphismGroup;
164
S3
165
gap> c1.Generators;
166
[ [ [ 1, 2 ], 3 ] ]
167
gap> c3.Facets;
168
[ [ 1, 2, 3 ], [ 1, 2, 8 ], [ 1, 3, 6 ], [ 1, 4, 6 ], [ 1, 4, 7 ], 
169
 [ 1, 7, 8 ], [ 2, 3, 4 ], [ 2, 4, 7 ], [ 2, 5, 7 ], [ 2, 5, 8 ], 
170
 [ 3, 4, 5 ], [ 3, 5, 8 ], [ 3, 6, 8 ], [ 4, 5, 6 ], [ 5, 6, 7 ], 
171
 [ 6, 7, 8 ] ]
172
gap> c3.F;
173
[ 8, 24, 16 ]
174
gap> c3.G;
175
[ 4 ]
176
gap> c3.H;
177
[ 5, 11, -1 ]
178
gap> c3.ASDet;
179
186624
180
gap> c3.Chi;
181
0
182
gap> c3.Generators;
183
[ [ [ 1, 2, 3 ], 16 ] ]
184
gap> c3.HasBoundary;
185
false
186
gap> c3.IsConnected;
187
true
188
gap> c3.IsCentrallySymmetric;
189
true
190
gap> c3.Vertices;
191
[ 1, 2, 3, 4, 5, 6, 7, 8 ]
192
gap> c3.ConnectedComponents;
193
[ [SimplicialComplex
194
 
195
 Properties known: Dim, Facets, Name, VertexLabels.
196
 
197
 Name="Connected component #1 of complex from diffcycles [ [ 1, 1, 6 ], [ \
198
3, 3, 2 ] ]"
199
 Dim=2
200
 
201
 /SimplicialComplex] ]
202
gap> c3.UnknownProperty;
203
#I SCPropertyObject: unhandled property 'UnknownProperty'. Handled properties\
204
 are [ "Equivalent", "IsKStackedSphere", "IsManifold", "IsMovable", "Move", 
205
 "Moves", "RMoves", "ReduceAsSubcomplex", "Reduce", "ReduceEx", "Copy", 
206
 "Recalc", "ASDet", "AutomorphismGroup", "AutomorphismGroupInternal", 
207
 "Boundary", "ConnectedComponents", "Dim", "DualGraph", "Chi", "F", 
208
 "FaceLattice", "FaceLatticeEx", "Faces", "FacesEx", "Facets", "FacetsEx", 
209
 "FpBetti", "FundamentalGroup", "G", "Generators", "GeneratorsEx", "H", 
210
 "HasBoundary", "HasInterior", "Homology", "Incidences", "IncidencesEx", 
211
 "Interior", "IsCentrallySymmetric", "IsConnected", "IsEmpty", 
212
 "IsEulerianManifold", "IsHomologySphere", "IsInKd", "IsKNeighborly", 
213
 "IsOrientable", "IsPM", "IsPure", "IsShellable", "IsStronglyConnected", 
214
 "MinimalNonFaces", "MinimalNonFacesEx", "Name", "Neighborliness", 
215
 "Orientation", "Skel", "SkelEx", "SpanningTree", 
216
 "StronglyConnectedComponents", "Vertices", "VerticesEx", 
217
 "BoundaryOperatorMatrix", "HomologyBasis", "HomologyBasisAsSimplices", 
218
 "HomologyInternal", "CoboundaryOperatorMatrix", "Cohomology", 
219
 "CohomologyBasis", "CohomologyBasisAsSimplices", "CupProduct", 
220
 "IntersectionForm", "IntersectionFormParity", 
221
 "IntersectionFormDimensionality", "Load", "Save", "ExportPolymake", 
222
 "ExportLatexTable", "ExportJavaView", "LabelMax", "LabelMin", "Labels", 
223
 "Relabel", "RelabelStandard", "RelabelTransposition", "Rename", 
224
 "SortComplex", "UnlabelFace", "AlexanderDual", "CollapseGreedy", "Cone", 
225
 "DeletedJoin", "Difference", "HandleAddition", "Intersection", 
226
 "IsIsomorphic", "IsSubcomplex", "Isomorphism", "IsomorphismEx", "Join", 
227
 "Link", "Links", "Neighbors", "NeighborsEx", "Shelling", "ShellingExt", 
228
 "Shellings", "Span", "Star", "Stars", "Suspension", "Union", 
229
 "VertexIdentification", "Wedge", "DetermineTopologicalType", "Dim", 
230
 "Facets", "VertexLabels", "Name", "Vertices", "IsConnected", 
231
 "ConnectedComponents" ].
232

233
fail
234

235
236
237
17.4 Creating new complexes from a SCSimplicialComplex object
238
239
As already mentioned, there is the possibility to generate new objects of
240
type SCSimplicialComplex from existing ones using standard constructions.
241
The functions used in this section are described in more detail in Section
242
6.6.
243
244
 Example 
245
gap> d:=c3+c3;
246
[SimplicialComplex
247

248
 Properties known: Dim, Facets, Name, VertexLabels, Vertices.
249

250
 Name="complex from diffcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]#+-complex from dif\
251
fcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]"
252
 Dim=2
253

254
/SimplicialComplex]
255
gap> SCRename(d,"T^2#T^2");
256
true
257
gap> SCLink(d,1);
258
[SimplicialComplex
259

260
 Properties known: Dim, Facets, Name, VertexLabels.
261

262
 Name="lk(1) in T^2#T^2"
263
 Dim=1
264

265
/SimplicialComplex]
266
gap> SCStar(d,[1,2]);
267
[SimplicialComplex
268

269
 Properties known: Dim, Facets, Name, VertexLabels.
270

271
 Name="star([ 1, 2 ]) in T^2#T^2"
272
 Dim=2
273

274
/SimplicialComplex]
275
gap> SCRename(c3,"T^2");
276
true
277
gap> SCConnectedProduct(c3,4);
278
[SimplicialComplex
279

280
 Properties known: Dim, Facets, Name, VertexLabels, Vertices.
281

282
 Name="T^2#+-T^2#+-T^2#+-T^2"
283
 Dim=2
284

285
/SimplicialComplex]
286
gap> SCCartesianProduct(c4,c4);
287
[SimplicialComplex
288

289
 Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.
290

291
 Name="S^1_3xS^1_3"
292
 Dim=2
293
 TopologicalType="S^1xS^1"
294

295
/SimplicialComplex]
296
gap> SCCartesianPower(c4,3);
297
[SimplicialComplex
298

299
 Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.
300

301
 Name="(S^1_3)^3"
302
 Dim=3
303
 TopologicalType="(S^1)^3"
304

305
/SimplicialComplex]
306

307
308
309
17.5 Homology related calculations
310
311
simpcomp relies on the GAP package homology [DHSW11] for its homology
312
computations but provides further (co-)homology related functions, see
313
Chapter 8.
314
315
 Example 
316
gap> s2s2:=SCCartesianProduct(SCBdSimplex(3),SCBdSimplex(3));
317
[SimplicialComplex
318

319
 Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.
320

321
 Name="S^2_4xS^2_4"
322
 Dim=4
323
 TopologicalType="S^2xS^2"
324

325
/SimplicialComplex]
326
gap> SCHomology(s2s2);
327
[ [ 0, [ ] ], [ 0, [ ] ], [ 2, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
328
gap> SCHomologyInternal(s2s2);
329
[ [ 0, [ ] ], [ 0, [ ] ], [ 2, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
330
gap> SCHomologyBasis(s2s2,2);
331
[ [ 1, [ [ 1, 70 ], [ -1, 12 ], [ 1, 2 ], [ -1, 1 ] ] ], 
332
 [ 1, [ [ 1, 143 ], [ -1, 51 ], [ 1, 29 ], [ -1, 25 ] ] ] ]
333
gap> SCHomologyBasisAsSimplices(s2s2,2);
334
[ [ 1, 
335
 [ [ 1, [ 2, 3, 4 ] ], [ -1, [ 1, 3, 4 ] ], [ 1, [ 1, 2, 4 ] ], [ -1, [ 1
336
 , 2, 3 ] ] ] ], 
337
 [ 1, [ [ 1, [ 5, 9, 13 ] ], [ -1, [ 1, 9, 13 ] ], [ 1, [ 1, 5, 13 ] ], 
338
 [ -1, [ 1, 5, 9 ] ] ] ] ]
339
gap> SCCohomologyBasis(s2s2,2);
340
[ [ 1, 
341
 [ [ 1, 122 ], [ 1, 115 ], [ 1, 112 ], [ 1, 111 ], [ 1, 93 ], [ 1, 90 ], 
342
 [ 1, 89 ], [ 1, 84 ], [ 1, 83 ], [ 1, 82 ], [ 1, 46 ], [ 1, 43 ], 
343
 [ 1, 42 ], [ 1, 37 ], [ 1, 36 ], [ 1, 35 ], [ 1, 28 ], [ 1, 27 ], 
344
 [ 1, 26 ], [ 1, 25 ] ] ], 
345
 [ 1, [ [ 1, 213 ], [ 1, 201 ], [ 1, 192 ], [ 1, 189 ], [ 1, 159 ], 
346
 [ 1, 150 ], [ 1, 147 ], [ 1, 131 ], [ 1, 128 ], [ 1, 125 ], 
347
 [ 1, 67 ], [ 1, 58 ], [ 1, 55 ], [ 1, 39 ], [ 1, 36 ], [ 1, 33 ], 
348
 [ 1, 10 ], [ 1, 7 ], [ 1, 4 ], [ 1, 1 ] ] ] ]
349
gap> SCCohomologyBasisAsSimplices(s2s2,2);
350
[ [ 1, [ [ 1, [ 4, 8, 12 ] ], [ 1, [ 3, 8, 12 ] ], [ 1, [ 3, 7, 12 ] ], 
351
 [ 1, [ 3, 7, 11 ] ], [ 1, [ 2, 8, 12 ] ], [ 1, [ 2, 7, 12 ] ], 
352
 [ 1, [ 2, 7, 11 ] ], [ 1, [ 2, 6, 12 ] ], [ 1, [ 2, 6, 11 ] ], 
353
 [ 1, [ 2, 6, 10 ] ], [ 1, [ 1, 8, 12 ] ], [ 1, [ 1, 7, 12 ] ], 
354
 [ 1, [ 1, 7, 11 ] ], [ 1, [ 1, 6, 12 ] ], [ 1, [ 1, 6, 11 ] ], 
355
 [ 1, [ 1, 6, 10 ] ], [ 1, [ 1, 5, 12 ] ], [ 1, [ 1, 5, 11 ] ], 
356
 [ 1, [ 1, 5, 10 ] ], [ 1, [ 1, 5, 9 ] ] ] ], 
357
 [ 1, [ [ 1, [ 13, 14, 15 ] ], [ 1, [ 9, 14, 15 ] ], [ 1, [ 9, 10, 15 ] ], 
358
 [ 1, [ 9, 10, 11 ] ], [ 1, [ 5, 14, 15 ] ], [ 1, [ 5, 10, 15 ] ], 
359
 [ 1, [ 5, 10, 11 ] ], [ 1, [ 5, 6, 15 ] ], [ 1, [ 5, 6, 11 ] ], 
360
 [ 1, [ 5, 6, 7 ] ], [ 1, [ 1, 14, 15 ] ], [ 1, [ 1, 10, 15 ] ], 
361
 [ 1, [ 1, 10, 11 ] ], [ 1, [ 1, 6, 15 ] ], [ 1, [ 1, 6, 11 ] ], 
362
 [ 1, [ 1, 6, 7 ] ], [ 1, [ 1, 2, 15 ] ], [ 1, [ 1, 2, 11 ] ], 
363
 [ 1, [ 1, 2, 7 ] ], [ 1, [ 1, 2, 3 ] ] ] ] ]
364
gap> PrintArray(SCIntersectionForm(s2s2));
365
[ [ 0, 1 ],
366
 [ 1, 0 ] ]
367
gap> c:=s2s2+s2s2;
368
[SimplicialComplex
369

370
 Properties known: Dim, Facets, Name, VertexLabels, Vertices.
371

372
 Name="S^2_4xS^2_4#+-S^2_4xS^2_4"
373
 Dim=4
374

375
/SimplicialComplex]
376
gap> PrintArray(SCIntersectionForm(c));
377
[ [ 0, -1, 0, 0 ],
378
 [ -1, 0, 0, 0 ],
379
 [ 0, 0, 0, -1 ],
380
 [ 0, 0, -1, 0 ] ]
381

382
383
384
17.6 Bistellar flips
385
386
For a more detailed description of functions related to bistellar flips as
387
well as a very short introduction into the topic, see Chapter 9.
388
389
 Example 
390
gap> beta4:=SCBdCrossPolytope(4);; 
391
gap> s3:=SCBdSimplex(4);; 
392
gap> SCEquivalent(beta4,s3);
393
#I round 0, move: [ [ 2, 6, 7 ], [ 3, 4 ] ]
394
[ 8, 25, 34, 17 ]
395
#I round 1, move: [ [ 2, 7 ], [ 3, 4, 5 ] ]
396
[ 8, 24, 32, 16 ]
397
#I round 2, move: [ [ 2, 5 ], [ 3, 4, 8 ] ]
398
[ 8, 23, 30, 15 ]
399
#I round 3, move: [ [ 2 ], [ 3, 4, 6, 8 ] ]
400
[ 7, 19, 24, 12 ]
401
#I round 4, move: [ [ 6, 8 ], [ 1, 3, 4 ] ]
402
[ 7, 18, 22, 11 ]
403
#I round 5, move: [ [ 8 ], [ 1, 3, 4, 5 ] ]
404
[ 6, 14, 16, 8 ]
405
#I round 6, move: [ [ 5 ], [ 1, 3, 4, 7 ] ]
406
[ 5, 10, 10, 5 ]
407
#I SCReduceComplexEx: complexes are bistellarly equivalent.
408
true
409
gap> SCBistellarOptions.WriteLevel; 
410
0
411
gap> SCBistellarOptions.WriteLevel:=1;
412
1
413
gap> SCEquivalent(beta4,s3); 
414
#I SCLibInit: made directory "~/PATH" for user library.
415
#I SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.
416
#I SCLibUpdate: rebuilding index for ~/PATH.
417
#I SCLibUpdate: rebuilding index done.
418

419
#I round 0, move: [ [ 2, 4, 6 ], [ 7, 8 ] ]
420
[ 8, 25, 34, 17 ]
421
#I round 1, move: [ [ 2, 4 ], [ 5, 7, 8 ] ]
422
[ 8, 24, 32, 16 ]
423
#I round 2, move: [ [ 4, 5 ], [ 1, 7, 8 ] ]
424
[ 8, 23, 30, 15 ]
425
#I round 3, move: [ [ 4 ], [ 1, 6, 7, 8 ] ]
426
[ 7, 19, 24, 12 ]
427
#I SCLibAdd: saving complex to file "complex_ReducedComplex_7_vertices_3_2009\
428
-10-27_11-40-00.sc".
429
#I round 4, move: [ [ 2, 6 ], [ 3, 7, 8 ] ]
430
[ 7, 18, 22, 11 ]
431
#I round 5, move: [ [ 2 ], [ 3, 5, 7, 8 ] ]
432
[ 6, 14, 16, 8 ]
433
#I SCLibAdd: saving complex to file "complex_ReducedComplex_6_vertices_5_2009\
434
-10-27_11-40-00.sc".
435
#I round 6, move: [ [ 5 ], [ 1, 3, 7, 8 ] ]
436
[ 5, 10, 10, 5 ]
437
#I SCLibAdd: saving complex to file "complex_ReducedComplex_5_vertices_6_2009\
438
-10-27_11-40-00.sc".
439
#I SCLibAdd: saving complex to file "complex_ReducedComplex_5_vertices_7_2009\
440
-10-27_11-40-00.sc".
441
#I SCReduceComplexEx: complexes are bistellarly equivalent.
442
true
443
gap> myLib:=SCLibInit("~/PATH"); # copy path from above 
444
[Simplicial complex library. Properties:
445
CalculateIndexAttributes=true
446
Number of complexes in library=4
447
IndexAttributes=[ "Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology" ]
448
Loaded=true
449
Path="/home/spreerjn/reducedComplexes/2009-10-27_11-40-00/"
450
]
451
gap> s3:=myLib.Load(3);
452
[SimplicialComplex
453

454
 Properties known: Chi, Date, Dim, F, Faces, Facets, G, H, Homology, 
455
 IsConnected, Name, VertexLabels.
456

457
 Name="ReducedComplex_5_vertices_6"
458
 Dim=3
459
 Chi=0
460
 F=[ 5, 10, 10, 5 ]
461
 G=[ 0, 0 ]
462
 H=[ 1, 1, 1, 1 ]
463
 Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
464
 IsConnected=true
465

466
/SimplicialComplex]
467
gap> s3:=myLib.Load(2);
468
[SimplicialComplex
469

470
 Properties known: Chi, Date, Dim, F, Faces, Facets, G, H, Homology, 
471
 IsConnected, Name, VertexLabels.
472

473
 Name="ReducedComplex_6_vertices_5"
474
 Dim=3
475
 Chi=0
476
 F=[ 6, 14, 16, 8 ]
477
 G=[ 1, 0 ]
478
 H=[ 2, 2, 2, 1 ]
479
 Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
480
 IsConnected=true
481

482
/SimplicialComplex]
483
gap> t2:=SCCartesianProduct(SCBdSimplex(2),SCBdSimplex(2));;
484
gap> t2.F;
485
[ 9, 27, 18 ]
486
gap> SCBistellarOptions.WriteLevel:=0;
487
0
488
gap> SCBistellarOptions.LogLevel:=0; 
489
0
490
gap> mint2:=SCReduceComplex(t2); 
491
[ true, [SimplicialComplex
492
 
493
 Properties known: Dim, Facets, Name, VertexLabels.
494
 
495
 Name="unnamed complex 85"
496
 Dim=2
497
 
498
 /SimplicialComplex], 32 ]
499
 
500

501
502
503
17.7 Simplicial blowups
504
505
For a more detailed description of functions related to simplicial blowups
506
see Chapter 10.
507
508
 Example 
509
gap> list:=SCLib.SearchByName("Kummer");
510
[ [ 7493, "4-dimensional Kummer variety (VT)" ] ]
511
gap> c:=SCLib.Load(7493);
512
[SimplicialComplex
513

514
 Properties known: AltshulerSteinberg, AutomorphismGroup, 
515
 AutomorphismGroupSize, AutomorphismGroupStructure, 
516
 AutomorphismGroupTransitivity, 
517
 ConnectedComponents, Date, Dim, DualGraph, 
518
 EulerCharacteristic, FacetsEx, GVector, 
519
 GeneratorsEx, HVector, HasBoundary, HasInterior, 
520
 Homology, Interior, IsCentrallySymmetric, 
521
 IsConnected, IsEulerianManifold, IsManifold, 
522
 IsOrientable, IsPseudoManifold, IsPure, 
523
 IsStronglyConnected, MinimalNonFacesEx, Name, 
524
 Neighborliness, NumFaces[], Orientation, 
525
 SkelExs[], Vertices.
526

527
 Name="4-dimensional Kummer variety (VT)"
528
 Dim=4
529
 AltshulerSteinberg=45137758519296000000000000
530
 AutomorphismGroupSize=1920
531
 AutomorphismGroupStructure="((C2 x C2 x C2 x C2) : A5) : C2"
532
 AutomorphismGroupTransitivity=1
533
 EulerCharacteristic=8
534
 GVector=[ 10, 55, 60 ]
535
 HVector=[ 11, 66, 126, -19, 7 ]
536
 HasBoundary=false
537
 HasInterior=true
538
 Homology=[ [0, [ ] ], [0, [ ] ], [6, [2,2,2,2,2] ], [0, [ ] ], [1, [ ] ] ]
539
 IsCentrallySymmetric=false
540
 IsConnected=true
541
 IsEulerianManifold=true
542
 IsOrientable=true
543
 IsPseudoManifold=true
544
 IsPure=true
545
 IsStronglyConnected=true
546
 Neighborliness=2
547

548
/SimplicialComplex]
549
gap> lk:=SCLink(c,1);
550
[SimplicialComplex
551

552
 Properties known: Dim, FacetsEx, Name, Vertices.
553

554
 Name="lk([ 1 ]) in 4-dimensional Kummer variety (VT)"
555
 Dim=3
556

557
/SimplicialComplex]
558
gap> SCHomology(lk);
559
[ [ 0, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ], [ 1, [ ] ] ]
560
gap> SCLibDetermineTopologicalType(lk);
561
[ 45, 113, 2426, 2502, 7470 ]
562
gap> d:=SCLib.Load(45);;
563
gap> d.Name;
564
"RP^3"
565
gap> SCEquivalent(lk,d);
566
#I SCReduceComplexEx: complexes are bistellarly equivalent.
567
true
568
gap> e:=SCBlowup(c,1);
569
#I SCBlowup: checking if singularity is a combinatorial manifold...
570
#I SCBlowup: ...true
571
#I SCBlowup: checking type of singularity...
572
#I SCReduceComplexEx: complexes are bistellarly equivalent.
573
#I SCBlowup: ...ordinary double point (supported type).
574
#I SCBlowup: starting blowup...
575
#I SCBlowup: map boundaries...
576
#I SCBlowup: boundaries not isomorphic, initializing bistellar moves...
577
#I SCBlowup: found complex with smaller boundary: f = [ 15, 74, 118, 59 ].
578
#I SCBlowup: found complex with smaller boundary: f = [ 14, 70, 112, 56 ].
579
#I SCBlowup: found complex with smaller boundary: f = [ 14, 69, 110, 55 ].
580
#I SCBlowup: found complex with smaller boundary: f = [ 14, 68, 108, 54 ].
581
#I SCBlowup: found complex with smaller boundary: f = [ 13, 64, 102, 51 ].
582
#I SCBlowup: found complex with smaller boundary: f = [ 13, 63, 100, 50 ].
583
#I SCBlowup: found complex with smaller boundary: f = [ 13, 62, 98, 49 ].
584
#I SCBlowup: found complex with smaller boundary: f = [ 12, 58, 92, 46 ].
585
#I SCBlowup: found complex with smaller boundary: f = [ 12, 57, 90, 45 ].
586
#I SCBlowup: found complex with smaller boundary: f = [ 12, 56, 88, 44 ].
587
#I SCBlowup: found complex with smaller boundary: f = [ 11, 52, 82, 41 ].
588
#I SCBlowup: found complex with smaller boundary: f = [ 11, 51, 80, 40 ].
589
#I SCBlowup: found complex with isomorphic boundaries.
590
#I SCBlowup: ...boundaries mapped succesfully.
591
#I SCBlowup: build complex...
592
#I SCBlowup: ...done.
593
#I SCBlowup: ...blowup completed.
594
#I SCBlowup: You may now want to reduce the complex via 'SCReduceComplex'.
595
[SimplicialComplex
596

597
 Properties known: Dim, FacetsEx, Name, Vertices.
598

599
 Name="unnamed complex 6315 \ star([ 1 ]) in unnamed complex 6315 cup unnamed\
600
 complex 6319 cup unnamed complex 6317"
601
 Dim=4
602

603
/SimplicialComplex]
604
gap> SCHomology(c);
605
[ [ 0, [ ] ], [ 0, [ ] ], [ 6, [ 2, 2, 2, 2, 2 ] ], [ 0, [ ] ], [ 1, [ ] ] ]
606
gap> SCHomology(e);
607
[ [ 0, [ ] ], [ 0, [ ] ], [ 7, [ 2, 2, 2, 2 ] ], [ 0, [ ] ], [ 1, [ ] ] ]
608
 
609

610
611
612
17.8 Discrete normal surfaces and slicings
613
614
For a more detailed description of functions related to discrete normal
615
surfaces and slicings see the Sections 2.4 and 2.5.
616
617
 Example 
618
 
619
gap> # the boundary of the cyclic 4-polytope with 6 vertices 
620
gap> c:=SCBdCyclicPolytope(4,6); 
621
[SimplicialComplex
622

623
 Properties known: Dim, EulerCharacteristic, FacetsEx, HasBoundary, Homology,\
624
 IsConnected, IsStronglyConnected, Name, NumFaces[], TopologicalType, Vertices.
625

626
 Name="Bd(C_4(6))"
627
 Dim=3
628
 EulerCharacteristic=0
629
 HasBoundary=false
630
 Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
631
 IsConnected=true
632
 IsStronglyConnected=true
633
 TopologicalType="S^3"
634

635
/SimplicialComplex]
636
gap> # slicing in between the odd and the even vertex labels, a polyhedral torus
637
gap> sl:=SCSlicing(c,[[2,4,6],[1,3,5]]); 
638
[NormalSurface
639

640
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector,\
641
 FacetsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name,\
642
 TopologicalType, Vertices.
643

644
 Name="slicing [ [ 2, 4, 6 ], [ 1, 3, 5 ] ] of Bd(C_4(6))"
645
 Dim=2
646
 FVector=[ 9, 18, 0, 9 ]
647
 EulerCharacteristic=0
648
 IsOrientable=true
649
 TopologicalType="T^2"
650

651
/NormalSurface]
652
gap> sl.Homology;
653
[ [ 0, [ ] ], [ 2, [ ] ], [ 1, [ ] ] ]
654
gap> sl.Genus;
655
1
656
gap> sl.F; # the slicing constists of 9 quadrilaterals and 0 triangles
657
[ 9, 18, 0, 9 ]
658
gap> PrintArray(sl.Facets);
659
[ [ [ 2, 1 ], [ 2, 3 ], [ 4, 1 ], [ 4, 3 ] ],
660
 [ [ 2, 1 ], [ 2, 3 ], [ 6, 1 ], [ 6, 3 ] ],
661
 [ [ 2, 1 ], [ 2, 5 ], [ 4, 1 ], [ 4, 5 ] ],
662
 [ [ 2, 1 ], [ 2, 5 ], [ 6, 1 ], [ 6, 5 ] ],
663
 [ [ 2, 3 ], [ 2, 5 ], [ 4, 3 ], [ 4, 5 ] ],
664
 [ [ 2, 3 ], [ 2, 5 ], [ 6, 3 ], [ 6, 5 ] ],
665
 [ [ 4, 1 ], [ 4, 3 ], [ 6, 1 ], [ 6, 3 ] ],
666
 [ [ 4, 1 ], [ 4, 5 ], [ 6, 1 ], [ 6, 5 ] ],
667
 [ [ 4, 3 ], [ 4, 5 ], [ 6, 3 ], [ 6, 5 ] ] ]
668

669
670
Further example computations can be found in the slides of various talks
671
about simpcomp, available from the simpcomp homepage
672
(https://github.com/simpcomp-team/simpcomp), and in Appendix A of [Spr11a].
673
674
675