Regina Calculation Engine
Static Public Member Functions | List of all members
regina::Example< 3 > Class Template Reference

Offers routines for constructing a variety of sample 3-dimensional triangulations. More...

#include <triangulation/example3.h>

Inheritance diagram for regina::Example< 3 >:
regina::detail::ExampleBase< 3 > regina::detail::ExampleFromLowDim< dim,(dim > 2)>

Static Public Member Functions

static Triangulation< dim > * doubleCone (const Triangulation< dim-1 > &base)
 Returns a double cone over the given (dim-1)-dimensional triangulation. More...
 
static Triangulation< dim > * singleCone (const Triangulation< dim-1 > &base)
 Returns a single cone over the given (dim-1)-dimensional triangulation. More...
 
Closed Triangulations
static Triangulation< 3 > * threeSphere ()
 Returns a one-tetrahedron triangulation of the 3-sphere. More...
 
static Triangulation< 3 > * bingsHouse ()
 Returns the two-tetrahedron triangulation of the 3-sphere that is dual to Bing's house with two rooms. More...
 
static Triangulation< 3 > * s2xs1 ()
 Returns a two-tetrahedron triangulation of the product space S^2 x S^1. More...
 
static Triangulation< 3 > * rp2xs1 ()
 Returns a three-tetrahedron triangulation of the non-orientable product space RP^2 x S^1. More...
 
static Triangulation< 3 > * rp3rp3 ()
 Returns a triangulation of the connected sum RP^3 # RP^3. More...
 
static Triangulation< 3 > * lens (size_t p, size_t q)
 Returns a triangulation of the lens space L(p,q). More...
 
static Triangulation< 3 > * poincareHomologySphere ()
 Returns the five-tetrahedron triangulation of the Poincare homology sphere. More...
 
static Triangulation< 3 > * weeks ()
 Returns a nine-tetrahedron minimal triangulation of the Weeks manifold. More...
 
static Triangulation< 3 > * weberSeifert ()
 Returns a one-vertex triangulation of the Weber-Seifert dodecahedral space. More...
 
static Triangulation< 3 > * smallClosedOrblHyperbolic ()
 Returns the nine-tetrahedron closed orientable hyperbolic 3-manifold with volume 0.94270736. More...
 
static Triangulation< 3 > * smallClosedNonOrblHyperbolic ()
 Returns the eleven-tetrahedron closed non-orientable hyperbolic 3-manifold with volume 2.02988321. More...
 
static Triangulation< 3 > * sphere600 ()
 Returns the boundary 3-sphere of the regular 600-cell. More...
 
Finite Bounded Triangulations
static Triangulation< 3 > * lst (size_t a, size_t b)
 Returns the layered solid torus LST(a,b,c). More...
 
static Triangulation< 3 > * solidKleinBottle ()
 Returns a triangulation of the solid Klein bottle. More...
 
Ideal Triangulations
static Triangulation< 3 > * figureEight ()
 Returns a two-tetrahedron ideal triangulation of the figure eight knot complement. More...
 
static Triangulation< 3 > * trefoil ()
 Returns a two-tetrahedron ideal triangulation of the trefoil knot complement. More...
 
static Triangulation< 3 > * whiteheadLink ()
 Returns a four-tetrahedron ideal triangulation of the Whitehead link complement. More...
 
static Triangulation< 3 > * gieseking ()
 Returns the one-tetrahedron ideal triangulation of the non-orientable Gieseking manifold. More...
 
static Triangulation< 3 > * cuspedGenusTwoTorus ()
 Returns a triangulation of a solid genus two torus with a cusped boundary. More...
 
static Triangulation< dim > * sphere ()
 Returns a two-simplex triangulation of the dim-sphere. More...
 
static Triangulation< dim > * simplicialSphere ()
 Returns the standard (dim+2)-simplex triangulation of the dim-sphere as the boundary of a (dim+1)-simplex. More...
 
static Triangulation< dim > * sphereBundle ()
 Returns a two-simplex triangulation of the product space S^(dim-1) x S^1. More...
 
static Triangulation< dim > * twistedSphereBundle ()
 Returns a two-simplex triangulation of the twisted product space S^(dim-1) x~ S^1. More...
 
static Triangulation< dim > * ball ()
 Bounded Triangulations. More...
 
static Triangulation< dim > * ballBundle ()
 Returns a triangulation of the product space B^(dim-1) x S^1. More...
 
