Censuses of Platonic manifolds¶
The following manifolds were tabulated in A census of tetrahedral manifolds and A census of Platonic manifolds and augmented knotted trivalent graphs. An even larger census of Platonic manifolds can be downloaded here.

snappy.
TetrahedralOrientableCuspedCensus
= TetrahedralOrientableCuspedCensus without filters¶ Iterator for the tetrahedral orientable cusped hyperbolic manifolds up to 25 tetrahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic tetrahedra.
>>> for M in TetrahedralOrientableCuspedCensus(solids = 5): ... print(M, M.volume()) otet05_00000(0,0) 5.07470803 otet05_00001(0,0)(0,0) 5.07470803 >>> TetrahedralOrientableCuspedCensus.identify(Manifold("m004")) otet02_00001(0,0)

snappy.
TetrahedralNonorientableCuspedCensus
= TetrahedralNonorientableCuspedCensus without filters¶ Iterator for the tetrahedral nonorientable cusped hyperbolic manifolds up to 21 tetrahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic tetrahedra.
>>> len(TetrahedralNonorientableCuspedCensus) 25194 >>> list(TetrahedralNonorientableCuspedCensus[:1.3]) [ntet01_00000(0,0)]

snappy.
OctahedralOrientableCuspedCensus
= OctahedralOrientableCuspedCensus without filters¶ Iterator for the octahedral orientable cusped hyperbolic manifolds up to 7 octahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic octahedra.
>>> OctahedralOrientableCuspedCensus.identify(Manifold("5^2_1")) ooct01_00001(0,0)(0,0)
For octahedral manifolds that are also the complement of an Augmented Knotted Trivalent Graph (AugKTG), the corresponding link is included:
>>> M = OctahedralOrientableCuspedCensus['ooct04_00034'] >>> M.link() <Link: 4 comp; 17 cross>
The link can be viewed with
M.plink()
. To only see complements of AugKTGs, supplyisAugKTG = True
:>>> len(OctahedralOrientableCuspedCensus(isAugKTG = True)) 238 >>> for M in OctahedralOrientableCuspedCensus(isAugKTG = True)[:5]: ... print(M, M.link().DT_code(DT_alpha=True)) ooct02_00001(0,0)(0,0)(0,0)(0,0) DT[mdbceceJamHBlCKgdfI] ooct02_00002(0,0)(0,0)(0,0) DT[lcgbcIkhLBJecGaFD] ooct02_00003(0,0)(0,0)(0,0) DT[icebbGIAfhcEdB] ooct02_00005(0,0)(0,0)(0,0) DT[hcdbbFHegbDAc] ooct04_00027(0,0)(0,0)(0,0)(0,0) DT[zdpecbBujVtiWzsLQpxYREadhOKCmFgN]

snappy.
OctahedralNonorientableCuspedCensus
= OctahedralNonorientableCuspedCensus without filters¶ Iterator for the octahedral nonorientable cusped hyperbolic manifolds up to 5 octahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic octahedra.
>>> for M in OctahedralNonorientableCuspedCensus(solids = 3, betti = 3,cusps = 4): ... print(M, M.homology()) noct03_00007(0,0)(0,0)(0,0)(0,0) Z/2 + Z + Z + Z noct03_00029(0,0)(0,0)(0,0)(0,0) Z/2 + Z + Z + Z noct03_00047(0,0)(0,0)(0,0)(0,0) Z/2 + Z + Z + Z noct03_00048(0,0)(0,0)(0,0)(0,0) Z/2 + Z + Z + Z

snappy.
CubicalOrientableCuspedCensus
= CubicalOrientableCuspedCensus without filters¶ Iterator for the cubical orientable cusped hyperbolic manifolds up to 7 cubes, i.e., manifolds that admit a tessellation by regular ideal hyperbolic octahedra.
>>> M = TetrahedralOrientableCuspedCensus['otet05_00001'] >>> CubicalOrientableCuspedCensus.identify(M) ocube01_00002(0,0)(0,0)

