~ubuntu-branches/ubuntu/vivid/regina-normal/vivid-proposed

« back to all changes in this revision

Viewing changes to kdeui/doc/en/surfaces.docbook

  • Committer: Package Import Robot
  • Author(s): Ben Burton
  • Date: 2011-09-10 07:17:25 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: package-import@ubuntu.com-20110910071725-97n90tywdq60w2cr
Tags: 4.90-1
* New upstream release!
* The user interface has been ported from KDE3 to KDE4 (closes: #556318).
  Re-enabled the GUI as a result.
* The build system has been ported from autotools to cmake.
* The new upstream release builds fine on amd64 (closes: #624882).
* Moved the users' handbook into regina-normal-doc.
* Upgraded several suggests/recommends.  Upgraded regina-normal-mpi to
  depend on mpi-default-bin, and regina-normal to depend on both graphviz
  and regina-normal-doc (which the GUI expends to be present).  Upgraded
  regina-normal to recommend gap.
* Bumped standards-version to 3.9.2.0 (no changes required).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<chapter id="surfaces">
2
 
 <title>Normal Surfaces</title>
3
 
 
4
 
 <para>
5
 
  <inlinemediaobject>
6
 
   <imageobject>
7
 
    <imagedata fileref="reginawhite.png" align="right"/>
8
 
   </imageobject>
9
 
  </inlinemediaobject>
10
 
  The primary motivation for originally writing &regina; was to create a
11
 
  tool for calculating vertex normal surfaces within a triangulation.
12
 
 </para>
13
 
 <para>
14
 
  A <firstterm>normal surface</firstterm> inside a 3-manifold
15
 
  triangulation is a surface composed entirely of normal discs.  A
16
 
  <firstterm>normal disc</firstterm> is a properly embedded disc within
17
 
  a single tetrahedron, and must be either a
18
 
  triangle (whose boundary runs across three of the four tetrahedron faces)
19
 
  or a quadrilateral (whose boundary runs across all four of the tetrahedron
20
 
  faces).
21
 
 </para>
22
 
 <para>
23
 
  The &regina; logo shown on this page illustrates all four possible
24
 
  triangle types and one of the three possible
25
 
  quadrilateral types within a tetrahedron.
26
 
 </para>
27
 
 <para>
28
 
  &regina; will also calculate <firstterm>almost normal
29
 
  surfaces</firstterm>, which have the same restrictions as normal
30
 
  surfaces except that they must contain precisely one additional
31
 
  octagonal disc.
32
 
  The boundary of an octagonal disc runs across each tetrahedron face twice,
33
 
  and there are three possible types of octagonal disc.
34
 
 </para>
35
 
 <note><para>
36
 
  More general definitions of almost normal surfaces allow for an annular
37
 
  piece instead of an octagonal disc.  &regina; works with the more
38
 
  restrictive octagon-only definition as described by Thompson
39
 
  <xref linkend="bib-thinposition"/> (which is much simpler
40
 
  to deal with computationally).
41
 
 </para></note>
42
 
 <para>
43
 
  Normal surfaces are represented as integer vectors indicating how many
44
 
  discs of each type in each tetrahedron are used to make up the surface.
45
 
 </para>
46
 
 <para>
47
 
  For a summary of enough normal surface theory to use this
48
 
  program, see a reference such as
49
 
  <xref linkend="bib-burton-convert"/> or <xref linkend="bib-hass-knotnp"/>.
50
 
 </para>
51
 
 
52
 
 <note>
53
 
  <para>
54
 
   A normal surface list in the packet tree must be a
55
 
   child packet of the triangulation in which the surfaces are contained.
56
 
  </para>
57
 
  <para>
58
 
   Furthermore, since each normal surface is stored as a vector relative
59
 
   to the triangulation's tetrahedra, a triangulation cannot be modified
60
 
   once it has a normal surface list as a child.  If you wish to edit
61
 
   such a triangulation, try cloning the packet (excluding descendants so
62
 
   the normal surfaces are not cloned as well) and edit the clone instead.
63
 
  </para>
64
 
  <para>
65
 
   Triangulations containing normal surface lists are marked with a small
66
 
   padlock in the packet tree to remind you that they cannot be edited.
67
 
  </para>
68
 
 </note>
69
 
 
70
 
 <sect1 id="surfaces-creation">
71
 
  <title>Creation</title>
72
 
 
73
 
  <para>
74
 
   A new list of normal surfaces can be created through the
75
 
   <menuchoice>
76
 
    <guimenu>Packet Tree</guimenu>
77
 
    <guimenuitem>New Normal Surface List</guimenuitem>
78
 
   </menuchoice>
79
 
   menu item (or the corresponding toolbar button).
80
 
  </para>
81
 
  <para>
82
 
   Only <firstterm>vertex normal surfaces</firstterm> will be placed in
83
 
   the new list; all other normal surfaces can be formed as convex
84
 
   combinations of these vertex surfaces.
85
 
  </para>
86
 
  <warning>
87
 
   <para>
88
 
    For <emphasis>almost</emphasis> normal surfaces, older versions of
89
 
    &regina; used to ignore any vertex surfaces with
90
 
    more than one octagonal disc.
91
 
    As of &regina;&nbsp;4.6, this behaviour has changed &mdash; now
92
 
    &regina; will keep surfaces with more than one octagon, though it
93
 
    still insists on at most one octagon <emphasis>type</emphasis>.
94
 
    This is important if you wish to use vertex almost normal
95
 
    surfaces as a basis for generating <emphasis>all</emphasis>
96
 
    almost normal surfaces, as suggested above.
97
 
   </para>
98
 
   <para>
99
 
    If you have a data file from &regina;&nbsp;4.5.1 or earlier,
100
 
    then any vertex surfaces with more than one octagon will have already been
101
 
    removed.  The only way to get them back is to re-run the almost normal
102
 
    surface enumeration using &regina;&nbsp;4.6 or later.
103
 
   </para>
104
 
  </warning>
105
 
  <para>
106
 
   Before the normal surface list is created, you will be asked for some
107
 
   additional details as follows.
108
 
   <glosslist>
109
 
    <glossentry>
110
 
     <glossterm>Create beneath</glossterm>
111
 
     <glossdef>
112
 
      <para>
113
 
       Here you must select the triangulation that will contain the new
114
 
       normal surfaces (this must be a triangulation already in
115
 
       the packet tree).
116
 
      </para>
117
 
     </glossdef>
118
 
    </glossentry>
119
 
    <glossentry id="surfaces-selectcoords">
120
 
     <glossterm>Coordinate system</glossterm>
121
 
     <glossdef>
122
 
      <para>
123
 
       Here you must select the coordinate system in which the vertex
124
 
       normal surfaces will be enumerated.
125
 
      </para>
126
 
      <para>
127
 
       Whether or not <emphasis>almost</emphasis>
128
 
       normal surfaces are enumerated (in addition to
129
 
       just normal surfaces) will depend upon this choice of coordinate system.
130
 
       Currently almost normal surfaces are only enumerated when using
131
 
       standard almost normal coordinates or quadrilateral-octagon coordinates.
132
 
      </para>
133
 
      <para>
134
 
       Note that this coordinate system refers only to the initial
135
 
       enumeration; you will
136
 
       be able to view these normal surfaces in a variety of different
137
 
       coordinate systems later on.
138
 
      </para>
139
 
      <para>
140
 
       Note also that this choice of coordinate system will affect which
141
 
       surfaces are produced.  For instance, quad normal
142
 
       coordinates produce spun normal surfaces which standard normal
143
 
       coordinates do not, and standard normal coordinates produce vertex
144
 
       links which quad normal coordinates do not.
145
 
      </para>
146
 
      <para>
147
 
       The available coordinate systems are described in detail
148
 
       in the documentation for the
149
 
       <link linkend="surfaces-defstandard">coordinates tab</link>.
150
 
       If there is a particular coordinate system that you regularly
151
 
       use, the default offering can be changed in the
152
 
       <link linkend="options-surfaces">normal surface preferences</link>.
153
 
      </para>
154
 
     </glossdef>
155
 
    </glossentry>
156
 
    <glossentry id="surfaces-embeddedonly">
157
 
     <glossterm>Embedded surfaces only</glossterm>
158
 
     <glossdef>
159
 
      <para>
160
 
       Here you must specify whether the search should be restricted to
161
 
       embedded surfaces only (this is the default and is all that is
162
 
       considered in most of the published theory).
163
 
      </para>
164
 
      <para>
165
 
       Be aware that a search that is broadened to <emphasis>all</emphasis>
166
 
       surfaces (embedded, immersed and singular) could well take much
167
 
       longer to run than the corresponding embedded-only
168
 
       search.  Enumeration of immersed and singular surfaces is only
169
 
       supported for normal surfaces, not almost normal surfaces.
170
 
      </para>
171
 
     </glossdef>
172
 
    </glossentry>
173
 
   </glosslist>
174
 
  </para>
175
 
 </sect1>
176
 
 
177
 
 <sect1 id="surfaces-analysis">
178
 
  <title>Analysis</title>
179
 
 
180
 
  <para>
181
 
   Several properties of a normal surface list and its individual surfaces
182
 
   are available; most of these properties can be viewed by clicking on the
183
 
   different tabs in the normal surface list viewer.
184
 
  </para>
185
 
 
186
 
  <sect2 id="surfaces-viewlistprops">
187
 
   <title>Properties of the List</title>
188
 
 
189
 
   <para>
190
 
    Above all of the tabs in the surface list viewer, a header is displayed
191
 
    with some basic properties of the normal surface list.  These include:
192
 
    <itemizedlist>
193
 
     <listitem><para>
194
 
      a count of the total number of vertex normal surfaces contained in
195
 
      the list;
196
 
     </para></listitem>
197
 
     <listitem><para>
198
 
      a reminder of how the surface list was
199
 
      originally created, including the coordinate system used and
200
 
      whether or not the search was restricted
201
 
      to embedded surfaces only.  Note that this does
202
 
      not actually look at the surfaces in the list
203
 
      &ndash; an unrestricted search might have only produced embedded
204
 
      surfaces, but this reminder will still say
205
 
      <literal>embedded/immersed/singular</literal>.
206
 
     </para></listitem>
207
 
    </itemizedlist>
208
 
   </para>
209
 
   <tip><para>
210
 
    If the header says that the list was created using
211
 
    <emphasis>legacy</emphasis> almost normal coordinates, this means
212
 
    the list was created using &regina;&nbsp;4.5.1 or earlier, and that
213
 
    all surfaces with more than one octagon were deleted.
214
 
    See the notes below on
215
 
    <link linkend="surfaces-deflegacyan">coordinates systems</link>
216
 
    for details.
217
 
   </para></tip>
218
 
  </sect2>
219
 
 
220
 
  <sect2 id="surfaces-summary">
221
 
   <title>Summary</title>
222
 
 
223
 
   <para>
224
 
    The first tab contains a summary of what kinds of surfaces were found.
225
 
    This summary breaks the total count down into several
226
 
    sub-counts, as illustrated in the screenshot below.
227
 
    These counts are first organised by boundary, where we distinguish
228
 
    between closed surfaces, bounded surfaces (which have real boundary)
229
 
    and non-compact surfaces (which have infinitely many normal or
230
 
    almost normal discs).  Within each section, the counts are then
231
 
    broken down further by Euler characteristic, orientability,
232
 
    and one-or-two-sidedness.
233
 
    For further information on these properties, see the documentation on
234
 
    <link linkend="surfaces-viewsurfaceprops">individual
235
 
    surface properties</link>.
236
 
   </para>
237
 
   <para>
238
 
    <screenshot>
239
 
     <screeninfo>The summary tab for a normal surface list</screeninfo>
240
 
     <mediaobject>
241
 
      <imageobject>
242
 
       <imagedata fileref="surfaces-summary.png"/>
243
 
      </imageobject>
244
 
      <textobject>
245
 
       <phrase>The summary tab for a normal surface list</phrase>
246
 
      </textobject>
247
 
      <caption><para>The summary tab for a normal surface list</para></caption>
248
 
     </mediaobject>
249
 
    </screenshot>
250
 
   </para>
251
 
  </sect2>
252
 
 
253
 
  <sect2 id="surfaces-viewsurfacecoords">
254
 
   <title>Individual Surface Coordinates</title>
255
 
 
256
 
   <para>
257
 
    The <guilabel>Surface Coordinates</guilabel> tab in the surface list
258
 
    viewer contains a table of all the vertex surfaces that form
259
 
    this list.  Each surface is presented as a vector in some underlying
260
 
    coordinate system (this coordinate system is displayed immediately
261
 
    above the table).
262
 
   </para>
263
 
   <para>
264
 
    Each row of this table represents a single normal surface.
265
 
    The left few columns of the table contain various surface
266
 
    properties (see the <link
267
 
    linkend="surfaces-viewsurfaceprops">individual surface properties</link>
268
 
    section below).  The remaining columns contain the actual surface
269
 
    coordinates.  This is illustrated in the screenshot below.
270
 
   </para>
271
 
   <para>
272
 
    <screenshot>
273
 
     <screeninfo>The coordinates tab for a normal surface list</screeninfo>
274
 
     <mediaobject>
275
 
      <imageobject>
276
 
       <imagedata fileref="surfaces-coords.png"/>
277
 
      </imageobject>
278
 
      <textobject>
279
 
       <phrase>The coordinates tab for a normal surface list</phrase>
280
 
      </textobject>
281
 
      <caption><para>The coordinates tab for a normal surface
282
 
       list</para></caption>
283
 
     </mediaobject>
284
 
    </screenshot>
285
 
   </para>
286
 
   <para>
287
 
    To change the coordinate system in which you are viewing the
288
 
    surfaces, simply select a new coordinate system from the drop-down
289
 
    box above the table.  Note that this will <emphasis>not</emphasis>
290
 
    regenerate the vertex normal surfaces in the new coordinate system;
291
 
    it will simply redisplay the surfaces that you already have in the new
292
 
    system.  So, for instance, if a spun surface is created during a quad
293
 
    space search and the surfaces are viewed in standard (tri-quad)
294
 
    coordinates, this spun surface will be redisplayed in the table with
295
 
    triangular coordinates of infinity.  Furthermore, vertex links (which
296
 
    are not found during a quad space search) will not suddenly
297
 
    appear in the list.
298
 
   </para>
299
 
   <para>
300
 
    The meanings of the individual coordinate columns in the table
301
 
    depend upon the underlying coordinate system as follows.
302
 
    <glosslist>
303
 
     <glossentry id="surfaces-defstandard">
304
 
      <glossterm>Standard normal (tri-quad) coordinates</glossterm>
305
 
      <glossdef>
306
 
       <para>
307
 
        Standard normal coordinates simply count the number of triangular
308
 
        and quadrilateral discs of each type in each tetrahedron.
309
 
       </para>
310
 
       <para>
311
 
        Triangular coordinates are labelled
312
 
        <literal>0:0</literal>, <literal>0:1</literal>,
313
 
        <literal>0:2</literal>, <literal>0:3</literal>,
314
 
        <literal>1:0</literal>, <literal>1:1</literal>,
315
 
        <literal>1:2</literal>, <literal>1:3</literal>,
316
 
        <literal>2:0</literal>, etc.  Coordinate
317
 
        <literal><replaceable>t</replaceable>:<replaceable>v</replaceable></literal>
318
 
        represents the number of triangular discs in tetrahedron
319
 
        <replaceable>t</replaceable> that separate vertex
320
 
        <replaceable>v</replaceable> of that tetrahedron from the other
321
 
        three tetrahedron vertices
322
 
        (<replaceable>v</replaceable> will always be 0, 1, 2 or 3).
323
 
       </para>
324
 
       <para>
325
 
        Quadrilateral coordinates are labelled
326
 
        <literal>0:01/23</literal>, <literal>0:02/13</literal>,
327
 
        <literal>0:03/12</literal>, <literal>1:01/23</literal>,
328
 
        <literal>1:02/13</literal>, <literal>1:03/12</literal>,
329
 
        <literal>2:01/23</literal>, etc.  Coordinate
330
 
        <literal><replaceable>t</replaceable>:<replaceable>ab</replaceable>/<replaceable>cd</replaceable></literal>
331
 
        represents the number of quadrilateral discs in tetrahedron
332
 
        <replaceable>t</replaceable> that separate vertices
333
 
        <replaceable>a</replaceable> and <replaceable>b</replaceable>
334
 
        of that tetrahedron from vertices
335
 
        <replaceable>c</replaceable> and <replaceable>d</replaceable>
336
 
        of that tetrahedron
337
 
        (<replaceable>a</replaceable>, <replaceable>b</replaceable>,
338
 
        <replaceable>c</replaceable> and <replaceable>d</replaceable>
339
 
        will always be 0, 1, 2 and 3 in some order).
340
 
       </para>
341
 
      </glossdef>
342
 
     </glossentry>
343
 
     <glossentry id="surfaces-defquad">
344
 
      <glossterm>Quad normal coordinates</glossterm>
345
 
      <glossdef>
346
 
       <para>
347
 
        Quad normal coordinates are identical to standard normal
348
 
        (tri-quad) coordinates except that only quadrilateral discs are
349
 
        considered.
350
 
        See Tollefson <xref linkend="bib-quadspace"/> for details.
351
 
       </para>
352
 
      </glossdef>
353
 
     </glossentry>
354
 
     <glossentry id="surfaces-defstandardan">
355
 
      <glossterm>Standard almost normal (tri-quad-oct) coordinates</glossterm>
356
 
      <glossdef>
357
 
       <para>
358
 
        Standard almost normal coordinates are identical to standard
359
 
        normal coordinates except that octagonal discs are also
360
 
        considered.
361
 
       </para>
362
 
       <para>
363
 
        Octagonal discs are labelled similarly to quadrilateral discs
364
 
        (each octagonal disc also separates some two vertices of the
365
 
        corresponding tetrahedron from the other two).  To make it clear
366
 
        which coordinates are which, each triangle label begins with a
367
 
        <literal>T</literal>, each quadrilateral label begins with
368
 
        a <literal>Q</literal> and each octagon label begins
369
 
        with a <literal>K</literal>.
370
 
       </para>
371
 
       <para>
372
 
        Although an almost normal surface is defined to have precisely
373
 
        one octagonal disc, surfaces here in standard almost normal coordinates
374
 
        are allowed to have no octagons at all, or several octagons
375
 
        (though at most one octagon <emphasis>type</emphasis> can be used).
376
 
        This becomes important if you wish to use vertex almost normal
377
 
        surfaces as a basis for generating <emphasis>all</emphasis>
378
 
        almost normal surfaces.
379
 
       </para>
380
 
       <para>
381
 
        In contrast, see <link linkend="surfaces-deflegacyan">legacy
382
 
        almost normal coordinates</link> below, where surfaces with more
383
 
        than one octagon are explicitly removed.
384
 
       </para>
385
 
      </glossdef>
386
 
     </glossentry>
387
 
     <glossentry id="surfaces-defquadoct">
388
 
      <glossterm>Quad-oct almost normal coordinates</glossterm>
389
 
      <glossdef>
390
 
       <para>
391
 
        Quad-oct almost normal coordinates are identical to standard
392
 
        almost normal (tri-quad-oct) coordinates, except that only
393
 
        quadrilateral and octagonal discs are considered.
394
 
        See <xref linkend="bib-burton-quadoct"/> for details.
395
 
       </para>
396
 
       <para>
397
 
        Like standard almost normal coordinates, surfaces with no
398
 
        octagons or many octagons (but all of the same type) are allowed.
399
 
       </para>
400
 
      </glossdef>
401
 
     </glossentry>
402
 
     <glossentry id="surfaces-deflegacyan">
403
 
      <glossterm>Legacy almost normal (pruned tri-quad-oct)
404
 
       coordinates</glossterm>
405
 
      <glossdef>
406
 
       <para>
407
 
        These are identical to standard almost normal (tri-quad-oct)
408
 
        coordinates, except that surfaces with more than one octagon
409
 
        are removed entirely from the list.
410
 
       </para>
411
 
       <para>
412
 
        This was in fact the behaviour in &regina; versions 4.5.1 and
413
 
        earlier.  This behaviour was changed in &regina;&nbsp;4.6 because
414
 
        it is important to keep surfaces with multiple octagons if you wish
415
 
        to generate new surfaces as convex combinations of old surfaces.
416
 
       </para>
417
 
       <para>
418
 
        Unfortunately, if a surface list was created in &regina;&nbsp;4.5.1
419
 
        or earlier then such surfaces will already have been removed, and
420
 
        there is no way to get them back (except to run a new enumeration of
421
 
        almost normal surfaces).  Such lists will always be displayed
422
 
        with the label <emphasis>legacy almost normal coordinates</emphasis>
423
 
        so it is clear what has happened.
424
 
       </para>
425
 
       <para>
426
 
        You cannot create a <emphasis>new</emphasis> normal
427
 
        surface list in legacy coordinates.
428
 
       </para>
429
 
      </glossdef>
430
 
     </glossentry>
431
 
     <glossentry id="surfaces-defedgewt">
432
 
      <glossterm>Edge weight coordinates</glossterm>
433
 
      <glossdef>
434
 
       <para>
435
 
        The coordinates are labelled <literal>0</literal>,
436
 
        <literal>1</literal>, <literal>2</literal>, etc.  Coordinate
437
 
        <replaceable>e</replaceable> represents the number of times the
438
 
        surface crosses edge <replaceable>e</replaceable> of the
439
 
        triangulation.
440
 
       </para>
441
 
       <para>
442
 
        Edge numbers and the tetrahedron edges/vertices to which they
443
 
        correspond can be seen in the skeleton section of the
444
 
        <link linkend="tri-vertexedgeface">triangulation viewer</link>.
445
 
       </para>
446
 
       <para>
447
 
        Edge weight coordinates are simply offered as a different way of
448
 
        viewing an existing list of normal surfaces.  You cannot
449
 
        <emphasis>enumerate</emphasis> a new list of surfaces
450
 
        in edge weight coordinates.
451
 
       </para>
452
 
      </glossdef>
453
 
     </glossentry>
454
 
     <glossentry id="surfaces-deffacearc">
455
 
      <glossterm>Face arc coordinates</glossterm>
456
 
      <glossdef>
457
 
       <para>
458
 
        The coordinates are labelled
459
 
        <literal>0:0</literal>, <literal>0:1</literal>, <literal>0:2</literal>,
460
 
        <literal>1:0</literal>, <literal>1:1</literal>, <literal>1:2</literal>,
461
 
        <literal>2:0</literal>, etc.  Coordinate
462
 
        <literal><replaceable>f</replaceable>:<replaceable>v</replaceable></literal>
463
 
        represents the number of times the surface slices through face
464
 
        <replaceable>f</replaceable> of the triangulation in an arc
465
 
        that truncates vertex <replaceable>v</replaceable> of that face
466
 
        (<replaceable>v</replaceable> will always be 0, 1 or 2).
467
 
       </para>
468
 
       <para>
469
 
        Face numbers and the tetrahedron faces/vertices to which they
470
 
        correspond can be seen in the skeleton section of the
471
 
        <link linkend="tri-vertexedgeface">triangulation viewer</link>.
472
 
       </para>
473
 
       <para>
474
 
        Like edge weight coordinates, face arc coordinates are offered as a
475
 
        different way of viewing an existing normal surface list.  You cannot
476
 
        <emphasis>enumerate</emphasis> a new list of surfaces
477
 
        in face arc coordinates.
478
 
       </para>
479
 
      </glossdef>
480
 
     </glossentry>
481
 
    </glosslist>
482
 
   </para>
483
 
  </sect2>
484
 
 
485
 
  <sect2 id="surfaces-viewsurfaceprops">
486
 
   <title>Individual Surface Properties</title>
487
 
 
488
 
   <para>
489
 
    As described in the
490
 
    <link linkend="surfaces-viewsurfacecoords">surface coordinates</link>
491
 
    section above, the <guilabel>Surface Coordinates</guilabel> tab
492
 
    presents a table of all of the normal surfaces in the list.
493
 
   </para>
494
 
   <para>
495
 
    In the very leftmost column of this table, the individual surfaces
496
 
    are numbered from 0 to <replaceable>S</replaceable>-1, where
497
 
    <replaceable>S</replaceable> is the total number of surfaces in the list.
498
 
   </para>
499
 
   <para>
500
 
    The next few columns describe several different properties of the
501
 
    surfaces, as described below.  Note that not all of these properties
502
 
    appear in all situations (for instance, &regina; does not yet calculate
503
 
    Euler characteristic for non-compact surfaces, and the orientability
504
 
    column will not be shown for lists that might include
505
 
    immersed or singular surfaces).
506
 
   </para>
507
 
   <para>
508
 
    <glosslist>
509
 
     <glossentry id="surfaces-propname">
510
 
      <glossterm>Name</glossterm>
511
 
      <glossdef>
512
 
       <para>
513
 
        Individual surfaces can be optionally named by the user
514
 
        to help keep track of which surface is which.
515
 
        Surface names are not used by &regina;, and do not need to be unique.
516
 
       </para>
517
 
       <para>
518
 
        To rename a surface, just click on the corresponding table cell
519
 
        and type the new name directly into that table cell.
520
 
       </para>
521
 
      </glossdef>
522
 
     </glossentry>
523
 
     <glossentry id="surfaces-propeuler">
524
 
      <glossterm>Euler</glossterm>
525
 
      <glossdef><para>
526
 
       This column shows the Euler characteristic of each surface.
527
 
      </para></glossdef>
528
 
     </glossentry>
529
 
     <glossentry id="surfaces-proporient">
530
 
      <glossterm>Orient</glossterm>
531
 
      <glossdef><para>
532
 
       This column shows whether or not each surface is orientable.
533
 
      </para></glossdef>
534
 
     </glossentry>
535
 
     <glossentry id="surfaces-propsides">
536
 
      <glossterm>Sides</glossterm>
537
 
      <glossdef><para>
538
 
       This column shows whether each surface is one-sided or two-sided.
539
 
      </para></glossdef>
540
 
     </glossentry>
541
 
     <glossentry id="surfaces-boundary">
542
 
      <glossterm>Bdry</glossterm>
543
 
      <glossdef><para>
544
 
       This column describes whether each surface is bounded.
545
 
       It will take one of the following values:
546
 
       <glosslist>
547
 
        <glossentry>
548
 
         <glossterm>Closed</glossterm>
549
 
         <glossdef><para>
550
 
          Indicates that the surface is compact (contains finitely many discs)
551
 
          and closed (does not have any boundary).
552
 
         </para></glossdef>
553
 
        </glossentry>
554
 
        <glossentry>
555
 
         <glossterm>Real Bdry</glossterm>
556
 
         <glossdef><para>
557
 
          Indicates that the surface is compact (contains finitely many discs)
558
 
          and bounded (meets the boundary of the enclosing triangulation).
559
 
         </para></glossdef>
560
 
        </glossentry>
561
 
        <glossentry>
562
 
         <glossterm>Infinite</glossterm>
563
 
         <glossdef><para>
564
 
          Indicates that the surface is non-compact, i.e., contains infinitely
565
 
          many normal or almost normal discs.  Examples of such surfaces are
566
 
          <firstterm>spun normal surfaces</firstterm>
567
 
          <xref linkend="bib-tillus-spun"/>,
568
 
          which can be found in quad space for some ideal triangulations.
569
 
         </para></glossdef>
570
 
        </glossentry>
571
 
       </glosslist>
572
 
      </para></glossdef>
573
 
     </glossentry>
574
 
     <glossentry id="surfaces-proplink">
575
 
      <glossterm>Link</glossterm>
576
 
      <glossdef><para>
577
 
       If a normal surface or a rational multiple of that surface
578
 
       is recognised as being a link of any interesting subcomplexes
579
 
       within the triangulation, these subcomplexes will be listed here.
580
 
       The following links are currently recognised:
581
 
       <glosslist>
582
 
        <glossentry>
583
 
         <glossterm>Vertex</glossterm>
584
 
         <glossdef><para>
585
 
          Indicates that the surface is a vertex link.
586
 
          The corresponding vertex number in the triangulation will be
587
 
          listed.
588
 
         </para>
589
 
         <para>
590
 
          Vertex numbers and the tetrahedron vertices to which they
591
 
          correspond can be seen in the skeleton section of the
592
 
          <link linkend="tri-vertexedgeface">triangulation viewer</link>.
593
 
         </para></glossdef>
594
 
        </glossentry>
595
 
        <glossentry>
596
 
         <glossterm>Thin Edge</glossterm>
597
 
         <glossdef><para>
598
 
          Indicates that the surface is a thin edge link.
599
 
          The corresponding edge number(s) in the triangulation will be
600
 
          listed.  Note that a surface might be both the link of one thin
601
 
          edge and also (independently) the link of another thin edge.
602
 
         </para>
603
 
         <para>
604
 
          Edge numbers and the tetrahedron edges/vertices to which they
605
 
          correspond can be seen in the skeleton section of the
606
 
          <link linkend="tri-vertexedgeface">triangulation viewer</link>.
607
 
         </para></glossdef>
608
 
        </glossentry>
609
 
       </glosslist>
610
 
      </para></glossdef>
611
 
     </glossentry>
612
 
     <glossentry>
613
 
      <glossterm>Type</glossterm>
614
 
      <glossdef><para>
615
 
       If a normal surface is recognised as playing a particular role
616
 
       within the triangulation, that role will be listed in this column.
617
 
       At most one such role will be displayed for any particular surface.
618
 
       The following roles are currently recognised:
619
 
       <glosslist>
620
 
        <glossentry id="surfaces-propsplitting">
621
 
         <glossterm>Splitting</glossterm>
622
 
         <glossdef><para>
623
 
          Indicates that the surface is a splitting surface (contains
624
 
          precisely one quadrilateral per tetrahedron and no other normal
625
 
          or almost normal discs).
626
 
         </para></glossdef>
627
 
        </glossentry>
628
 
        <glossentry id="surfaces-propcentral">
629
 
         <glossterm>Central</glossterm>
630
 
         <glossdef><para>
631
 
          Indicates that although it is not a splitting surface,
632
 
          the surface is still a central surface (contains at most one
633
 
          normal or almost normal disc per tetrahedron).  A number will
634
 
          be displayed indicating the number of tetrahedra
635
 
          that this surface meets (i.e., the number of normal or almost
636
 
          normal discs in the surface).
637
 
         </para></glossdef>
638
 
        </glossentry>
639
 
       </glosslist>
640
 
      </para></glossdef>
641
 
     </glossentry>
642
 
     <glossentry id="surfaces-propoctagon">
643
 
      <glossterm>Octagon</glossterm>
644
 
      <glossdef>
645
 
       <para>
646
 
        This column only appears when dealing with almost normal surfaces.
647
 
        Its purpose is to indicate how many octagonal discs each surface
648
 
        contains, and where they are.
649
 
       </para>
650
 
       <para>
651
 
        For a given surface, if the cell in this column is empty then
652
 
        the surface does not contain any octagonal discs at all (i.e., it is a
653
 
        regular <emphasis>normal</emphasis> surface).
654
 
        Otherwise, it will contain a single coordinate label
655
 
        and the corresponding number of octagons,
656
 
        such as <literal>K2:&nbsp;03/12 (3&nbsp;octs)</literal>.
657
 
       </para>
658
 
       <para>
659
 
        Note that there can only ever be one coordinate
660
 
        <emphasis>position</emphasis> in any given surface
661
 
        containing octagonal discs (this is a constraint forced upon the
662
 
        enumeration procedure).  However, as of &regina;&nbsp;4.6,
663
 
        this coordinate position may contain more than one octagon.
664
 
        See the discussion on <link linkend="surfaces-deflegacyan">legacy
665
 
        almost normal coordinates</link> for further details.
666
 
       </para>
667
 
      </glossdef>
668
 
     </glossentry>
669
 
    </glosslist>
670
 
   </para>
671
 
  </sect2>
672
 
 
673
 
  <sect2 id="surfaces-viewmatching">
674
 
   <title>Original Matching Equations</title>
675
 
 
676
 
   <para>
677
 
    The <guilabel>Matching Equations</guilabel> tab in the surface list
678
 
    viewer contains a table of the individual matching equations that
679
 
    were used to form this list.
680
 
   </para>
681
 
   <para>
682
 
    The matching equations are presented in the coordinate system that
683
 
    was used to originally create this surface list (see the
684
 
    <link linkend="surfaces-creation">surface list creation reference</link>).
685
 
    This coordinate system is displayed above all of the tabs in the
686
 
    surface list viewer.
687
 
   </para>
688
 
   <para>
689
 
    Each row of this table represents an individual matching equation.
690
 
    A matching equation involves setting a linear combination of surface
691
 
    coordinates to zero; the coefficients of this linear combination are
692
 
    shown in the individual table cells.  A description of what the individual
693
 
    surface coordinates mean can be found in the
694
 
    <link linkend="surfaces-viewsurfacecoords">individual surface
695
 
    coordinates</link> section above.
696
 
   </para>
697
 
  </sect2>
698
 
 
699
 
  <sect2 id="surfaces-compat">
700
 
   <title>Compatibility</title>
701
 
 
702
 
   <para>
703
 
    The <guilabel>Compatibility</guilabel> tab in the surface list
704
 
    viewer shows which pairs of surfaces are compatible with each other,
705
 
    both locally and globally.  These concepts are defined as follows:
706
 
   </para>
707
 
   <para>
708
 
    <glosslist>
709
 
     <glossentry id="surfaces-localcompat">
710
 
      <glossterm>Locally compatible</glossterm>
711
 
      <glossdef>
712
 
       <para>
713
 
        Two surfaces are <emphasis>locally compatible</emphasis> if
714
 
        they are able to avoid intersection in any given tetrahedron of
715
 
        the triangulation (though not necessarily in all tetrahedra
716
 
        simultaneously).
717
 
       </para>
718
 
       <para>
719
 
        In other words, two surfaces are locally compatible if, in each
720
 
        tetrahedron, they <emphasis>together</emphasis> use at most
721
 
        one quadrilateral or octagonal disc type.
722
 
       </para>
723
 
      </glossdef>
724
 
     </glossentry>
725
 
     <glossentry id="surfaces-globalcompat">
726
 
      <glossterm>Globally compatible</glossterm>
727
 
      <glossdef>
728
 
       <para>
729
 
        Two surfaces are <emphasis>globally compatible</emphasis> if
730
 
        they are able to avoid intersection in <emphasis>all</emphasis>
731
 
        tetrahedra of the triangulation simultaneously.
732
 
       </para>
733
 
       <para>
734
 
        In other words, two surfaces are globally compatible if they can
735
 
        be made <emphasis>disjoint</emphasis> within the triangulation.
736
 
       </para>
737
 
      </glossdef>
738
 
     </glossentry>
739
 
    </glosslist>
740
 
   </para>
741
 
   <para>
742
 
    The <guilabel>Compatibility</guilabel> tab contains two matrices, one for
743
 
    local compatibility and one for global compatibility.  You can
744
 
    switch between these two matrices by using the drop-down box labelled
745
 
    <guilabel>Display matrix</guilabel>.
746
 
   </para>
747
 
   <para>
748
 
    Each matrix has dimensions
749
 
    <replaceable>S</replaceable>-by-<replaceable>S</replaceable>,
750
 
    where <replaceable>S</replaceable> is the total number of surfaces
751
 
    in the list.  Rows and columns are both numbered from 0 to
752
 
    <replaceable>S</replaceable>-1 inclusive, and the
753
 
    (<replaceable>x</replaceable>,<replaceable>y</replaceable>) cell of
754
 
    the matrix is filled if and only if surfaces
755
 
    <replaceable>x</replaceable> and <replaceable>y</replaceable> are
756
 
    compatible.  Here we use same numbering scheme as in the first column of
757
 
    the <link linkend="surfaces-viewsurfaceprops">coordinate viewer</link>.
758
 
   </para>
759
 
   <para>
760
 
    <screenshot>
761
 
     <screeninfo>The global compatibility matrix for a normal
762
 
      surface list</screeninfo>
763
 
     <mediaobject>
764
 
      <imageobject>
765
 
       <imagedata fileref="surfaces-compat.png"/>
766
 
      </imageobject>
767
 
      <textobject>
768
 
       <phrase>The global compatibility matrix for a
769
 
        normal surface list</phrase>
770
 
      </textobject>
771
 
      <caption><para>The global compatibility matrix for a
772
 
       normal surface list</para></caption>
773
 
     </mediaobject>
774
 
    </screenshot>
775
 
   </para>
776
 
   <para>
777
 
    Note that the global compatibility test comes with some constraints.
778
 
    Specifically, it cannot be run with surfaces that are empty, disconnected
779
 
    or non-compact (such as spun normal surfaces).  For any such surfaces,
780
 
    the corresponding rows and columns will be hashed out in the matrix
781
 
    as illustrated below.
782
 
   </para>
783
 
   <para>
784
 
    <screenshot>
785
 
     <screeninfo>Hashing out rows and columns for
786
 
      spun normal surfaces</screeninfo>
787
 
     <mediaobject>
788
 
      <imageobject>
789
 
       <imagedata fileref="surfaces-compat-hash.png"/>
790
 
      </imageobject>
791
 
      <textobject>
792
 
       <phrase>Hashing out rows and columns for
793
 
        spun normal surfaces</phrase>
794
 
      </textobject>
795
 
      <caption><para>Hashing out rows and columns for
796
 
       spun normal surfaces</para></caption>
797
 
     </mediaobject>
798
 
    </screenshot>
799
 
   </para>
800
 
   <para>
801
 
    For very large lists of surfaces, the compatibility matrices will
802
 
    not be generated automatically (since this could take a long time
803
 
    and/or require a significant amount of memory).  In this case, you
804
 
    can still compute the matrices by pressing the
805
 
    <guilabel>Calculate</guilabel> button at the top of the tab.
806
 
    The default threshold for automatic calculation is 100 surfaces,
807
 
    though you can change this in the
808
 
    <link linkend="options-surfaces">normal surface preferences</link>.
809
 
   </para>
810
 
  </sect2>
811
 
 </sect1>
812
 
 
813
 
 <sect1 id="surfaces-crushandcut">
814
 
  <title>Crushing and Cutting</title>
815
 
 
816
 
  <para>
817
 
   In certain situations normal surfaces can be used to
818
 
   decompose the underlying triangulation into smaller and/or simpler
819
 
   components.  The available ways in which this can be done are as
820
 
   follows.
821
 
  </para>
822
 
 
823
 
  <sect2 id="surfaces-crush">
824
 
   <title>Crushing a Surface</title>
825
 
   <para>
826
 
    A normal surface can be crushed to a point in the underlying
827
 
    triangulation by selecting the surface within the table
828
 
    and invoking the
829
 
    <menuchoice>
830
 
     <guimenu>Normal Surfaces</guimenu>
831
 
     <guimenuitem>Crush Surface</guimenuitem>
832
 
    </menuchoice>
833
 
    menu item.
834
 
   </para>
835
 
   <para>
836
 
    The original triangulation will not be changed; a new triangulation
837
 
    in which the selected surface has been crushed
838
 
    will appear as a child packet of this surface list.
839
 
   </para>
840
 
   <para>
841
 
    Note that crushing a normal surface might change the topology of the
842
 
    underlying 3-manifold (beyond the simple act of slicing along the
843
 
    surface) and in some cases might introduce ideal vertices
844
 
    or even invalid edges.  For details see
845
 
    <function><classname>NNormalSurface</classname>::crush()</function>
846
 
    in the &regenginedocs;.
847
 
   </para>
848
 
   <para>
849
 
    Why crush a surface if it can have such nasty side-effects?
850
 
    The advantage is that, unlike the cutting operation described
851
 
    below, crushing a surface can only ever <emphasis>reduce</emphasis>
852
 
    the number of tetrahedra in a triangulation (the worst case is
853
 
    where the surface only contains vertex links, whereupon the number
854
 
    of tetrahedra will remain the same).
855
 
   </para>
856
 
   <para>
857
 
    In general you should only crush a normal surface when there are
858
 
    theoretical reasons to know that this is safe.  Examples of safe
859
 
    scenarios can be found in Jaco and Rubinstein's paper on
860
 
    0-efficiency <xref linkend="bib-0-efficiency"/>.
861
 
   </para>
862
 
  </sect2>
863
 
  <sect2 id="surfaces-cut">
864
 
   <title>Cutting Along a Surface</title>
865
 
   <para>
866
 
    Instead of crushing a surface to a point, one might wish to simply
867
 
    slice along the surface and subdivide the resulting polyhedra into
868
 
    tetrahedra to produce a new triangulation.
869
 
   </para>
870
 
   <para>
871
 
    This has the advantage over crushing in that it will never change
872
 
    the topology of the underlying 3-manifold beyond the act of simply
873
 
    slicing along the surface.  It will also never introduce new ideal
874
 
    vertices or invalid edges.
875
 
   </para>
876
 
   <para>
877
 
    The disadvantage is that, after cutting along a surface,
878
 
    the number of tetrahedra in the triangulation can potentially
879
 
    skyrocket.  This has severe implications if you wish to do anything
880
 
    computationally intensive with the resulting triangulation(s).
881
 
   </para>
882
 
   <para>
883
 
    To cut along a normal surface, select the surface within the table
884
 
    and invoke the
885
 
    <menuchoice>
886
 
     <guimenu>Normal Surfaces</guimenu>
887
 
     <guimenuitem>Cut Along Surface</guimenuitem>
888
 
    </menuchoice>
889
 
    menu item.
890
 
    As with crushing, the original triangulation will not be changed;
891
 
    the resulting cut-open triangulation will be added to the packet
892
 
    tree as a new child of this surface list.
893
 
   </para>
894
 
   <tip><para>
895
 
    When crushing or cutting along a two-sided surface, it is possible
896
 
    that you will end up with a disconnected triangulation.
897
 
    The menu item
898
 
    <menuchoice>
899
 
     <guimenu>Triangulation</guimenu>
900
 
     <guimenuitem>Extract Components</guimenuitem>
901
 
    </menuchoice>
902
 
    can be used to split this triangulation into its connected components.
903
 
    See the section on
904
 
    <link linkend="tri-decomposition-component">component decomposition</link>
905
 
    for details.
906
 
   </para></tip>
907
 
  </sect2>
908
 
 </sect1>
909
 
 
910
 
 <sect1 id="surfaces-filtering">
911
 
  <title>Filtering</title>
912
 
 
913
 
  <para>
914
 
   Sometimes you are faced with a very long list of surfaces from which
915
 
   you wish to extract just the tori, or just the discs, or some other
916
 
   subset of surfaces described by one or more simple constraints.
917
 
   For tasks such as these, surface filters can be used.
918
 
  </para>
919
 
  <para>
920
 
   A surface filter essentially represents some series of tests that can
921
 
   be performed upon a surface.  Tests can include a variety of easily
922
 
   calculable properties such as orientability and Euler characteristic.
923
 
   At its most basic level, a surface filter is a device that either
924
 
   accepts or rejects each surface that is passed through it.
925
 
  </para>
926
 
  <para>
927
 
   Each surface filter is stored as a separate packet in the packet tree.
928
 
   Details of the types of filter that can be created are discussed
929
 
   in the <link linkend="surfaces-filtering-creating">following
930
 
   section</link>.
931
 
  </para>
932
 
  <para>
933
 
   To restrict a normal surface list according to some filter, open the
934
 
   surface list <link linkend="surfaces-viewsurfacecoords">coordinate
935
 
   viewer</link> where the entire list of surfaces is displayed.
936
 
   Above the table of coordinates is a drop-down box filled with the
937
 
   available filters.  If a filter is selected from this
938
 
   box then the surface list is restricted to include only those
939
 
   surfaces that the selected filter accepts.  To remove the filter, select
940
 
   the <guilabel>None</guilabel> option from this same drop-down box.
941
 
  </para>
942
 
 
943
 
  <sect2 id="surfaces-filtering-creating">
944
 
   <title>Creating Filters</title>
945
 
 
946
 
   <para>
947
 
    Filters are created through the
948
 
    <menuchoice>
949
 
     <guimenu>Packet Tree</guimenu>
950
 
     <guimenuitem>New Filter</guimenuitem>
951
 
    </menuchoice>
952
 
    menu item (or the corresponding toolbar button).  The following types
953
 
    of filter are available.
954
 
   </para>
955
 
 
956
 
   <sect3 id="surfaces-filterprop">
957
 
    <title>Filter by Properties</title>
958
 
 
959
 
    <para>
960
 
     A property-based filter allows surfaces to be restricted according
961
 
     to a variety of easily calculable properties.
962
 
    </para>
963
 
    <para>
964
 
     To be accepted a surface must satisfy all of the restrictions listed
965
 
     in the filter.  For instance, if a filter restricts by
966
 
     orientability (allow orientable surfaces only), by compactness
967
 
     (allow compact surfaces only) and also
968
 
     by Euler characteristic (allow Euler characteristic 1 only), then
969
 
     the filter will accept normal discs and nothing else.
970
 
    </para>
971
 
    <para>
972
 
     The properties by which surfaces can be restricted are as follows.
973
 
     <variablelist>
974
 
      <varlistentry>
975
 
       <term>Orientability</term>
976
 
       <listitem><para>
977
 
        This restriction can be used to only allow orientable surfaces
978
 
        or only allow non-orientable surfaces.
979
 
       </para></listitem>
980
 
      </varlistentry>
981
 
      <varlistentry>
982
 
       <term>Compactness</term>
983
 
       <listitem><para>
984
 
        This restriction can be used to only allow compact surfaces
985
 
        (i.e., surfaces with finitely many discs) or only allow
986
 
        non-compact surfaces (e.g., spun normal surfaces).
987
 
       </para></listitem>
988
 
      </varlistentry>
989
 
      <varlistentry>
990
 
       <term>Boundary</term>
991
 
       <listitem><para>
992
 
        This restriction can be used to only allow surfaces with real
993
 
        boundary edges or only allow surfaces with no real boundary edges.
994
 
        Note that spun normal surfaces, though they are not closed, do
995
 
        not have real boundary edges.
996
 
       </para></listitem>
997
 
      </varlistentry>
998
 
      <varlistentry>
999
 
       <term>Euler Characteristic</term>
1000
 
       <listitem><para>
1001
 
        This restriction can be used to only allow surfaces whose Euler
1002
 
        characteristic belongs to a given list.
1003
 
       </para></listitem>
1004
 
      </varlistentry>
1005
 
     </variablelist>
1006
 
    </para>
1007
 
   </sect3>
1008
 
 
1009
 
   <sect3 id="surfaces-filtercomb">
1010
 
    <title>Combination Filter</title>
1011
 
 
1012
 
    <para>
1013
 
     A combination filter is a high-level filter that combines some
1014
 
     other group of filters using boolean <literal>AND</literal> or
1015
 
     <literal>OR</literal>.  The combination filter will combine all
1016
 
     packet filters found directly beneath it in the packet tree.
1017
 
    </para>
1018
 
    <para>
1019
 
     For instance, to create a filter that accepts either discs or tori,
1020
 
     you can create a <link linkend="surfaces-filterprop">property
1021
 
     filter</link> for discs and another property filter for tori.
1022
 
     These are both placed within the packet tree directly beneath
1023
 
     a boolean <literal>OR</literal> combination filter, as
1024
 
     illustrated in the following screenshot.
1025
 
    </para>
1026
 
    <screenshot>
1027
 
     <screeninfo>A sample combination filter</screeninfo>
1028
 
     <mediaobject>
1029
 
      <imageobject>
1030
 
       <imagedata fileref="filtercombeg.png"/>
1031
 
      </imageobject>
1032
 
      <textobject>
1033
 
       <phrase>A sample combination filter</phrase>
1034
 
      </textobject>
1035
 
      <caption><para>A sample combination filter</para></caption>
1036
 
     </mediaobject>
1037
 
    </screenshot>
1038
 
    <para>
1039
 
     <inlinemediaobject>
1040
 
      <imageobject>
1041
 
       <imagedata fileref="filtercombtree.png" align="right"/>
1042
 
      </imageobject>
1043
 
     </inlinemediaobject>
1044
 
     Note that a combination filter will only combine its immediate children.
1045
 
     Suppose for instance that a combination filter
1046
 
     <replaceable>C</replaceable> has child filters
1047
 
     <replaceable>P</replaceable> and <replaceable>Q</replaceable>,
1048
 
     and that <replaceable>Q</replaceable> in turn has child filters
1049
 
     <replaceable>X</replaceable> and <replaceable>Y</replaceable>,
1050
 
     as illustrated in the diagram to the right.
1051
 
     Then <replaceable>C</replaceable> forms a boolean combination of
1052
 
     <replaceable>P</replaceable> and <replaceable>Q</replaceable> only.
1053
 
    </para>
1054
 
   </sect3>
1055
 
  </sect2>
1056
 
 </sect1>
1057
 
</chapter>