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

1035323 views
1
2
7 Functions and operations for SCNormalSurface
3
4
5
7.1 Creating an SCNormalSurface object
6
7
This section contains functions to construct discrete normal surfaces that
8
are slicings from a list of 2-dimensional facets (triangles and
9
quadrilaterals) or combinatorial 3-manifolds.
10
11
For a very short introduction to the theory of discrete normal surfaces and
12
slicings see Section 2.4 and Section 2.5, for an introduction to the GAP
13
object type SCNormalSurface see 5.4, for more information see the article
14
[Spr11b].
15
16
7.1-1 SCNSEmpty
17
18
SCNSEmpty( )  function
19
Returns: discrete normal surface of type SCNormalSurface upon success, fail
20
otherwise.
21
22
Generates an empty complex (of dimension -1), i. e. an object of type
23
SCNormalSurface with empty facet list.
24
25
 Example 
26
 gap> SCNSEmpty();
27
 [NormalSurface
28
 
29
 Properties known: Dim, FacetsEx, Name, Vertices.
30
 
31
 Name="empty normal surface"
32
 Dim=-1
33
 
34
 /NormalSurface]
35
 
36

37
38
7.1-2 SCNSFromFacets
39
40
SCNSFromFacets( facets )  method
41
Returns: discrete normal surface of type SCNormalSurface upon success, fail
42
otherwise.
43
44
Constructor for a discrete normal surface from a facet list, see
45
SCFromFacets (6.1-1) for details.
46
47
 Example 
48
 gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
49
 [NormalSurface
50
 
51
 Properties known: Dim, FacetsEx, Name, Vertices.
52
 
53
 Name="unnamed complex 86"
54
 Dim=2
55
 
56
 /NormalSurface]
57
 
58

59
60
7.1-3 SCNS
61
62
SCNS( facets )  method
63
Returns: discrete normal surface of type SCNormalSurface upon success, fail
64
otherwise.
65
66
Internally calls SCNSFromFacets (7.1-2).
67
68
 Example 
69
 gap> sl:=SCNS([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
70
 [NormalSurface
71
 
72
 Properties known: Dim, FacetsEx, Name, Vertices.
73
 
74
 Name="unnamed complex 87"
75
 Dim=2
76
 
77
 /NormalSurface]
78
 
79

80
81
7.1-4 SCNSSlicing
82
83
SCNSSlicing( complex, slicing )  function
84
Returns: discrete normal surface of type SCNormalSurface upon success, fail
85
otherwise.
86
87
Computes a slicing defined by a partition slicing of the set of vertices of
88
the 3-dimensional combinatorial pseudomanifold complex. In particular,
89
slicing has to be a pair of lists of vertex labels and has to contain all
90
vertex labels of complex.
91
92
 Example 
93
 gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
94
 [ [ 19, "S^3 (VT)" ] ]
95
 gap> c:=SCLib.Load(last[1][1]);; 
96
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]); 
97
 [NormalSurface
98
 
99
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
100
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
101
 e, Vertices.
102
 
103
 Name="slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT)"
104
 Dim=2
105
 FVector=[ 17, 36, 12, 9 ]
106
 EulerCharacteristic=2
107
 IsOrientable=true
108
 TopologicalType="S^2"
109
 
110
 /NormalSurface]
111
 gap> sl.Facets;
112
 [ [ [ 1, 6 ], [ 1, 8 ], [ 1, 9 ] ], [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ]
113
 , [ [ 1, 6 ], [ 1, 9 ], [ 4, 6 ], [ 4, 9 ] ], 
114
 [ [ 1, 6 ], [ 3, 6 ], [ 4, 6 ] ], [ [ 1, 8 ], [ 1, 9 ], [ 1, 10 ] ], 
115
 [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], 
116
 [ [ 1, 9 ], [ 1, 10 ], [ 2, 9 ], [ 2, 10 ] ], 
117
 [ [ 1, 9 ], [ 2, 9 ], [ 4, 9 ] ], [ [ 1, 10 ], [ 2, 10 ], [ 3, 10 ] ], 
118
 [ [ 2, 7 ], [ 2, 9 ], [ 2, 10 ] ], 
119
 [ [ 2, 7 ], [ 2, 9 ], [ 4, 7 ], [ 4, 9 ] ], 
120
 [ [ 2, 7 ], [ 2, 10 ], [ 5, 7 ], [ 5, 10 ] ], 
121
 [ [ 2, 7 ], [ 4, 7 ], [ 5, 7 ] ], [ [ 2, 10 ], [ 3, 10 ], [ 5, 10 ] ], 
122
 [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], [ [ 3, 6 ], [ 4, 6 ], [ 5, 6 ] ]
123
 , [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], 
124
 [ [ 4, 6 ], [ 4, 7 ], [ 4, 9 ] ], [ [ 4, 6 ], [ 4, 7 ], [ 5, 6 ], [ 5, 7 ] ]
125
 , [ [ 5, 6 ], [ 5, 7 ], [ 5, 8 ] ], [ [ 5, 7 ], [ 5, 8 ], [ 5, 10 ] ] ]