static Triangulation< dim > * twistedBallBundle ()
 Returns a triangulation of the twisted product space B^(dim-1) x~ S^1. More...
 

Detailed Description

template<>
class regina::Example< 3 >

Offers routines for constructing a variety of sample 3-dimensional triangulations.

This is a specialisation of the generic Example class template; see the Example template documentation for a general overview of how the example triangulation classes work.

This 3-dimensional specialisation offers significant extra functionality, by providing several more hard-coded and parameterised constructions.

Member Function Documentation

◆ ball()

Triangulation< dim > * regina::detail::ExampleBase< dim >::ball ( )
staticinherited

Bounded Triangulations.

Returns a one-simplex triangulation of the dim-ball.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ ballBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::ballBundle ( )
staticinherited

Returns a triangulation of the product space B^(dim-1) x S^1.

This will use one simplex in odd dimensions, or two simplices in even dimensions.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ bingsHouse()

static Triangulation<3>* regina::Example< 3 >::bingsHouse ( )
static

Returns the two-tetrahedron triangulation of the 3-sphere that is dual to Bing's house with two rooms.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ cuspedGenusTwoTorus()

static Triangulation<3>* regina::Example< 3 >::cuspedGenusTwoTorus ( )
static

Returns a triangulation of a solid genus two torus with a cusped boundary.

This triangulation has one internal finite vertex and one genus two ideal vertex.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ doubleCone()

Triangulation< dim > * regina::detail::ExampleFromLowDim< dim, available >::doubleCone ( const Triangulation< dim-1 > &  base)
staticinherited

Returns a double cone over the given (dim-1)-dimensional triangulation.

If the given triangulation represents the manifold M, then this returns an ideal triangulation of the product M x I (with two ideal boundary components). A copy of the original triangulation base can be found at the centre of this construction, formed from the dim-simplices that sit between the two ideal vertices.

Note that, as a special case, if M is either a sphere or a ball, then this routine returns a (dim)-sphere or a (dim)-ball (since "ideal spheres" and "ideal balls" just become regular internal and boundary vertices respectively).

This construction is essentially the suspension of the triangulation base. We do not call it this however, since from a topological point of view, to form the ideal triangulation of M x I we "remove" the vertices at the apex of each cone.

Warning
If the given (dim-1)-dimensional triangulation has any boundary whatsoever (either real or ideal), then unless it is a (dim-1)-ball, you will obtain an invalid dim-manifold triangulation as a result.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ figureEight()

static Triangulation<3>* regina::Example< 3 >::figureEight ( )
static

Returns a two-tetrahedron ideal triangulation of the figure eight knot complement.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ gieseking()

static Triangulation<3>* regina::Example< 3 >::gieseking ( )
static

Returns the one-tetrahedron ideal triangulation of the non-orientable Gieseking manifold.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ lens()

static Triangulation<3>* regina::Example< 3 >::lens ( size_t  p,
size_t  q 
)
static

Returns a triangulation of the lens space L(p,q).

The triangulation uses a layered lens space, which is conjectured (but not proven in all cases) to be the triangulation requiring the fewest tetrahedra.

Precondition
p > q >= 0 unless (p,q) = (0,1).
gcd(p, q) = 1.
Parameters
pa parameter of the desired lens space.
qa parameter of the desired lens space.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ lst()

static Triangulation<3>* regina::Example< 3 >::lst ( size_t  a,
size_t  b 
)
static

Returns the layered solid torus LST(a,b,c).

This is a parameterised triangulation of the solid torus. It has two boundary triangles and three boundary edges, and the meridional disc of the solid torus cuts these boundary edges a, b and c times respectively.

Only the parameters a and b are passed as arguments to this routine. The third parameter c will be deduced automatically as c = (a + b).

Precondition
gcd(a, b) = 1.
Parameters
athe first parameter of the layered solid torus.
bthe second parameter of the layered solid torus.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ poincareHomologySphere()

static Triangulation<3>* regina::Example< 3 >::poincareHomologySphere ( )
static

Returns the five-tetrahedron triangulation of the Poincare homology sphere.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ rp2xs1()

static Triangulation<3>* regina::Example< 3 >::rp2xs1 ( )
static

Returns a three-tetrahedron triangulation of the non-orientable product space RP^2 x S^1.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ rp3rp3()

static Triangulation<3>* regina::Example< 3 >::rp3rp3 ( )
static

Returns a triangulation of the connected sum RP^3 # RP^3.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ simplicialSphere()

