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

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

#include <triangulation/example4.h>

Inheritance diagram for regina::Example< 4 >:
regina::detail::ExampleBase< 4 > 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< 4 > * fourSphere ()
 Returns a two-pentachoron triangulation of the 4-sphere. More...
 
static Triangulation< 4 > * simplicialFourSphere ()
 Returns the standard six-pentachoron triangulation of the 4-sphere as the boundary of a 5-simplex. More...
 
static Triangulation< 4 > * rp4 ()
 Returns a four-pentachoron triangulation of real projective 4-space. More...
 
static Triangulation< 4 > * s3xs1 ()
 Returns a two-pentachoron triangulation of the product space S^3 x S^1. More...
 
static Triangulation< 4 > * s3xs1Twisted ()
 Returns a two-pentachoron triangulation of the twisted product space S^3 x~ S^1. More...
 
Ideal Triangulations

(end: Closed Triangulations)

static Triangulation< 4 > * cappellShaneson ()
 Returns a two-pentachoron triangulation of a Cappell-Shaneson 2-knot complement in the 4-sphere. More...
 
Constructions from 3-Manifold Triangulations

(end: Ideal Triangulations)

static Triangulation< 4 > * iBundle (const Triangulation< 3 > &base)
 Returns a triangulation of the product M x I, where M is the given 3-manifold triangulation. More...
 
static Triangulation< 4 > * s1Bundle (const Triangulation< 3 > &base)
 Returns a triangulation of the product M x S1, where M is the given 3-manifold triangulation. More...
 
static Triangulation< 4 > * bundleWithMonodromy (const Triangulation< 3 > &base, const Isomorphism< 3 > &monodromy)
 Returns a bundle formed from a given 3-manifold and a given monodromy. 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< 4 >

Offers routines for constructing a variety of sample 4-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 4-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.

◆ bundleWithMonodromy()

static Triangulation<4>* regina::Example< 4 >::bundleWithMonodromy ( const Triangulation< 3 > &  base,
const Isomorphism< 3 > &  monodromy 
)
static

Returns a bundle formed from a given 3-manifold and a given monodromy.

Specifically, let M be the given 3-manifold triangulation. This routine builds the bundle M x I, and then identifies the two copies of M on the boundary according to the given homeomorphism from M to itself. The homeomorphism must be expressed as a combinatorial automorphism, which means that for a non-trivial monodromy you may need to do some work to find a sufficiently symmetric 3-manifold triangulation to begin with.

The resulting manifold will contain 82 pentachora for each original tetrahedron of M, and will contain many internal vertices. It is highly recommended that you call Triangulation<4>::intelligentSimplify() afterwards if you do not need to preserve the combinatorial structure.

Precondition
The given monodromy must be an isomorphism from M to itself; that is, a combinatorial automorphism.
Warning
If the given 3-manifold triangulation has ideal boundary, then you will obtain an invalid 4-manifold triangulation as a result.
Parameters
basethe 3-manifold triangulation M, as described above.
monodromythe homeomorphism from M to itself, as described above.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ cappellShaneson()

static Triangulation<4>* regina::Example< 4 >::cappellShaneson ( )
static

Returns a two-pentachoron triangulation of a Cappell-Shaneson 2-knot complement in the 4-sphere.

This triangulation is described and analysed in "Triangulating a Cappell-Shaneson knot complement", Budney, Burton and Hillman, Mathematical Research Letters 19 (2012), no. 5, 1117-1126.

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.

◆ fourSphere()

Triangulation< 4 > * regina::Example< 4 >::fourSphere ( )
inlinestatic

Returns a two-pentachoron triangulation of the 4-sphere.

This is identical to calling the generic routine sphere().

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

◆ iBundle()

static Triangulation<4>* regina::Example< 4 >::iBundle ( const Triangulation< 3 > &  base)
static

Returns a triangulation of the product M x I, where M is the given 3-manifold triangulation.

The boundary of this product will consist of two copies of M, both combinatorially isomorphic to the original triangulation. If n is the number of tetrahedra in M, then the first copy of M on the boundary is obtained by mapping vertices 0,1,2,3 of tetrahedron i of M to vertices 0,1,2,3 of pentachoron i, and the second copy is obtained by mapping vertices 0,1,2,3 of tetrahedron i of M to vertices 0,1,2,3 of pentachoron n+i.

The product itself will contain 82 pentachora for each original tetrahedron of M, and will contain many internal vertices. It is highly recommended that you call Triangulation<4>::intelligentSimplify() afterwards if you do not need to preserve the combinatorial structure.

Warning
If the given 3-manifold triangulation has ideal boundary, then you will obtain an invalid 4-manifold triangulation as a result.
Parameters
basethe 3-manifold triangulation M, as described above.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ rp4()

static Triangulation<4>* regina::Example< 4 >::rp4 ( )
static

Returns a four-pentachoron triangulation of real projective 4-space.

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

◆ s1Bundle()

static Triangulation<4>* regina::Example< 4 >::s1Bundle ( const Triangulation< 3 > &  base)
static

Returns a triangulation of the product M x S1, where M is the given 3-manifold triangulation.

This simply calls iBundle() and then glues together the two copies of M on the boundary.

The product will contain 82 pentachora for each original tetrahedron of M, and will contain many internal vertices. It is highly recommended that you call Triangulation<4>::intelligentSimplify() afterwards if you do not need to preserve the combinatorial structure.

Warning
If the given 3-manifold triangulation has ideal boundary, then you will obtain an invalid 4-manifold triangulation as a result.
Parameters
basethe 3-manifold triangulation M, as described above.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ s3xs1()

Triangulation< 4 > * regina::Example< 4 >::s3xs1 ( )
inlinestatic

Returns a two-pentachoron triangulation of the product space S^3 x S^1.

This is identical to calling the generic routine sphereBundle().

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

◆ s3xs1Twisted()

Triangulation< 4 > * regina::Example< 4 >::s3xs1Twisted ( )
inlinestatic

Returns a two-pentachoron triangulation of the twisted product space S^3 x~ S^1.

This is identical to calling the generic routine twistedSphereBundle().

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

◆ simplicialFourSphere()

Triangulation< 4 > * regina::Example< 4 >::simplicialFourSphere ( )
inlinestatic

Returns the standard six-pentachoron triangulation of the 4-sphere as the boundary of a 5-simplex.

This is identical to calling the generic routine simplicialSphere().

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.

◆ 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.

◆ 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.

◆ 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.

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).