snappy.
CubicalNonorientableCuspedCensus
= CubicalNonorientableCuspedCensus without filters¶ Iterator for the cubical nonorientable cusped hyperbolic manifolds up to 5 cubes, i.e., manifolds that admit a tessellation by regular ideal hyperbolic octahedra.
>>> for M in CubicalNonorientableCuspedCensus[3:]: ... print(M, M.volume()) ncube05_30945(0,0) 25.37354016 ncube05_30946(0,0)(0,0) 25.37354016 ncube05_30947(0,0)(0,0) 25.37354016

snappy.
DodecahedralOrientableCuspedCensus
= DodecahedralOrientableCuspedCensus without filters¶ Iterator for the dodecahedral orientable cusped hyperbolic manifolds up to 2 dodecahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic dodecahedra.
Complement of one of the dodecahedral knots by Aitchison and Rubinstein:
>>> M=DodecahedralOrientableCuspedCensus['odode02_00913'] >>> M.dehn_fill((1,0)) >>> M.fundamental_group() Generators: Relators:

snappy.
DodecahedralNonorientableCuspedCensus
= DodecahedralNonorientableCuspedCensus without filters¶ Iterator for the dodecahedral nonorientable cusped hyperbolic manifolds up to 2 dodecahedra, i.e., manifolds that admit a tessellation by regular ideal hyperbolic dodecahedra.
>>> len(DodecahedralNonorientableCuspedCensus) 4146

snappy.
IcosahedralOrientableClosedCensus
= IcosahedralOrientableClosedCensus without filters¶ Iterator for the icosahedral orientable closed hyperbolic manifolds up to 4 icosahedra, i.e., manifolds that admit a tessellation by regula finite hyperbolic icosahedra.
>>> M = IcosahedralOrientableClosedCensus[0] >>> M.volume() 4.68603427 >>> M oicocld01_00000(1,0)

snappy.
IcosahedralNonorientableClosedCensus
= IcosahedralNonorientableClosedCensus without filters¶ Iterator for the icosahedral nonorientable closed hyperbolic manifolds up to 3 icosahedra, i.e., manifolds that admit a tessellation by regular finite hyperbolic icosahedra.
>>> list(IcosahedralNonorientableClosedCensus) [nicocld02_00000(1,0)]

snappy.
CubicalOrientableClosedCensus
= CubicalOrientableClosedCensus without filters¶ Iterator for the cubical orientable closed hyperbolic manifolds up to 10 cubes, i.e., manifolds that admit a tessellation by regular finite hyperbolic cubes.
>>> len(CubicalOrientableClosedCensus) 69

snappy.
CubicalNonorientableClosedCensus
= CubicalNonorientableClosedCensus without filters¶ Iterator for the cubical nonorientable closed hyperbolic manifolds up to 10 cubes, i.e., manifolds that admit a tessellation by regular finite hyperbolic cubes.
>>> len(CubicalNonorientableClosedCensus) 93

snappy.
DodecahedralOrientableClosedCensus
= DodecahedralOrientableClosedCensus without filters¶ Iterator for the dodecahedral orientable closed hyperbolic manifolds up to 3 dodecahedra, i.e., manifolds that admit a tessellation by regular finite hyperbolic dodecahedra with a dihedral angle of 72 degrees.
The SeifertWeber space:
>>> M = DodecahedralOrientableClosedCensus(solids = 1)[1] >>> M.homology() Z/5 + Z/5 + Z/5

snappy.
DodecahedralNonorientableClosedCensus
= DodecahedralNonorientableClosedCensus without filters¶ Iterator for the dodecahedral nonorientable closed hyperbolic manifolds up to 2 dodecahedra, i.e., manifolds that admit a tessellation by regular finite hyperbolic dodecahedra with a dihedral angle of 72 degrees.
>>> DodecahedralNonorientableClosedCensus[0].volume() 22.39812948