126
 gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]); 
127
 [NormalSurface
128
 
129
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
130
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
131
 e, Vertices.
132
 
133
 Name="slicing [ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ] of S^3 (VT)"
134
 Dim=2
135
 FVector=[ 25, 50, 0, 25 ]
136
 EulerCharacteristic=0
137
 IsOrientable=true
138
 TopologicalType="T^2"
139
 
140
 /NormalSurface]
141
 gap> sl.Facets; 
142
 [ [ [ 1, 2 ], [ 1, 4 ], [ 3, 2 ], [ 3, 4 ] ], 
143
 [ [ 1, 2 ], [ 1, 4 ], [ 9, 2 ], [ 9, 4 ] ], 
144
 [ [ 1, 2 ], [ 1, 10 ], [ 3, 2 ], [ 3, 10 ] ], 
145
 [ [ 1, 2 ], [ 1, 10 ], [ 9, 2 ], [ 9, 10 ] ], 
146
 [ [ 1, 4 ], [ 1, 6 ], [ 3, 4 ], [ 3, 6 ] ], 
147
 [ [ 1, 4 ], [ 1, 6 ], [ 9, 4 ], [ 9, 6 ] ], 
148
 [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ], 
149
 [ [ 1, 6 ], [ 1, 8 ], [ 9, 6 ], [ 9, 8 ] ], 
150
 [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], 
151
 [ [ 1, 8 ], [ 1, 10 ], [ 9, 8 ], [ 9, 10 ] ], 
152
 [ [ 3, 2 ], [ 3, 4 ], [ 5, 2 ], [ 5, 4 ] ], 
153
 [ [ 3, 2 ], [ 3, 10 ], [ 5, 2 ], [ 5, 10 ] ], 
154
 [ [ 3, 4 ], [ 3, 6 ], [ 5, 4 ], [ 5, 6 ] ], 
155
 [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], 
156
 [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], 
157
 [ [ 5, 2 ], [ 5, 4 ], [ 7, 2 ], [ 7, 4 ] ], 
158
 [ [ 5, 2 ], [ 5, 10 ], [ 7, 2 ], [ 7, 10 ] ], 
159
 [ [ 5, 4 ], [ 5, 6 ], [ 7, 4 ], [ 7, 6 ] ], 
160
 [ [ 5, 6 ], [ 5, 8 ], [ 7, 6 ], [ 7, 8 ] ], 
161
 [ [ 5, 8 ], [ 5, 10 ], [ 7, 8 ], [ 7, 10 ] ], 
162
 [ [ 7, 2 ], [ 7, 4 ], [ 9, 2 ], [ 9, 4 ] ], 
163
 [ [ 7, 2 ], [ 7, 10 ], [ 9, 2 ], [ 9, 10 ] ], 
164
 [ [ 7, 4 ], [ 7, 6 ], [ 9, 4 ], [ 9, 6 ] ], 
165
 [ [ 7, 6 ], [ 7, 8 ], [ 9, 6 ], [ 9, 8 ] ], 
166
 [ [ 7, 8 ], [ 7, 10 ], [ 9, 8 ], [ 9, 10 ] ] ]
167
 
168

