Regina 7.0 Calculation Engine
|
Census lookup and enumeration for triangulations of various dimensions. More...
Classes | |
class | regina::CensusDB |
Stores the location and description of one of Regina's in-built census databases. More... | |
class | regina::CensusHit |
Stores a single "hit" indicating that some given triangulation has been located in one of Regina's in-built census databases. More... | |
class | regina::Census |
A utility class used to search for triangulations across one or more 3-manifold census databases. More... | |
class | regina::GluingPerms< dim > |
Represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets. More... | |
class | regina::GluingPermSearcher< dim > |
A utility class used to build a census of triangulations, by searching through all possible sets of gluing permutations to match a given facet pairing. More... | |
class | regina::GluingPermSearcher< 2 > |
A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing. More... | |
class | regina::GluingPermSearcher< 3 > |
A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing. More... | |
class | regina::EulerSearcher |
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... | |
class | regina::CompactSearcher |
A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required. More... | |
class | regina::ClosedPrimeMinSearcher |
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... | |
class | regina::HyperbolicMinSearcher |
A gluing permutation search class that offers a specialised search algorithm for when only minimal ideal triangulations of cusped finite-volume hyperbolic 3-manifolds are required. More... | |
class | regina::GluingPermSearcher< 4 > |
A utility class for searching through all possible gluing permutation sets that correspond to a given pentachoron facet pairing. More... | |
Macros | |
#define | PRUNE_HIGH_DEG_EDGE_SET 1 |
Specifies whether the ClosedPrimeMinSearcher census generation code should prune on high-degree edges. More... | |
Typedefs | |
using | regina::CensusPurge = regina::Flags< CensusPurgeFlags > |
A combination of flags for census generation. More... | |
Enumerations | |
enum | regina::CensusPurgeFlags { regina::PURGE_NONE = 0x00 , regina::PURGE_NON_MINIMAL = 0x01 , regina::PURGE_NON_PRIME = 0x02 , regina::PURGE_NON_MINIMAL_PRIME = 0x03 , regina::PURGE_NON_MINIMAL_HYP = 0x09 , regina::PURGE_P2_REDUCIBLE = 0x04 } |
Represents different classes of triangulations that may be ignored by census generation algorithms. More... | |
Functions | |
void | regina::swap (CensusDB &a, CensusDB &b) noexcept |
Swaps the contents of the given database references. More... | |
void | regina::swap (CensusHit &a, CensusHit &b) noexcept |
Swaps the contents of the given census hits. More... | |
template<int dim> | |
void | regina::swap (GluingPerms< dim > &a, GluingPerms< dim > &b) noexcept |
Swaps the contents of the given gluing permutation sets. More... | |
CensusPurge | regina::operator| (CensusPurgeFlags lhs, CensusPurgeFlags rhs) |
Returns the bitwise OR of the two given flags. More... | |
Census lookup and enumeration for triangulations of various dimensions.
#define PRUNE_HIGH_DEG_EDGE_SET 1 |
Specifies whether the ClosedPrimeMinSearcher 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.
using regina::CensusPurge = typedef regina::Flags<CensusPurgeFlags> |
A combination of flags for census generation.
If a function requires a CensusPurge object as an argument, you can pass a single CensusPurgeFlags constant, or a combination of such constants using the bitwise OR operator, or empty braces {} to indicate no flags at all.
Represents different classes of triangulations that may be ignored by census generation algorithms.
Excluding a triangulation from a census is not a promise: for example, a census that uses the flag PURGE_NON_MINIMAL might include some non-minimal triangulations and exclude others.
However, including a triangulation is a promise: for example, a census that uses the flag PURGE_NON_MINIMAL will promise to include every minimal triangulations.
These flags can be combined using the bitwise OR operator. See (for example) the GluingPermSearcher<3> constructor documentation for further details on how these flags are used.
|
inline |
Returns the bitwise OR of the two given flags.
lhs | the first flag to combine. |
rhs | the second flag to combine. |
Swaps the contents of the given database references.
This global routine simply calls CensusDB::swap(); it is provided so that CensusDB meets the C++ Swappable requirements.
a | the first database reference whose contents should be swapped. |
b | the second database reference whose contents should be swapped. |
Swaps the contents of the given census hits.
This global routine simply calls CensusHit::swap(); it is provided so that CensusHit meets the C++ Swappable requirements.
a | the first census hit whose contents should be swapped. |
b | the second census hit whose contents should be swapped. |
|
inlinenoexcept |
Swaps the contents of the given gluing permutation sets.
This global routine simply calls GluingPerms<dim>::swap(); it is provided so that GluingPerms<dim> meets the C++ Swappable requirements.
a | the first matrix whose contents should be swapped. |
b | the second matrix whose contents should be swapped. |