Triangulation< dim > * regina::detail::ExampleBase< dim >::simplicialSphere ( )
staticinherited

Returns the standard (dim+2)-simplex triangulation of the dim-sphere as the boundary of a (dim+1)-simplex.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ singleCone()

Triangulation< dim > * regina::detail::ExampleFromLowDim< dim, available >::singleCone ( const Triangulation< dim-1 > &  base)
staticinherited

Returns a single cone over the given (dim-1)-dimensional triangulation.

If the given triangulation represents the manifold M, then this returns a triangulation of the product M x I that has one real boundary component and one ideal boundary component. The triangulation of the real boundary component will be identical to the original (dim-1)-dimensional triangulation base.

Warning
If the given (dim-1)-dimensional triangulation has any boundary whatsoever (either real or ideal), then unless it is a (dim-1)-ball, you will obtain an invalid dim-manifold triangulation as a result.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ smallClosedNonOrblHyperbolic()

static Triangulation<3>* regina::Example< 3 >::smallClosedNonOrblHyperbolic ( )
static

Returns the eleven-tetrahedron closed non-orientable hyperbolic 3-manifold with volume 2.02988321.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ smallClosedOrblHyperbolic()

static Triangulation<3>* regina::Example< 3 >::smallClosedOrblHyperbolic ( )
static

Returns the nine-tetrahedron closed orientable hyperbolic 3-manifold with volume 0.94270736.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ solidKleinBottle()

static Triangulation<3>* regina::Example< 3 >::solidKleinBottle ( )
static

Returns a triangulation of the solid Klein bottle.

This is isomorphic to the triangulation returned by the generic routine twistedBallBundle(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphere()

Triangulation< dim > * regina::detail::ExampleBase< dim >::sphere ( )
staticinherited

Returns a two-simplex triangulation of the dim-sphere.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphere600()

static Triangulation<3>* regina::Example< 3 >::sphere600 ( )
static

Returns the boundary 3-sphere of the regular 600-cell.

This is a triangulation of the 3-sphere that is a simplicial complex, and in which every edge has degree five.

The triangulation was extracted from the Benedetti-Lutz library of triangulations. See: http://page.math.tu-berlin.de/~lutz/stellar/library_of_triangulations.html

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphereBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::sphereBundle ( )
staticinherited

Returns a two-simplex triangulation of the product space S^(dim-1) x S^1.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ threeSphere()

static Triangulation<3>* regina::Example< 3 >::threeSphere ( )
static

Returns a one-tetrahedron triangulation of the 3-sphere.

This is different from the generic routine sphere(), which uses two tetrahedra instead.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ trefoil()

static Triangulation<3>* regina::Example< 3 >::trefoil ( )
static

Returns a two-tetrahedron ideal triangulation of the trefoil knot complement.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ twistedBallBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::twistedBallBundle ( )
staticinherited

Returns a triangulation of the twisted product space B^(dim-1) x~ S^1.

This will use one simplex in even dimensions, or two simplices in odd dimensions.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ twistedSphereBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::twistedSphereBundle ( )
staticinherited

Returns a two-simplex triangulation of the twisted product space S^(dim-1) x~ S^1.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ weberSeifert()

static Triangulation<3>* regina::Example< 3 >::weberSeifert ( )
static

Returns a one-vertex triangulation of the Weber-Seifert dodecahedral space.

This 3-manifold is described in "Die beiden Dodekaederraume", C. Weber and H. Seifert, Math. Z. 37 (1933), no. 1, 237-253. The triangulation returned by this routine (with 23 tetrahedra) is given in "The Weber-Seifert dodecahedral space is non-Haken", Benjamin A. Burton, J. Hyam Rubinstein and Stephan Tillmann, Trans. Amer. Math. Soc. 364:2 (2012), pp. 911-932.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ weeks()

static Triangulation<3>* regina::Example< 3 >::weeks ( )
static

Returns a nine-tetrahedron minimal triangulation of the Weeks manifold.

The Weeks manifold is the smallest-volume closed hyperbolic 3-manifold, with a volume of roughly 0.9427. Note that there are nine minimal triangulations of the Weeks manifold (of course this routine returns just one).

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ whiteheadLink()

static Triangulation<3>* regina::Example< 3 >::whiteheadLink ( )
static

Returns a four-tetrahedron ideal triangulation of the Whitehead link complement.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

The documentation for this class was generated from the following file:

Copyright © 1999-2016, 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@maths.uq.edu.au).