169
170
171
7.2 Generating new objects from discrete normal surfaces
172
173
simpcomp provides the possibility to copy and / or triangulate normal
174
surfaces. Note that other constructions like the connected sum or the
175
cartesian product do not make sense for (embedded) normal surfaces in
176
general.
177
178
7.2-1 SCCopy
179
180
SCCopy( complex )  method
181
Returns: discrete normal surface of type SCNormalSurface upon success, fail
182
otherwise.
183
184
Copies a GAP object of type SCNormalSurface (cf. SCCopy).
185
186
 Example 
187
 gap> sl:=SCNSSlicing(SCBdSimplex(4),[[1],[2..5]]);
188
 [NormalSurface
189
 
190
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
191
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
192
 e, Vertices.
193
 
194
 Name="slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5"
195
 Dim=2
196
 FVector=[ 4, 6, 4 ]
197
 EulerCharacteristic=2
198
 IsOrientable=true
199
 TopologicalType="S^2"
200
 
201
 /NormalSurface]
202
 gap> sl_2:=SCCopy(sl); 
203
 [NormalSurface
204
 
205
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
206
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
207
 e, Vertices.
208
 
209
 Name="slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5"
210
 Dim=2
211
 FVector=[ 4, 6, 4 ]
212
 EulerCharacteristic=2
213
 IsOrientable=true
214
 TopologicalType="S^2"
215
 
216
 /NormalSurface]
217
 gap> IsIdenticalObj(sl,sl_2); 
218
 false
219
 
220

221
222
7.2-2 SCNSTriangulation
223
224
SCNSTriangulation( sl )  method
225
Returns: simplicial complex of type SCSimplicialComplex upon success, fail
226
otherwise.
227
228
Computes a simplicial subdivision of a slicing sl without introducing new
229
vertices. The subdivision is stored as a property of sl and thus is returned
230
as an immutable object. Note that symmetry may be lost during the
231
computation.
232
233
 Example 
234
 gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
235
 [ [ 19, "S^3 (VT)" ] ]
236
 gap> c:=SCLib.Load(last[1][1]);;
237
 gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]);;
238
 gap> sl.F; 
239
 [ 25, 50, 0, 25 ]
240
 gap> sc:=SCNSTriangulation(sl);;
241
 gap> sc.F;
242
 [ 25, 75, 50 ]
243
 
244

245
246
247
7.3 Properties of SCNormalSurface objects
248
249
Although some properties of a discrete normal surface can be computed by
250
using the functions for simplicial complexes, there is a variety of
251
properties needing specially designed functions. See below for a list.
252
253
7.3-1 SCConnectedComponents
254
255
SCConnectedComponents( complex )  method
256
Returns: a list of simplicial complexes of type SCNormalSurface upon
257
success, fail otherwise.
258
259
Computes all connected components of an arbitrary normal surface.
260
261
 Example 
262
 gap> sl:=SCNSSlicing(SCBdCrossPolytope(4),[[1,2],[3..8]]);
263
 [NormalSurface
264
 
265
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
266
 etsEx, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vert\
267
 ices.
268
 
269
 Name="slicing [ [ 1, 2 ], [ 3, 4, 5, 6, 7, 8 ] ] of Bd(\beta^4)"
270
 Dim=2
271
 FVector=[ 12, 24, 16 ]
272
 EulerCharacteristic=4
273
 IsOrientable=true
274
 TopologicalType="S^2 U S^2"
275
 
276
 /NormalSurface]
277
 gap> cc:=SCConnectedComponents(sl);
278
 [ [NormalSurface
279
 
280
 Properties known: Dim, EulerCharacteristic, FVector, FacetsEx, Genus, IsC\
281
 onnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vertices.
282
 
283
 Name="unnamed complex 302_cc_#1"
284
 Dim=2
285
 FVector=[ 6, 12, 8 ]
286
 EulerCharacteristic=2
287
 IsOrientable=true
288
 TopologicalType="S^2"
289
 
290
 /NormalSurface], [NormalSurface
291
 
292
 Properties known: Dim, EulerCharacteristic, FVector, FacetsEx, Genus, IsC\
293
 onnected, IsOrientable, NSTriangulation, Name, TopologicalType, Vertices.
294
 
295
 Name="unnamed complex 302_cc_#2"
296
 Dim=2
297
 FVector=[ 6, 12, 8 ]
298
 EulerCharacteristic=2
299
 IsOrientable=true
300
 TopologicalType="S^2"
301
 
302
 /NormalSurface] ]
