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 non-orientable 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 non-orientable 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 non-orientable 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 non-orientable 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 non-orientable 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 non-orientable 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 Seifert-Weber space:
>>> M = DodecahedralOrientableClosedCensus(solids = 1)[-1] >>> M.homology() Z/5 + Z/5 + Z/5
- snappy.DodecahedralNonorientableClosedCensus = DodecahedralNonorientableClosedCensus without filters¶
Iterator for the dodecahedral non-orientable 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