This database consists of the fundamental groups of the 10,986 small-volume closed hyperbolic manifolds in the Hodgson--Weeks census. The presentations included were generated by Jeffrey Weeks' program SnapPea http://www.geometrygames.org/SnapPea/. Information about finite-index subgroups with homology was generated by Dunfield and Thurston in [DT03].
The basic access functions for the database are described in this section.
The result returned by the Manifold function is a record with a number of fields containing information about the manifold and its fundamental group. The fields of the records are as follows:
Field Name: A string giving a name to the manifold M.
Field Volume: The volume of M as a floating point number.
Field Homology: A sequence of integers describing the first homology group of M.
Field Group; The fundamental group of M as a finitely presented group.
Field GoodCoverImage: A possibly empty sequence of permutations or integers 1 representing the identity permutation. These permutations define a homomorphism from the fundamental group to Sn, such that the kernel of the homomorphism has infinite abelianization.
Field GoodCover: A list describing the construction of the good cover.
Field Degree: A positive integer, the degree of the GoodCoverImage permutation representation.
Field KnownPosBettiCover: A boolean value, always true in the current database.
Field KnownWeakPosBettiCover: A boolean value, always true in the current database.
Field Reason: A string, one of "AbelianInvariants", "RationalReconstruction" or "MAGMA".
Field Rank: A positive integer.
Field GoodCoverImageU: A possibly empty sequence of permutations or integers 1 representing the identity permutation.
Open the database and return a reference to it.
Extract the associated record from the database of fundamental groups of 3-dimensional manifolds. The manifold may be specified by the index i (1 ≤i ≤11126) or a name from the Hodgson--Weeks census.
The intrinsic Manifold is one way to access the data in the database. It may be more convenient to iterate over the database object returned by ManifoldDatabase. The following examples show how this may be done.
> D := ManifoldDatabase(); > r := Manifold(D, 100); > r`Name; m019(1,4) > r`Homology; [ 2, 31 ] > r`Group; Finitely presented group on 2 generators Relations $.1 * $.2^3 * $.1 * $.2 * $.1^4 * $.2 * $.1 * $.2 * $.1^4 * $.2 = Id($) $.1 * $.2 * $.1 * $.2^2 * $.1^-3 * $.2^2 = Id($) > r`GoodCoverImage; [ (1, 2, 4, 6, 5, 8, 7, 9, 3), (1, 3, 5, 4, 7, 6, 9, 8, 2) ]In [DT03], Dunfield and Thurston note that they found 132 manifolds with positive Betti number. We find them in the database as those records where the Degree is 1. We then search the database for one of these, but by name. Both searches use the facility to iterate over the database that was mentioned above.
> D := ManifoldDatabase(); > pos_betti := {r`Name:r in D|r`Degree eq 1}; > #pos_betti; 132 > Random(pos_betti); s527(-5,1) > exists(r){r:r in D|r`Name eq "s527(-5,1)"}; true > F := r`Group; F; Finitely presented group F on 2 generators Relations F.1^2 * F.2^2 * F.1^2 * F.2^-1 * F.1^2 * F.2^2 * F.1^2 * F.2^2 * F.1^-1 * F.2^2 = Id(F) F.1^2 * F.2^2 * F.1^2 * F.2 * F.1^2 * F.2^2 * F.1^2 * F.2 * F.1^2 * F.2^2 * F.1^2 * F.2 * F.1^2 * F.2^2 * F.1^2 * F.2 * F.1^2 * F.2^2 * F.1^2 * F.2 * F.1^2 * F.2^2 * F.1^2 * F.2^2 * F.1^-3 * F.2^2 = Id(F) > AbelianQuotientInvariants(F); [ 7, 0 ] > r`Homology; [ 0, 7 ]As expected, we see that the fundamental group has infinite abelianization.