303
 
304

305
306
7.3-2 SCDim
307
308
SCDim( sl )  method
309
Returns: an integer upon success, fail otherwise.
310
311
Computes the dimension of a discrete normal surface (which is always 2 if
312
the slicing sl is not empty).
313
314
 Example 
315
 gap> sl:=SCNSEmpty();; 
316
 gap> SCDim(sl); 
317
 -1
318
 gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);;
319
 gap> SCDim(sl); 
320
 2
321
 
322

323
324
7.3-3 SCEulerCharacteristic
325
326
SCEulerCharacteristic( sl )  method
327
Returns: an integer upon success, fail otherwise.
328
329
Computes the Euler characteristic of a discrete normal surface sl, cf.
330
SCEulerCharacteristic.
331
332
 Example 
333
 gap> list:=SCLib.SearchByName("S^2xS^1");; 
334
 gap> c:=SCLib.Load(list[1][1]);; 
335
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
336
 gap> SCEulerCharacteristic(sl); 
337
 4
338
 
339

340
341
7.3-4 SCFVector
342
343
SCFVector( sl )  method
344
Returns: a 1, 3 or 4 tuple of (non-negative) integer values upon success,
345
fail otherwise.
346
347
Computes the f-vector of a discrete normal surface, i. e. the number of
348
vertices, edges, triangles and quadrilaterals of sl, cf. SCFVector.
349
350
 Example 
351
 gap> list:=SCLib.SearchByName("S^2xS^1");;
352
 gap> c:=SCLib.Load(list[1][1]);; 
353
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
354
 gap> SCFVector(sl); 
355
 [ 20, 40, 16, 8 ]
356
 
357

358
359
7.3-5 SCFaceLattice
360
361
SCFaceLattice( complex )  method
362
Returns: a list of facet lists upon success, fail otherwise.
363
364
Computes the face lattice of a discrete normal surface sl in the original
365
labeling. Triangles and quadrilaterals are stored separately (cf. SCSkel
366
(6.9-54)).
367
368
 Example 
369
 gap> c:=SCBdSimplex(4);; 
370
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
371
 gap> SCFaceLattice(sl); 
372
 [ [ [ [ 1, 3 ] ], [ [ 1, 4 ] ], [ [ 1, 5 ] ], [ [ 2, 3 ] ], [ [ 2, 4 ] ], 
373
 [ [ 2, 5 ] ] ], 
374
 [ [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 3 ], [ 2, 3 ] ], 
375
 [ [ 1, 4 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 2, 4 ] ], [ [ 1, 5 ], [ 2, 5 ] ], 
376
 [ [ 2, 3 ], [ 2, 4 ] ], [ [ 2, 3 ], [ 2, 5 ] ], [ [ 2, 4 ], [ 2, 5 ] ] ]
377
 , [ [ [ 1, 3 ], [ 1, 4 ], [ 1, 5 ] ], [ [ 2, 3 ], [ 2, 4 ], [ 2, 5 ] ] ], 
378
 [ [ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ] ], 
379
 [ [ 1, 3 ], [ 1, 5 ], [ 2, 3 ], [ 2, 5 ] ], 
380
 [ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ] ] ] ]
381
 gap> sl.F;
382
 [ 6, 9, 2, 3 ]
383
 
384

385
386
7.3-6 SCFaceLatticeEx
387
388
SCFaceLatticeEx( complex )  method
389
Returns: a list of face lists upon success, fail otherwise.
390
391
Computes the face lattice of a discrete normal surface sl in the standard
392
labeling. Triangles and quadrilaterals are stored separately (cf. SCSkelEx
393
(6.9-55)).
394
395
 Example 
396
 gap> c:=SCBdSimplex(4);; 
397
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
398
 gap> SCFaceLatticeEx(sl); 
399
 [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ] ], 
400
 [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 5 ], [ 3, 6 ], [ 4, 5 ], 
401
 [ 4, 6 ], [ 5, 6 ] ], [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], 
402
 [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ] ]
403
 gap> sl.F;
404
 [ 6, 9, 2, 3 ]
405
 
406

