ngluingpermsearcher.h File Reference

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

#include "census/ngluingperms.h"

Classes

class  regina::NGluingPermSearcher
 A utility class for searching through all possible gluing permutation sets that correspond to a given face pairing. 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 is constructed. More...
struct  regina::NCompactSearcher::TetEdgeState
 A structure used to track equivalence classes of tetrahedron edges as the gluing permutation 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

namespace  regina
 

Contains the entire Regina calculation engine.


Defines

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

Typedefs

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

Detailed Description

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


Define 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-2009, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).