simplex |
Prev | Current Data File Format | Next |
Name
simplex — A single top-dimensional simplex in a
dim
-dimensional triangulation
Synopsis
Content Model | |
simplex ::= (#PCDATA) | |
Attributes | |
Name | Type |
desc | CDATA |
Description
A simplex
element stores a single top-dimensional simplex in a
dim
-dimensional triangulation, along with its
associated facet gluings.
Since Regina 7.0, this element is now used by all of the
dimensions that Regina supports
(2 ≤ dim
≤ 15).
The character data of this XML element should be a
whitespace-separated list of dim
+ 1
integer pairs, representing the gluings of facets
0, 1, …, dim
of this simplex. Note that
facet i
is always opposite
vertex i
in a top-dimensional simplex.
For each pair, the first integer represents the other top-dimensional
simplex to which the facet is glued (recall that simplices in a triangulation
are numbered 0, 1, 2, etc.). The second integer represents the
permutation of vertices from this simplex to the other simplex
describing precisely how this gluing takes place. This permutation
will take the current facet number of this simplex to the corresponding
facet number of the adjacent simplex, and the other
dim
vertex numbers of this simplex
to the corresponding dim
vertex numbers on
the adjacent simplex to which they are identified by this gluing.
There are two ways in which Regina can encode permutations as integers:
indices into the symmetric group
Sdim
+1, and
image packs. Which of these methods is used
is specified by the perm
attribute of the
enclosing tri
element. If no method is specified (e.g., if
this is an older second-generation data file), then Regina will
assume indices for dimension 2, and image packs for
dimensions dim
≥ 3
(following the behaviour of the second-generation file format).
An index encodes a permutation as an integer
i
in the range 0 ≤i
< (dim
+1)!. This integer is the index of the permutation into the symmetric group Sdim
+1. These indices list the permutations in “almost lexicographical” order; the exception is that some pairs (2i
, 2i
+1) are swapped to ensure that even indices correspond to even permutations.You can access these indices from within Regina using the functions
Perm<dim+1>::SnIndex()
andPerm<dim+1>::Sn[...]
.An image pack encodes a permutation as follows. If the permutation maps 0, 1, …,
dim
toa0
,a1
, …,aDim
respectively (wherea0
,a1
, …,aDim
are 0, 1, …,dim
in some order), then the corresponding integer is (a0
+B
a1
+B
2a2
+ … +B
dim
aDim
). Here the “base”B
isB
= 4 for dimensiondim
= 3,B
= 8 for dimensions 4 ≤dim
≤ 7, andB
= 16 for dimensions 8 ≤dim
≤ 15. As an example, the identity permutation for dimensiondim
= 8 which maps (0,1,…,8) to (0,1,…,8) is represented by the integer (0 + 1×16 + 2×256 + … + 8×4294967296), which is 36344967696.You can access these indices from within Regina using the functions
Perm<dim+1>::imagePack()
andPerm<dim+1>::fromImagePack(...)
.
If a facet is a boundary facet (i.e., it is not glued to anything), the two corresponding integers stored in the XML character data should be -1 and -1.
Warning
For dimensions dim
= 2..7,
permutations are represented by 32-bit integers.
In contrast, for dimensions
dim
= 8..15,
permutations are represented by 64-bit integers.
If you are writing code that reads Regina data files, you may need
to use a large integer type
(such as long long
in C++) accordingly.
Attributes
desc
A human-readable description of the role that this top-dimensional simplex plays in the overall triangulation.
Example
The following XML snippet represents simplex number 0 in a 6-dimensional triangulation, using image packs to represent permutations. Facet 0 of this simplex is glued to facet 6 of simplex number 1, with a gluing permutation that maps (0,1,2,3,4,5,6) to (6,0,1,2,3,4,5). Facet 6 of this simplex is glued to facet 0 of simplex number 1, with a gluing permutation that maps (0,1,2,3,4,5,6) to (1,2,3,4,5,6,0). The remaining facets 1,…,5 of this simplex are all boundary facets.
<simplex> 1 14038087 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 2054353 </simplex>
Prev | Contents | Next |
script | Up | snappeadata |