407
408
7.3-7 SCFpBettiNumbers
409
410
SCFpBettiNumbers( sl, p )  method
411
Returns: a list of non-negative integers upon success, fail otherwise.
412
413
Computes the Betti numbers modulo p of a slicing sl. Internally, sl is
414
triangulated (using SCNSTriangulation (7.2-2)) and the Betti numbers are
415
computed via SCFpBettiNumbers using the triangulation.
416
417
 Example 
418
 gap> SCLib.SearchByName("(S^2xS^1)#20"); 
419
 [ [ 7617, "(S^2xS^1)#20" ] ]
420
 gap> c:=SCLib.Load(last[1][1]);;
421
 gap> c.F;
422
 [ 27, 298, 542, 271 ]
423
 gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
424
 gap> SCFpBettiNumbers(sl,2);
425
 [ 2, 14, 2 ]
426
 
427

428
429
7.3-8 SCGenus
430
431
SCGenus( sl )  method
432
Returns: a non-negative integer upon success, fail otherwise.
433
434
Computes the genus of a discrete normal surface sl.
435
436
 Example 
437
 gap> SCLib.SearchByName("(S^2xS^1)#20");
438
 [ [ 7617, "(S^2xS^1)#20" ] ]
439
 gap> c:=SCLib.Load(last[1][1]);; 
440
 gap> c.F; 
441
 [ 27, 298, 542, 271 ]
442
 gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);;
443
 gap> SCIsConnected(sl);
444
 true
445
 gap> SCGenus(sl); 
446
 7
447
 
448

449
450
7.3-9 SCHomology
451
452
SCHomology( sl )  method
453
Returns: a list of homology groups upon success, fail otherwise.
454
455
Computes the homology of a slicing sl. Internally, sl is triangulated (cf.
456
SCNSTriangulation (7.2-2)) and simplicial homology is computed via
457
SCHomology using the triangulation.
458
459
 Example 
460
 gap> SCLib.SearchByName("(S^2xS^1)#20"); 
461
 [ [ 7617, "(S^2xS^1)#20" ] ]
462
 gap> c:=SCLib.Load(last[1][1]);;
463
 gap> c.F;
464
 [ 27, 298, 542, 271 ]
465
 gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);; 
466
 gap> sl.Homology;
467
 [ [ 0, [ ] ], [ 14, [ ] ], [ 1, [ ] ] ]
468
 gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
469
 gap> sl.Homology; 
470
 [ [ 1, [ ] ], [ 14, [ ] ], [ 2, [ ] ] ]
471
 
472

473
474
7.3-10 SCIsConnected
475
476
SCIsConnected( complex )  method
477
Returns: true or false upon success, fail otherwise.
478
479
Checks if a normal surface complex is connected.
480
481
 Example 
482
 gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
483
 gap> c:=SCLib.Load(list[1][1]);
484
 [SimplicialComplex
485
 
486
 Properties known: AltshulerSteinberg, AutomorphismGroup, 
487
 AutomorphismGroupSize, AutomorphismGroupStructure, 
488
 AutomorphismGroupTransitivity, ConnectedComponents, 
489
 Dim, DualGraph, EulerCharacteristic, FVector, 
490
 FacetsEx, GVector, GeneratorsEx, HVector, 
491
 HasBoundary, HasInterior, Homology, Interior, 
492
 IsCentrallySymmetric, IsConnected, 
493
 IsEulerianManifold, IsManifold, IsOrientable, 
494
 IsPseudoManifold, IsPure, IsStronglyConnected, 
495
 MinimalNonFacesEx, Name, Neighborliness, 
496
 NumFaces[], Orientation, Reference, SkelExs[], 
497
 Vertices.
498
 
499
 Name="S^3 (VT)"
500
 Dim=3
501
 AltshulerSteinberg=0
502
 AutomorphismGroupSize=200
503
 AutomorphismGroupStructure="(D10 x D10) : C2"
504
 AutomorphismGroupTransitivity=1
505
 EulerCharacteristic=0
506
 FVector=[ 10, 35, 50, 25 ]
507
 GVector=[ 5, 5 ]
508
 HVector=[ 6, 11, 6, 1 ]
509
 HasBoundary=false
510
 HasInterior=true
511
 Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
512
 IsCentrallySymmetric=false
513
 IsConnected=true
514
 IsEulerianManifold=true
515
 IsOrientable=true
516
 IsPseudoManifold=true
517
 IsPure=true
518
 IsStronglyConnected=true
519
 Neighborliness=1
520
 
521
 /SimplicialComplex]
