Regina Calculation Engine
Classes | Namespaces | Constant Groups | Macros | Typedefs
ngluingpermsearcher.h File Reference

Supports searching through all possible sets of tetrahedron gluing permutations for a given tetrahedron face pairing. More...

#include "regina-core.h"
#include "census/ngluingperms.h"
#include "utilities/nqitmask.h"

Classes

class  regina::NGluingPermSearcher
 A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing. More...
 
class  regina::NEulerSearcher
 A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic. More...
 
struct  regina::NEulerSearcher::TetVertexState
 A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed. More...
 
struct  regina::NEulerSearcher::TetEdgeState
 A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed. More...
 
class  regina::NCompactSearcher
 A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required. More...
 
struct  regina::NCompactSearcher::TetVertexState
 A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed. More...
 
struct  regina::NCompactSearcher::TetEdgeState
 A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed. More...
 
class  regina::NClosedPrimeMinSearcher
 A gluing permutation search class that offers a specialised search algorithm for when (i) only closed prime minimal P2-irreducible triangulations are required, and (ii) the given face pairing has order at least three. More...
 

Namespaces

 regina
 Contains the entire Regina calculation engine.
 

Constant Groups

 regina
 Contains the entire Regina calculation engine.
 

Macros

#define PRUNE_HIGH_DEG_EDGE_SET   1
 Specifies whether the NClosedPrimeMinSearcher census generation code should prune on high-degree edges. More...
 

Typedefs

typedef void(* regina::UseGluingPerms )(const NGluingPermSearcher *, void *)
 A routine used to do arbitrary processing upon a particular set of tetrahedron gluing permutations. More...
 

Detailed Description

Supports searching through all possible sets of tetrahedron gluing permutations for a given tetrahedron face pairing.

Macro Definition Documentation

#define PRUNE_HIGH_DEG_EDGE_SET   1

Specifies whether the NClosedPrimeMinSearcher census generation code should prune on high-degree edges.

It is well known that a closed prime minimal P^2-irreducible triangulation formed from at least three tetrahedra can never have an edge of degree one or two. Combining this with the fact that such a triangulation must always have one vertex, a simple Euler characteristic calculation shows that there must be precisely n+1 edges, where n is the number of tetrahedra.

A little arithmetic then shows that, for any k edges, the sum of their edge degrees can be no more than 3(n+k-1); otherwise one of the remaining edges will be forced to have degree one or two. This observation is the basis behind the high-degree edge pruning that this option controls.

To enable pruning on high-degree edges, set this macro to 1 (the default for Regina's main source distribution); to disable it, set it to 0.


Copyright © 1999-2013, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).