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

1034943 views
1
2
1 Introduction
3
4
simpcomp is a GAP package that provides the user with functions to do
5
calculations and constructions with simplicial complexes in the context of
6
combinatorial topology (see abstract). If possible, it makes use of the GAP
7
packages homology [DHSW11] by J.-G. Dumas et al. and GRAPE [Soi12] by L.
8
Soicher.
9
10
Most parts of this manual can be accessed directly from within GAP using its
11
internal help system.
12
13
14
1.1 What is new
15
16
simpcomp is a package for working with simplicial complexes. It claims to
17
provide the user with a broad spectrum of functionality regarding simplicial
18
constructions.
19
20
simpcomp allows the user to interactively construct complexes and to compute
21
their properties in the GAP shell. Furthermore, it makes use of GAP's
22
expertise in groups and group operations. For example, automorphism groups
23
and fundamental groups of complexes can be computed and examined further
24
within the GAP system. Apart from supplying a facet list, the user can as
25
well construct simplicial complexes from a set of generators and a
26
prescribed automorphism group -- the latter form being the common in which a
27
complex is presented in a publication. This feature is to our knowledge
28
unique to simpcomp. Furthermore, simpcomp as of Version 1.3.0 supports the
29
construction of simplicial complexes of prescribed dimension, vertex number
30
and transitive automorphism group as described in [Lut03], [CK01] and a
31
number of functions (function prefix SCSeries...) provide infinite series of
32
combinatorial manifolds with transitive automorphism group.
33
34
As of Version 1.4.0, simpcomp provides the possibility to perform a
35
combinatorial version of algebraic blowups, so-called simplicial blowups,
36
for combinatorial 4-manfolds as described in [SK11] and [Spr11a]. The
37
implementation can be used as well to resolve isolated singularities of
38
combinatorial 4-pseudomanifolds. It seems that this feature, too, is unique
39
to simpcomp.
40
41
Starting from Version 1.5.4, simpcomp comes with more efficient code to
42
perform bistellar moves implemented in C (see function SCReduceComplexFast
43
(9.2-15)). However, this feature is completely optional.
44
45
46
1.2 simpcomp benefits
47
48
The origin of simpcomp is a collection of scripts of the two authors
49
[Eff11a], [Spr11a] that provide basic and often-needed functions and
50
operations for working with simplicial complexes. Apart from some optional
51
code dealing with bistellar moves (see Section 9 and in particular
52
SCReduceComplexFast (9.2-15)), it is written entirely in the GAP scripting
53
language, thus giving the user the possibility to see behind the scenes and
54
to customize or alter simpcomp functions if needed.
55
56
The main benefit when working with simpcomp over implementing the needed
57
functions from scratch is that simpcomp encapsulates all methods and
58
properties of a simplicial complex in a new GAP object type (as an abstract
59
data type). This way, among other things, simpcomp can transparently cache
60
properties already calculated, thus preventing unnecessary double
61
calculations. It also takes care of the error-prone vertex labeling of a
62
complex. As of Version 1.5, simpcomp makes use of GAP's caching mechanism
63
(as described in [BL98]) to cache all known properties of a simplicial
64
complex. In addition, a customized data structure is provided to organize
65
the complex library and to cache temporary information about a complex.
66
67
simpcomp provides the user with functions to save and load the simplicial
68
complexes to and from files and to import and export a complex in various
69
formats (e.g. from and to polymake/TOPAZ [GJ00], SnapPea [Wee99] and Regina
70
[BBPo14] (via the SnapPea file format), Macaulay2 [GS], LaTeX, etc.).
71
72
In contrast to the software package polymake [GJ00] providing the most
73
efficient algorithms for each task in form of a heterogeneous package (where
74
algorithms are implemented in various languages), the primary goal when
75
developing simpcomp was not efficiency (this is already limited by the GAP
76
scripting language), but rather ease of use and ease of extensibility by the
77
user in the GAP language with all its mathematical and algebraic
78
capabilities. Extending simpcomp is possible directly from within GAP,
79
without having to compile anything, see Chapter 18.
80
81
82
1.3 How to save time reading this document
83
84
The core component in simpcomp is the newly defined object types
85
SCPropertyObject and its derived subtype SCSimplicialComplex. When working
86
with this package it is important to understand how objects of these types
87
can be created, accessed and modified. The reader is therefore advised to
88
first skim over the Chapters 3 and 5.
89
90
The impatient reader may then directly skip to Chapter 17 to see simpcomp in
91
action.
92
93
The next advised step is to have a look at the functions for creating
94
objects of type SCSimplicialComplex, see the first section of Chapter 6.
95
96
The rest of Chapter 6 contains most of the functions that simpcomp provides,
97
except for the functions related to (co-)homology, bistellar flips,
98
simplicial blowups, polyhedral Morse theory, slicings (discrete normal
99
surfaces) and the simplicial complex library that are described in the
100
Chapters 8 to 13. Functions for the more general GAP object type
101
SCPolyhedralComplex are described in Chapter 4 .
102
103
104
1.4 Organization of this document
105
106
This manual accompanying simpcomp is organized as follows.
107
108
 Chapter 2 provides a short introduction into the theory of simplicial