522
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);
523
 [NormalSurface
524
 
525
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
526
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
527
 e, Vertices.
528
 
529
 Name="slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT)"
530
 Dim=2
531
 FVector=[ 17, 36, 12, 9 ]
532
 EulerCharacteristic=2
533
 IsOrientable=true
534
 TopologicalType="S^2"
535
 
536
 /NormalSurface]
537
 gap> SCIsConnected(sl);
538
 true
539
 
540

541
542
7.3-11 SCIsEmpty
543
544
SCIsEmpty( complex )  method
545
Returns: true or false upon success, fail otherwise.
546
547
Checks if a normal surface complex is the empty complex, i. e. a
548
SCNormalSurface object with empty facet list.
549
550
 Example 
551
 gap> sl:=SCNS([]);;
552
 gap> SCIsEmpty(sl);
553
 true
554
 
555

556
557
7.3-12 SCIsOrientable
558
559
SCIsOrientable( sl )  method
560
Returns: true or false upon success, fail otherwise.
561
562
Checks if a discrete normal surface sl is orientable.
563
564
 Example 
565
 gap> c:=SCBdSimplex(4);;
566
 gap> sl:=SCNSSlicing(c,[[1,2],[3,4,5]]);
567
 [NormalSurface
568
 
569
 Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\
570
 etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\
571
 e, Vertices.
572
 
573
 Name="slicing [ [ 1, 2 ], [ 3, 4, 5 ] ] of S^3_5"
574
 Dim=2
575
 FVector=[ 6, 9, 2, 3 ]
576
 EulerCharacteristic=2
577
 IsOrientable=true
578
 TopologicalType="S^2"
579
 
580
 /NormalSurface]
581
 gap> SCIsOrientable(sl);
582
 true
583
 
584

585
586
7.3-13 SCSkel
587
588
SCSkel( sl, k )  method
589
Returns: a face list (of k+1tuples) or a list of face lists upon success,
590
fail otherwise.
591
592
Computes all faces of cardinality k+1 in the original labeling: k = 0
593
computes the vertices, k = 1 computes the edges, k = 2 computes the
594
triangles, k = 3 computes the quadrilaterals.
595
596
If k is a list (necessarily a sublist of [ 0,1,2,3 ]) all faces of all
597
cardinalities contained in k are computed.
598
599
 Example 
600
 gap> c:=SCBdSimplex(4);; 
601
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
602
 gap> SCSkel(sl,1); 
603
 [ [ [ 1, 2 ], [ 1, 3 ] ], [ [ 1, 2 ], [ 1, 4 ] ], [ [ 1, 2 ], [ 1, 5 ] ], 
604
 [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 1, 5 ] ] ]
605
 
606

607
608
 Example 
609
 gap> c:=SCBdSimplex(4);; 
610
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
611
 gap> SCSkel(sl,3); 
612
 [ ]
613
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
614
 gap> SCSkelEx(sl,3); 
615
 [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ]
616
 
617

618
619
7.3-14 SCSkelEx
620
621
SCSkelEx( sl, k )  method
622
Returns: a face list (of k+1tuples) or a list of face lists upon success,
623
fail otherwise.
624
625
Computes all faces of cardinality k+1 in the standard labeling: k = 0
626
computes the vertices, k = 1 computes the edges, k = 2 computes the
627
triangles, k = 3 computes the quadrilaterals.
628
629
If k is a list (necessarily a sublist of [ 0,1,2,3 ]) all faces of all
630
cardinalities contained in k are computed.
631
632
 Example 
633
 gap> c:=SCBdSimplex(4);; 
634
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
635
 gap> SCSkelEx(sl,1); 
636
 [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ]
637
 
638

639
640
 Example 
641
 gap> c:=SCBdSimplex(4);; 
642
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
643
 gap> SCSkelEx(sl,3); 
644
 [ ]
645
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
646
 gap> SCSkelEx(sl,3); 
647
 [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ]
648
 
649

650
651
7.3-15 SCTopologicalType
652
653
SCTopologicalType( sl )  method
654
Returns: a string upon success, fail otherwise.
655
656
Determines the topological type of sl via the classification theorem for
657
closed compact surfaces. If sl is not connected, the topological type of
658
each connected component is computed.
659
660
 Example 
661
 gap> SCLib.SearchByName("(S^2xS^1)#20"); 
662
 [ [ 7617, "(S^2xS^1)#20" ] ]
663
 gap> c:=SCLib.Load(last[1][1]);;
664
 gap> c.F;
665
 [ 27, 298, 542, 271 ]
666
 gap> for i in [1..26] do sl:=SCNSSlicing(c,[[1..i],[i+1..27]]); Print(sl.TopologicalType,"\n"); od; 
667
 S^2
668
 S^2
669
 S^2
670
 S^2
671
 S^2 U S^2
672
 S^2 U S^2
673
 S^2
674
 (T^2)#3
675
 (T^2)#5
676
 (T^2)#4
677
 (T^2)#3
678
 (T^2)#7
679
 (T^2)#7 U S^2
680
 (T^2)#7 U S^2
681
 (T^2)#7 U S^2
682
 (T^2)#8 U S^2
683
 (T^2)#7 U S^2
684
 (T^2)#8
685
 (T^2)#6
686
 (T^2)#6
687
 (T^2)#5
688
 (T^2)#3
689
 (T^2)#2
690
 T^2
691
 S^2
692
 S^2
693
 
694

695
696
7.3-16 SCUnion
697
698
SCUnion( complex1, complex2 )  method
699
Returns: normal surface of type SCNormalSurface upon success, fail
700
otherwise.
701
702
Forms the union of two normal surfaces complex1 and complex2 as the normal
703
surface formed by the union of their facet sets. The two arguments are not
704
altered. Note: for the union process the vertex labelings of the complexes
705
are taken into account, see also Operation Union (SCNormalSurface,
706
SCNormalSurface) (5.6-1). Facets occurring in both arguments are treated as
707
one facet in the new complex.
708
709
 Example 
710
 gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
711
 gap> c:=SCLib.Load(list[1][1]);
712
 [SimplicialComplex
713
 
714
 Properties known: AltshulerSteinberg, AutomorphismGroup, 
715
 AutomorphismGroupSize, AutomorphismGroupStructure, 
716
 AutomorphismGroupTransitivity, ConnectedComponents, 
717
 Dim, DualGraph, EulerCharacteristic, FVector, 
718
 FacetsEx, GVector, GeneratorsEx, HVector, 
719
 HasBoundary, HasInterior, Homology, Interior, 
720
 IsCentrallySymmetric, IsConnected, 
721
 IsEulerianManifold, IsManifold, IsOrientable, 
722
 IsPseudoManifold, IsPure, IsStronglyConnected, 
723
 MinimalNonFacesEx, Name, Neighborliness, 
724
 NumFaces[], Orientation, Reference, SkelExs[], 
725
 Vertices.
726
 
727
 Name="S^3 (VT)"
728
 Dim=3
729
 AltshulerSteinberg=0
730
 AutomorphismGroupSize=200
731
 AutomorphismGroupStructure="(D10 x D10) : C2"
732
 AutomorphismGroupTransitivity=1
733
 EulerCharacteristic=0
734
 FVector=[ 10, 35, 50, 25 ]
735
 GVector=[ 5, 5 ]
736
 HVector=[ 6, 11, 6, 1 ]
737
 HasBoundary=false
738
 HasInterior=true
739
 Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
740
 IsCentrallySymmetric=false
741
 IsConnected=true
742
 IsEulerianManifold=true
743
 IsOrientable=true
744
 IsPseudoManifold=true
745
 IsPure=true
746
 IsStronglyConnected=true
747
 Neighborliness=1
748
 
749
 /SimplicialComplex]
750
 gap> sl1:=SCNSSlicing(c,[[1..5],[6..10]]);;
751
 gap> sl2:=sl1+10;;
752
 gap> sl3:=SCUnion(sl1,sl2);;
753
 gap> SCTopologicalType(sl3);
754
 "S^2 U S^2"
755
 
756

757
758
759