109
complexes and PL-topology.
110
111
 Chapter 3 gives a short overview about the newly defined GAP object
112
types simpcomp is working with.
113
114
 Chapter 4 is devoted to the description of the GAP object type
115
SCPolyhedralComplex that is defined by simpcomp.
116
117
 Chapter 5 introduce the GAP object types SCSimplicialComplex and
118
SCNormalSurface which are both derived from SCPolyhedralComplex.
119
120
 In Chapter 6 functions for working with simplicial complexes are
121
described.
122
123
 Chapter 7 gives an overview over functions related to slicings /
124
discrete normal surfaces.
125
126
 Chapter 8 describes the homology- and cohomology-related functions of
127
simpcomp.
128
129
 Chapter 9 contains a description of the functions related to bistellar
130
flips provided by simpcomp.
131
132
 In Chapter 10 simplicial blowups and resolutions of singularities of
133
combinatorial 4-pseudomanifolds are explained.
134
135
 In Chapter 11 polyhedral Morse theory is discussed.
136
137
 In Chapter 13 the simplicial complex library and the input output
138
functionality that simpcomp provides is described in detail.
139
140
 Chapter 15 contains descriptions of functions not fitting in the other
141
chapters, such as the error handling and the email notification system
142
of simpcomp.
143
144
 Chapter 16 contains a list of all property handlers allowing to access
145
properties of a SCSimplicialComplex object, a SCNormalSurface object
146
or a SCLibRepository object via the dot operator (pseudo object
147
orientation).
148
149
 Chapter 17 contains the transcript of a demo session with simpcomp
150
showing some of the constructions and calculations with simplicial
151
complexes that can also be used as a first overview of things possible
152
with this package.
153
154
 Finally, Chapter 18 focuses on the description of the internal
155
structure of simpcomp and deals with aspects of extending the
156
functionality of the package.
157
158
159
1.5 How to assure simpcomp works correctly
160
161
As with all software, it is important to test whether simpcomp functions
162
correctly on your system after installing it. GAP has an internal testing
163
mechanism and simpcomp ships with a short testing file that does some sample
164
computations and verifies that the results are correct.
165
166
To test the functionality of simpcomp you can run the function SCRunTest
167
(15.3-1) from the GAP console:
168
169
 Example 
170
gap> SCRunTest();
171
+ test simpcomp package, Version 2.1.7
172
+ GAP4stones: 69988
173
true
174
gap> 
175

176
177
SCRunTest (15.3-1) should return true, otherwise the correct functionality
178
of simpcomp cannot be guaranteed.
179
180
181
1.6 Controlling simpcomp log messages
182
183
Note that the verbosity of the output of information to the screen during
184
calls to functions of the package simpcomp can be controlled by setting the
185
info level parameter via the function SCInfoLevel (15.1-1).
186
187
188
1.7 How to cite simpcomp
189
190
If you would like to cite simpcomp using BibTeX, you can use the following
191
BibTeX entry for the current simpcomp version (remember to include the url
192
package in your LaTeX document):
193
194
@manual{simpcomp,
195
author = "Felix Effenberger and Jonathan Spreer",
196
title = "{\tt simpcomp} - a {\tt GAP} toolkit for simplicial complexes,
197
{V}ersion 2.1.7",
198
year = "2017",
199
url = "\url{https://github.com/simpcomp-team/simpcomp}",
200
}
201
202
If you are not using BibTeX, you can use the following entry inside the
203
bibliography environment of LaTeX.
204
205
\bibitem{simpcomp}
206
F.~Effenberger and J.~Spreer,
207
\emph{{\tt simpcomp} -- a {\tt GAP} toolkit for simplicial complexes},
208
Version 2.1.7,
209
2017,
210
\url{https://github.com/simpcomp-team/simpcomp}.
211
212
213