Quick viewing(Text Mode)

Verified Computations for Closed Hyperbolic 3-Manifolds

Verified Computations for Closed Hyperbolic 3-Manifolds

Verified computations for closed hyperbolic 3-manifolds

Matthias Goerner

Abstract. Extending methods first used by Casson, we show how to verify a hyper- bolic structure on a finite triangulation of a closed 3-manifold using interval arith- metic methods. A key ingredient is a new theoretical result (akin to a theorem by Neumann-Zagier and Moser for ideal triangulations upon which HIKMOT is based) showing that there is a redundancy among the edge equations if the edges avoid “gim- bal lock”. We successfully test the algorithm on known examples such as the ori- entable closed manifolds in the Hodgson-Weeks census and the bundle census by Bell. We also tackle a previously unsolved problem and determine all knots and links with up to 14 crossings that have a hyperbolic branched double cover.

Contents

1 Introduction2

2 Hyperbolic structures on finite triangulations4

arXiv:1904.12095v2 [math.GT] 6 Jan 2021 3 Cocycles 6

4 Extending cocycles on genus 0 surfaces9

5 Extending cocycles on triangulations 12

6 Examples of (non-) lock 14

7 Algorithm 15 2

8 Results 20

9 Discussion 21

10 Appendix: The uncited theorem HIKMOT relies on 25

1 Introduction

Up to isometry, a finite hyperbolic 3-simplex is determined by its 6 edge parameters, by which we mean either the edge lengths li j or the respective entries of its vertex Gram v cosh(l ). Thus, an assignment of a parameter to each edge of a finite i j = − i j triangulation T of a closed 3-manifold determines a hyperbolic structure for each 3- simplex of T . If certain conditions are fulfilled, the hyperbolic structures on the indi- vidual simplices are compatible and form a hyperbolic structure on the manifold (see [Hea05] and Section2). Existing software (such as Casson’s Geo [Cas] and Heard’s Orb [Hea]) finds a numerical approximation for the edge parameters using Newton’s method and reports whether the necessary equations are fulfilled within an error smaller than a certain ε. This suggests but does not prove hyperbolicity. The aim of this paper is to describe how to take such a numerical approximation and rigorously prove hyperbolicity by giving real intervals that are verified to contain a solution to all the necessary equations and inequalities. An algorithm either returning such intervals or (conservatively) reporting failure is de- scribed in Section7. The algorithm is a hyperbolicity verification procedure but not a hyperbolicity decision procedure since its failure just means that the given candidate approximation was not close enough to a hyperbolic structure or needs to be perturbed to avoid “gimbal lock” (explained below). An implementation of this algorithm is avail- able at [Goe19b]. Therefore, this paper is achieving for finite triangulations what Hoff- man, Ichihara, Kashiwagi, Masai, Oishi, and Takayasu [HIK+16] did for ideal triangula- tions (HIKMOT’s functionality has been integrated into SnapPy [CDGW] by the author since version 2.3). This is motivated by applications that benefit from using geometric finite triangulations in place of geometric spun triangulation. In particular, such applications no longer need to overcome the incompleteness locus. An example is the generation of cohomol- ogy fractals for a closed hyperbolic 3-manifold. As shown in [BGSS20, Figure 8.7], the incompleteness locus produces artifacts in the raytraced image of a cohomology frac- tal which simply disappear when using finite triangulations instead. Another example is the algorithm proposed in [HHGT17] to rigorously compute the length spectrum for a hyperbolic 3-manifold. This algorithm requires tiling H3 with translates of a funda- mental domain to cover a ball of specified radius and thus would not work if there is incompleteness locus. An even more basic motivation is proving hyperbolicity of a closed 3-manifold by find- ing a triangulation admitting a geometric structure. Restricting ourselves to just spun 3 triangulations introduces a bottleneck. For example, the obvious spun triangulation of a closed census manifold such as m135(1,3) can fail to be geometric. Thus finding a geometric spun triangulation requires drilling and filling (or, in other words, finding a different closed geodesic γ such that there is a geometric triangulation spun about γ). Even worse, some hyperbolic 3-manifolds such as m007(3,1) seem to lack any geomet- ric spun triangulation unless we pass to a cover1. Note that a geometric spun trian- gulation is known for every orientable closed manifold in the SnapPy census (except for m007(3,1) where a 3-fold cover is needed), see [HIK+16]. However, the process of finding such (covers admitting) geometric spun triangulations can be tedious and is not known to be possible in general. Furthermore, passing to a cover can complicate appli- cations such as computing the length spectrum. Potential future work might generalize the techniques of this paper to Heard’s work [Hea05] on 3-orbifolds and Frigerio and Petronio’s work [FP04] on 3-manifolds with geodesic boundary. To find hyperbolic structures on these, Heard’s program Orb [Hea] uses triangulations with finite as well as ideal and “hyperinfinite” vertices. Note that some of the theory in this paper also carries over to spherical and Euclidean geometry and might generalize to yield methods for verifying spherical or Euclidean structures on finite triangulations.

Like [HIK+16], we use interval arithmetic methods such as the interval Newton method or the Krawczyk test. These methods can only show the existence of a solution to a system of equations if the Jacobian matrix is invertible near that solution. If the Jacobian fails to be invertible, these methods can only show the existence of a solution to a subset of the equations. This applies to the edge equations whether we are solving for shapes in the cusped case or for edge lengths in the closed case. Hence, in both cases, we need an additional result showing that there is a redundancy among the edge equations such that solving a suitable subset of them is sufficient. For ideal triangulations, this result is due to Neumann-Zagier [NZ85, Neu92] and Moser [Mos09] (see Appendix). For finite triangulations, we derive such a result in this paper. Note that while we actually have exactly as many variables as equations in the case of finite triangulations (namely, one per edge), the Jacobian of this system of equations has a kernel at a solution corresponding to a hyperbolic structure. This is because we can move each individual finite vertex of a triangulation in the hyperbolic manifold and obtain a whole family of solutions (see Theorem 9.4). Thus, we need to use a two-step strategy to verify a hyperbolic structure: First, we drop some edge equations and fix an equal number of edge parameters such that we can apply interval arithmetic methods to find intervals verified to contain a solution to the subsystem of equations we kept. Next, we show that this solution is also a solution to the equations we dropped earlier and thus that the intervals for the edge parameters contain a point giving a hyperbolic structure. Interval arithmetic can verify that the error of the dropped equations is small and we will show that if the dropped equations are fulfilled approximately, then they are fulfilled exactly provided that a certain condition we call “gimbal lock” is avoided.

1In not yet published work, Maria Trnkova has proven that there is no geometric spun triangulation of m007(3,1) with a small number of tetrahedra. 4

To define gimbal lock, we will look at the complex of doubly-truncated simplices asso- ciated to the triangulation and an assignment of PGL2(C)-matrices to the edges of the complex computed from the edge parameters (see Section3). The cocycle condition says that the matrices on the edges of a polygon must multiply to the identity. Since a subset of the edge equations is known to be fulfilled, the cocycle condition is known to hold for some polygons but not necessarily for others. The goal is to show that it holds for all polygons so that we get a PGL2(C)-representation of the fundamental group (see Section4 and5 and examples in Section6). Roughly speaking, the idea is that if the product of three small about three axes in generic position is the identity, then each must be the identity. Inspired by the mechanical device called gimbal (see Figure8), we say that we avoid “gimbal lock”: if a gimbal is not in its locked posi- tion, then we can apply any small rotation to the inner-most ring, or equivalently, if we fix the inner-most ring, none of the other rings can be turned. We describe the resulting algorithm to obtain real intervals in Section7. The algorithm is effective and able to verify a hyperbolic structure on all 36093 closed orientable man- ifolds in the Hodgson-Weeks census [HW94] and in the census bundle by Bell [Bel15], see Section8. Branched double covers of knots or links (or more precisely: double cov- ers of S3 branched over a knot or link) provide a good class of test cases since finding a geometric spun-triangulation of some of them can be challenging. Using finite triangu- lations instead, we are able to prove the following new result:

Theorem 1.1. Out of the 313230 knots with up to 15 crossings (not including the un- knot), exactly 193839 have a hyperbolic branched double cover. Out of the 120573 links with up to 14 crossings (with at least two components), exactly 37709 have a hyperbolic branched double cover.

Section9 concludes with a conjecture that implies that a hyperbolic structure on a finite triangulation can always be perturbed so that the algorithm can verify it. The appendix in Section10 points out a gap in the argument (but not the algorithm) of the HIKMOT paper.

Acknowledgements

The author wishes to thank Marc Culler, Nathan Dunfield, Damian Heard, Neil Hoff- man, and Christian Zickert for helpful discussions. Special thanks goes to Nathan Dun- field for finding some mistakes and providing some of the examples and some Python scripts for Regina.

2 Hyperbolic structures on finite triangulations

Consider the isometry class of a positively oriented, finite geodesic simplex ∆ with ver- tices labeled 0,...,3 in H3. We briefly review the relationship of the edge lengths and 5 the angles of ∆ following [Hea05] with one difference though: we use a slightly simpler definition for the vertex Gram matrix G where all diagonal entries are 1 since we are − not interested in generalized simplices here. To be consistent with the vertex labels, we 0-index the rows and columns of a matrix (so m00 denotes the top left-most entry).

3 3 β132 1 1 γ123

l01 α123

θ13 η0,12 0 2 0 2 Figure 1. Angles of simplex. Figure 2. A doubly trun- Figure 3. A prism. cated simplex ∆, also known as permutahedron.

Let li j denote the length of the edge between vertex i and j. The vertex Gram matrix G associated to the simplex is the symmetric 4 4-matrix with entries × v cosh(l ). i j = − i j The edge lengths as well as the vertex Gram matrix uniquely determine the isometry class of the simplex. Let ci j denote the respective cofactor of G which is given by

i j c ( 1) + det(G ), i j = − i j where Gi j is obtained by deleting the i-th row and j-th column. The dihedral angle between face i and j and the angle at vertex i of the triangle i jk (derived from the law of cosines) are then given by (also see Figure1):   µ c ¶ v v v i j  i j ik + jk  θi j arccos and ηi,jk arccosq q . (2.1) = pcii c j j = v2 1 v2 1 i j − ik −

Definition 2.1. Let G be a real symmetric 4 4-matrix with 1 on the diagonal. We × − say that G is realized if G is the vertex Gram matrix of some finite, non-flat simplex.

The following theorem is a special case of [Hea05, Theorem 1.5] (also compare to [Rat94, Theorem 7.2.2]): 6 Lemma 2.2. G is realized if and only if

(a) G has one negative and three positive eigenvalues (which is equivalent to the characteristic polynomial p (x) det(xI G) x4 4x3 a x2 a x a having G = − = + + 2 + 1 + 0 coefficients a 0, a 0, a 0 by the Budan-Fourier theorem [BPcR06]), 2 < 1 > 0 < (b) c 0 for all i, and ii < (c) c2 c c for all i and j, i j < ii j j

where ci j denotes the respective cofactor of G.

Let T be an oriented, finite 3-dimensional triangulation (i.e., all vertex links are 2- spheres) and let E(T ) denote the set of edges of T . Assume we have an assignment of a length l 0, or equivalently, a parameter ν 1 to each e E(T ) where the two e > e < − ∈ are related by the formula ν cosh(l ). This induces a symmetric 4 4-matrix G for e = − e × ∆ each simplex ∆ of T where v 1 and v ν if i j and the edge of ∆ from vertex i ii = − i j = e 6= to j is incident to e. Let Θe denote the sum of all dihedral angles θi j incident to the edge e of T . We can now use [Hea05, Lemma 2.4] to check whether this assignment yields a hyperbolic structure on T :

Theorem 2.3. An assignment of a parameter ν 1 to each edge e of an oriented, e < − finite triangulation T induces a hyperbolic structure on T if

(a) each matrix G∆ is realized (i.e., fulfills the conditions of Lemma 2.2) and

(b) Θ 2π for every e E(T ). e = ∈

3 Cocycles

We will describe how to compute a representation2 π (T ) PGL (C) from an assign- 1 → 2 ment of parameters νe as in Theorem 2.3 using cocycles inspired by [GGZ15, Section 9] as follows:

Definition 3.1. Let G be a group and X be a space with a polyhedral decomposition. A G -cocycle on X is an assignment of elements in G to the oriented edges of X such that the product around each face is the identity and such that reversing the orientation of an edge replaces the labeling by its inverse.

All cocycles in this section are PGL2(C)-cocycles. Given a matrix G fulfilling the conditions in Lemma 2.2, we will construct a cocycle on the doubly truncated simplex ∆ coming from a simplex ∆, see Figure2. We index a ver- tex v of ∆ by the permutation σ S such that the vertex of ∆ closest to v is σ(0), the ∈ 4 2For consistency on how arrows in a category compose, the loop traversing the loop a first and the loop b second is denoted by ba in π1(T ). 7

action by γ012 ∆ in (0,1,2,3)-standard position ∆ in (0,1,3,2)-standard position action by γ013 2 H 1 1 3 z 3 y γ012 x 0 0 γ013 j 2 j 2 H3 i 1

Figure 4. A simplex in different standard positions. edge of ∆ closest to v is σ(0)σ(1), and the face of ∆ closest to v is σ(0)σ(1)σ(2). We la- bel an oriented long, middle, or short edge of ∆ by ασ(0)σ(1)σ(2),βσ(0)σ(1)σ(2), respectively γσ(0)σ(1)σ(2) if it starts at the vertex indexed by σ. Let us introduce the notion of standard position to define the PGL2(C)-matrices assigned to these edges. We think of the upper half space model of hyperbolic 3-space as a subset H3 {w 3 = = z t  : t 0} of the . Recall that Isom+(H ) ∼ PGL2(C) ∼ PSL2(C) where the + > 3 = = action of a SL2(C)-matrix on H is given by µ ¶ a b ¡ 1¢ w (aw b) (cw d)− . c d 7→ 7→ + · +

Definition 3.2. We say that a positively oriented, finite simplex ∆ is in σ-standard position where σ S if vertex ∈ 4 • σ(0) is at ,

• σ(1) at t  with t 1, > • σ(2) at a t  with a 0 and + > • σ(3) at z t  with Im(z) 0 if σ is even and Im(z) 0 otherwise. + > <

An example of this is shown in Figure4. Geometrically, the motivation for this definition is that two faces of two (not necessarily distinct) simplices line up in H3 if the respective edge lengths match and the two simplices are in the respective standard positions. More precisely, let f {0,1,2,3} be a face of the simplex ∆ and f {0,1,2,3} of ∆ . Let σ 1 ∈ 1 2 ∈ 2 ∈ S \ A with σ(f ) f be a pairing of the two faces. If the edge lengths match under 4 4 1 = 2 this pairing, then the faces match if each ∆k is in σk -standard position where σ1 is any permutation with σ (3) f and σ σ σ . 1 = 1 2 = ◦ 1 8

This definition also gives us a cocycle as follows (also see Figure4):

Definition 3.3. Consider the isometry class of a finite simplex ∆. Given an oriented edge e of ∆, let σ and σ0 be the permutations that index the vertex where e starts and, respectively, ends. The natural cocycle on ∆ is the cocycle assigning to each edge e the PGL2(C)-matrix taking ∆ from σ-standard position to σ0-standard position.

Note that we can identify Euclidean 3-vector space isometrically with the tangent space of a point in H3 such that the tangents corresponding to the x-, y-, and z-axis are parallel to the real line, the imaginary line, respectively, the line t  (see Figure4). Thus, we can 3 3 associate a SO3-matrix to an element in Isom+(H ) fixing a (finite) point of H . Let  cosω sinω 0  − Rω  sinω cosω 0  = 0 0 1 be the rotation about the z-axis by the angle ω.

Lemma 3.4. The natural cocycle on ∆ can be computed from the vertex Gram matrix G as follows (apply even permutations σ A to obtain labels for all edges): ∈ 4

à q 2 ! 120 210 123 213 0 v 1 v α α α α 12 − − 12 , = = = = 1 0

µ cos(η /2) sin(η /2) ¶ β123 β132 − 1,32 1,32 , = = sin(η1,32/2) cos(η1,32/2) µ ¶ 123 ¡ 120¢ 1 210 213 1 exp(ıθ03) 0 γ γ − γ (γ )− . = = = = 0 1 Note that β123 and γ123 fix the point  H3 and the associated SO -matrices are: ∈ 3  cosη 0 sinη  − 1,32 1,32  0 1 0  and R . − θ03 sinη1,32 0 cosη1,32

120 1 Proof. α is an involution exchanging the points  and exp(l12). The associated CP - automorphism is of the form z x/z and exchanges 1 and exp(l ). An elementary 7→ 12 calculation gives the value for x. Consider the hyperbolic plane H2 {x t  : x R,t 0} H3. β123 is the composition 2 = + ∈ > ⊂ of the rotation of H about  by η1,32 with the involution fixing the line t  pointwise. 2 We obtain the PSL2(R)-matrix for the rotation of H by conjugating the rotation of the unit disk by η1,32 with the matrix taking the upper half plane model to the Poincare disk model of hyperbolic 2-space: µ ¶ 1 µ ¶ µ ¶ ı 1 − exp(ıη1,32/2) 0 ı 1 1 ı · 0 exp( ıη /2) · 1 ı − 1,32 9

Given an oriented triangulation T , let T be the complex obtained by replacing each simplex ∆ by the double truncated simplex ∆. The long and short edges of T about an edge e of T form a prism, see Figure3. Given an assignment of edge parameters ν for T , this prism about an edge e E(T ) is a cocycle if and only if the short edges e ∈ compose to the identity, which is equivalent to Θe being a multiple of 2π. Let Tˆ denote the complex T Prisms. ∪ Theorem 3.5. Consider an assignment of a parameter ν 1 to each edge of an ori- e < − ented, finite triangulation T .

(a) If each matrix G∆ is realized, we obtain a natural cocycle on T and, thus, a rep- resentation π (T ) PGL (C) (up to conjugation, unless we pick a vertex of T 1 → 2 as basepoint).

(b) If, furthermore, Θ is a multiple of 2π for every e E(T ), the cocycle extends to e ∈ Tˆ and, thus, yields a representation of π (T ) PGL (C). 1 → 2 (c) If, furthermore, Θ 2π for every e E(T ), the representation is giving a hyper- e = ∈ bolic structure on T .

Proof. Note that α and β in Lemma 3.4 are involutions and only involve the parameters vi j on the edges of the triangle containing the respective α and β. Hence, the matri- ces on two big hexagons on two doubly-truncated simplices are compatible and the hexagons can be identified if the edge parameters on the respective triangles of the cor- responding tetrahedra match. This proves (a). (b) follows from the above comment about the prisms being cocycles and the fact that Tˆ differs from T only by a set of 3-balls which do not change π1. (c) is just restating Theorem 2.3.

4 Extending cocycles on genus 0 surfaces

Let us define a punctured topological polyhedron which we will use as model for a “ver- tex link” of Tˆ when removing some prisms.

Definition 4.1. Let L be a topological polyhedron, i.e., a decomposition of an oriented 2-sphere into polygons. Let P ,...,P be selected two-cells of L such that ∂P ∂P 1 p i ∩ j 6= ; for all i j. We call (L,L \ SP ) a punctured topological polyhedron. 6= l S The complex L \ Pl will often be equipped with the following kind of cocycle.

Definition 4.2. Let X be a surface with boundary and with a decomposition into poly- gons. A (SO3,SO2)-cocycle on X is a SO3-cocycle where edges in the boundary ∂X are labeled by rotations R Im(SO , SO ) about the z-axis. ω ∈ 2 → 3 10 S The goal of this section is to give a criterion when such a cocycle on L \ Pl extends to a SO3-cocycle on L.

Definition 4.3. Let X be a 2-complex. An edge-loop Γ is a word in the oriented edges of X such that the end of one edge coincides with start of the next edge (when reading the word from right to left and cyclically).

Note that by parametrizing the oriented edges of X and concatenating them in the order given by Γ, we obtain a geometric realization of Γ that is a (based) topological loop in X . Also note that a G -cocycle on X assigns a value in G to an edge-loop Γ obtained by multiplying the labels of the oriented edges in the respective order. The value assigned to Γ depends only on the homotopy type of (the geometric realization of) Γ and, in particular, is trivial if the loop is contractible in X .

S Definition 4.4. Let (L,L \ Pl ) be a punctured topological polyhedron. A gimbal loop Γ is a word in the oriented edges of L and the selected two cells P1,...,Pp such that

• each P1,...,Pp is contained in Γ exactly once,

• each Pl in Γ is preceeded (when reading the word from right to left and cycli- cally) by an edge e j such that the endpoint of e j is a vertex of ∂Pl , and

• dropping all P1,...,Pp from Γ results in an edge loop. This edge loop bounds S S a disk in L \ Pl . The interior of the disk embeds into L \ Pl matching the orientation of L.

Example 4.5. Figure5 shows an example of a gimbal loop Γ for p 3. The corresponding = word is e6P2e5e4P1e3e2P3e1.

e9

e8 e10 P3 P3

e11 e3 e2 e12 e7

P1 e4 e1 P1

e13 e19 e6 e14 e5 e e18 15 P2 P2

e17 e16

Figure 5. The edge loop obtained when Figure 6. The edge loop obtained when dropping the Pl from a gimbal loop Γ. replacing Pl by ∂Pl in a gimbal loop Γ. 11 S Definition 4.6. Let (L,L \ Pl ) be a punctured topological polyhedron and Γ be a S gimbal loop. Fix a (SO3,SO2)-cocycle on L \ Pl . Assume we are given numbers (d1,...,dp ). Recall that the cocycle assigns a SO3-matrix to every edge in Γ. Assign to each P in Γ the rotation R Im(SO , SO ). We call the product of the matrices l dl ∈ 2 → 3 assigned to the letters in Γ the gimbal matrix mΓ(d1,...,dp ). Furthermore, we call the function

g : Rp R3,(d ,...,d ) ¡m (d ,...,d ) ,m (d ,...,d ) ,m (d ,...,d ) ¢ Γ → 1 p 7→ Γ 1 p 01 Γ 1 p 02 Γ 1 p 12 assigning the upper triangular entries of the gimbal matrix the gimbal function.

Recall that a (SO ,SO )-cocycle on L \ SP assigns a rotation R Im(SO , SO ) to 3 2 l ω ∈ 2 → 3 each edge in ∂P (with orientation induced from the orientation of P L) where we pick l l ⊂ ω ( π,π]. Let δl denote the sum of all the angles ω over the edges of ∂Pl . For example, ∈ − 1 δ2 in Figure5 is the sum of the angles ω associated to the edges e6− ,e19,e18,e17,e16, and e15.

Lemma 4.7. Using the same setup as in Definition 4.6, we have g (2π,...,2π) Γ = g (δ ,...,δ ) (0,0,0). Γ 1 p = Proof. Assume each d 2π. Then each R is the identity and thus can be dropped l = dl from the gimbal matrix mΓ(2π,...,2π). Thus the gimbal matrix is equal to the matrix the cocycle assigns to the edge loop obtained when dropping the Pi . This edge loop is contractible. Thus the gimbal matrix is the identity and g (2π,...,2π) (0,0,0). Γ = The gimbal loop Γ can also be turned into an edge loop by replacing each Pl in Γ by a word in the oriented edges in ∂Pl . Here we use the orientation of ∂Pl induced from the P L and start traversing ∂P at the endpoint of the preceding edge. Figure6 shows l ⊂ l this edge loop for Example 4.5. The corresponding word is:

1 1 1 e6(e6− e19e18e17e16e15)e5e4(e4− e14e13e12e11)e3e2(e2− e10e9e8e7)e1.

Note that by definition of δl , the matrix assigned to this edge loop by the cocycle is equal to the gimbal matrix mΓ(δ1,...,δp ). This edge loop is again contractible and thus g (δ ,...,δ ) (0,0,0). To see that the edge loop is contractible, note that a genus 0 sur- Γ 1 p = face with p boundary components can be obtained by attaching a 2-cell to a 1-complex consisting of p loops and p arcs connecting the loops to common base point. The edge looped can be homotoped into this form since it bounds a disk with interior embedding into L \ P , see Figure7. ∪ l Let Dg : Rp M(3 p,R) denote the Jacobian of g and [Dg (K )] be the interval closure Γ → × Γ Γ of DgΓ(K ), i.e., the smallest (axis-aligned) closed box containing DgΓ(K ) when thinking of the matrix space M(3 p,R) as R3p . We say that [Dg (K )] is invertible if every matrix × Γ in [DgΓ(K )] is invertible.

Definition 4.8. Using the same setup as in Definition 4.6, let K Rp be a box. We say ⊂ that K avoids gimbal lock with respect to Γ if [DgΓ(K )] is invertible. 12

P3

P1

P2

Figure 7. Homotoping the edge loop ob- tained from gimbal loop Γ such that it Figure 8. A gimbal. bounds a disk.

Remark 4.9. The term gimbal lock is inspired by the mechanical device called gimbal or Cardan suspension used to achieve an arbitrary rotation in SO3, see Figure8. Letting d1,d2 and d3 denote the at the joints from the grounding boxes to the inner- most ring, the rotation achieved by the gimbal is given by the matrix

³ 1 ´ ³ 1 ´ (d1,d2,d3) Rd 1 − Rd 1 Rd 7→ 1 1 2 1 3 − and a configuration of (d1,d2,d3) where this map does not have full rank is known as gimbal lock. Note the formal similarity of this product to the gimbal matrix mΓ(d1,...,dp ). The following lemma is not useful in the general setting, but illustrates the principle we will use later (also see Example 6.1):

Lemma 4.10. Using the same setup as in Definition 4.6, let K Rp be a box avoiding ⊂ gimbal lock with respect to Γ such that (2π,...,2π) K . If (δ ,...,δ ) K , then all ∈ 1 p ∈ δ 2π and the cocycle extends to L. l =

Proof. A standard result about the interval Newton method says that gΓ is injective on K since [Dg (K )] is invertible. Thus, Lemma 4.7 implies that δ 2π. Γ l =

5 Extending cocycles on triangulations

Let T be a triangulation with an assignment of edge parameters ν 1 such that each e < − G is realized (i.e., fulfills the conditions of Lemma 2.2). Let E ∼ E = E(T ) be a parti- ∆ ∪ = tion of the edges into two disjoint sets where E ∼ 3o with o V (T ) being the num- | | = = | | ber of vertices of T . Assume that we know that Θ 2π for every edge e E =, but we e = ∈ 13

301 β∆ i0 302 γ∆ i0 310 e∼j γ 013 ∆i 321 β 0 ∆i γ∆ i0 012 012 021 103 γ∆ α∆ γ i β∆ i 102 ∆i 031 i β γ ∆i 132 ∆i γ ∆i 023 γ∆ i γ120 β123 ∆i ∆i

Figure 9. Gimbal loops for two “vertex links” (only some part of each is shown). The thick line is the edge in the triangulation.

only know that Θ is close to 2π for e E ∼. Thus, the PGL (C)-cocycle in Theorem 3.5 e ∈ 2 might only extend to Tˆ = Tˆ \ Prisms(E ∼), the complex where the prisms (including = the top and bottom face) about the edges in E ∼ have been removed. The goal of this section is to give a criterion that forces Θ 2π for all e E(T ), so that the conclusions e = ∈ of Theorem 3.5 apply and the edge parameters νe yield a hyperbolic structure for T . Let V (T ) {v ,...,v } be the vertices of T . If we drop all all α-edges and all 2- and = 1 o 3-cells adjacent to any α-edge from Tˆ , the remaining complex has a connected com- ponent for each vertex vk . We call such a connected component the “vertex link” of vk and denote it by Lk . Starting with Tˆ = instead of Tˆ , we similarly obtain a subcom- plex L=k Lk for each vk . Note that (Lk ,L=k ) is a punctured topological polyhedron as in ⊂ ˆ Definition 4.1 and the SO3-cocycle on T = descends to a (SO3,SO2)-cocycle on each L=k formed by the β- and γ-edges. Let us fix a gimbal loop Γk for each (Lk ,L=k ), giving us gimbal functions g1,...,go as in Definition 4.6.

Let us label the edges in E ∼ {e1∼,...,e3∼o} and E = {e1=,...,em= 3o}. We again want to = = − construct a gimbal function, but this time in one variable T per edge e∼ E ∼ instead j j ∈ of a variable d per removed polygon as in Section4. Note that each edge e∼ E ∼ k,l j ∈ corresponds to two polygons Pk,l and Pk0,l 0 that have been removed (from the “vertex ˆ links” Lk and Lk in T ) to obtain L= and L= (with k and k0 not necessarily distinct), see 0 k k0 Figure9. We obtain a gimbal function in ( T ,...,T ) for each vertex by setting d 1 3o k,l = d T in Definition 4.6. We combine these gimbal functions into a single one: k0,l 0 = j

Definition 5.1. Let T be a triangulation with an assignment of edge parameters ν e < 1 such that each G fulfills the conditions of Lemma 2.2. Let E ∼ {e∼,...,e∼ } and − ∆ = 1 3o E = {e=,...,e= } be a partition of E(T ) and fix gimbal loops Γ ,...,Γ . The gimbal = 1 m 3o 1 o function is given− by

g : R3o R3o,(T ,...,T ) ¡g (d ,...,d ),...,g (d ,...,d )¢. → 1 3o 7→ 1 1,1 1,p1 o o,1 o,po A box K Rq avoids gimbal lock if [Dg(K )] is invertible. ⊂ 14

Note that the orientation on (Lk ,L=k ) in the above definitions must be chosen such that σ(0)σ(1)σ(2) the boundary of a small hexagon in (L ,L=) contains a γ for σ A . k k ∈ 4 Example 5.2. Figure9 shows examples of gimbal loops for two “vertex links” of Tˆ =. The corresponding gimbal matrices would be given by

γ031 β013 R γ012 β021 and γ103 γ310 R β301 γ302 . ∆i ∆i T j ∆i ∆i ∆i ∆ T j ∆ ∆ ··· · · · · ··· ··· · i0 · · i0 · i0 ··· The gimbal function g for the triangulation is obtained by taking the upper triangular entries of the gimbal matrix for each vertex.

3o Theorem 5.3. Let T , ν , E ∼ and E =, Γ ,...,Γ and g be as in Definition 5.1. Let K R e 1 o ⊂ be a box avoiding gimbal lock such that (2π,...,2π) K . If ∈

(a) (Θe ,...,Θe ) K and 1∼ 3∼o ∈ (b) Θ Θ 2π e1= em= 3o = ··· = − = then Θ 2π for all e E(T ), so the edge parameters ν yield a hyperbolic structure e = ∈ e on T .

Proof. By applying Lemma 4.7 to each vertex v1,...,vo, we see that

g(2π,...,2π) g(0,...,0) (0,...,0). = =

Hence, the proof from Lemma 4.10 applies here as well and we have Θe Θe 1∼ = ··· = 3∼o = 2π. Therefore, all conditions of Theorem 3.5 are fulfilled.

6 Examples of (non-)gimbal lock

This section is giving examples where the condition Θ 2π from Theorem 2.3 is known e = to be fulfilled for most but not all edges. Let T be a finite, orientable triangulation with o vertices and m edges. We partition the edges as E ∼ {e1∼,...,el∼} and E = {e1=,...,em= l } = = − depending on whether we know that Θe is close to or, respectively, exactly equal to 2π. Geometrically, this yields a singular hyperbolic structure with cone singularities along the edges with Θe 2π. Looking at a vertex v connected to such an edge, its neighbor- i∼ 6= hood is the hyperbolic cone of its link which is S2 topologically but has a spherical cone structure different from the standard S2. In this section, we extend Definition 5.1 to the case where l E ∼ might not be 3o and say that gimbal lock is avoided if Dg has no = | | kernel.

Example 6.1. Consider the case l 1 with e∼ connecting two distinct vertices v and = 1 1 v2. Assume Θe 2π. The links of v1 and v2 would have a spherical cone structure 1∼ 6= with exactly one singularity. These do not exist, so Θ 2π. This also follows from e0 = Lemma 4.10. 15

Example 6.2 (Gimbal lock). Let us start with a (non-singular) hyperbolic structure on T such that the edges e1∼,...,el∼ form a simple closed geodesic. Such a hyperbolic structure can often be deformed so that the geodesic becomes a cone singularity3, i.e., such that Θe Θe are close but not equal to 2π. Note that the spherical structure of the link 1∼ = ··· = l∼ of a vertex vi connected to ei∼ and ei∼ 1 gets deformed to have two conical singularities at antipodal points with equal cone+ angle. In the language of cocycles, pick a gimbal loop Γi for vi as in Definition 4.4 such that the associated gimbal matrix is of the form

Y Y 1 − mΓi RΘe RΘe RΘe R Θe (6.1) i∼ 1 i∼ 1 1 i∼ − i∼ 1 = · · + · = + where Q SO is a rotation by π about an axis orthogonal to z. Then m Id whenever 1 ∈ 3 Γi = Θe Θe , so Dg has a non-trivial kernel. If we add edges to E ∼ such that E ∼ 3o, i∼ = i∼ 1 | | = Dg still has+ a non-trivial kernel, so we have gimbal lock and thus not a contradiction to Theorem 5.3. Example 6.3 (Perturbing previous example to avoid gimbal lock). Consider the situation in the previous example but move one vertex, say v1, slightly. Assume Θe 2π. The 1∼ 6= link of v1 would be a spherical cone structure with exactly two cone singularities having distance π (when scaling such that the curvature is 1). Such a cone structure does < Q not exist [MP16, Corollary 3.5]. In the language of cocycles, 1 in Equation 6.1 is now a rotation by an angle strictly between 0 and π, so mΓ1 is the product of two rotations about two different axes and thus only the identity when Θe Θe 2π. In fact, this l∼ = 1∼ = forces Θe Θe 2π. 1∼ = ··· = l∼ = Example 6.4 (A non-hyperbolic manifold fulfilling all but six edge equations). Consider the two tetrahedron triangulation of S3 obtained by identifying the boundary of the first tetrahedron with the boundary of the second tetrahedron via the identity map. Assign the same length to all edges such that each tetrahedron has a hyperbolic structure in- dividually but all of the six edges equations are violated. Perform several 1-4 moves on one or both of the tetrahedra preserving the hyperbolic structure on each tetrahedron. This gives an example of a non-hyperbolic manifold where more than m 3o but not all − edge equations are fulfilled. Compare this to the ideal case where Neumann-Zagier (see Appendix) state that all edge equations must be fulfilled whenever m o are fulfilled. − We give a characterization of gimbal lock in 1-vertex triangulations later in Theorem 9.5.

7 Algorithm

7.1 Overview

Let T be an oriented, finite 3-dimensional triangulation. Let o V (T ) be the number = of vertices and index the edges E(T ) {e ,...,e }. Assume we are given floating-point = 1 m 3For example, Manifold("m003(-3.3,1.1)") in SnapPy gives a geometric spun triangulation for the singular hyperbolic structure on the closed Weeks manifold m003(-3,1) with cone angle 2π/1.1. 16 approximations for the edge parameters νe1 ,...,νem such that the Θe1 ,...,Θem are ap- proximately 2π (e.g, using the program Orb [Hea] based on the methods described in [Hea05, Section 2.2]).

We will either fail in one of the steps or obtain intervals νe1 ,...,νem guaranteed to con- tain values for νe1 ,...,νem yielding a hyperbolic structure on T as follows:

I. Find a subsystem of equations of full rank: Since the given approximations for the edge parameters are close to a hyperbolic structure, evaluating the Jacobian

µ ¶ ∂Θe j M (7.1) = ∂νei i 1,...,m;j 1,...,m = = gives a matrix close to a singular matrix that we expect to have rank m 3o (see − Conjecture 9.1). Pick a suitable set of m 3o rows and columns such that the − resulting submatrix of M has full rank. This corresponds to picking two partitions of the edges of T

E(T ) E ∼ E = with E ∼ {e1∼,...,e3∼o}, E = {e1=,...,em= 3o} fixed= ∪ var fixed= fixed fixed= var var− var E(T ) E E with E {e1 ,...,e3o }, E {e1 ,...,em 3o} = ∪ = = − such that à ∂Θ ! e=j M 0 = ∂νevar i i 1,...,m 3o;j 1,...,m 3o = − = − has full rank near the given values. Keep the values of ν fixed fixed from now on. ei II. Find an interval solution to the above subsystem of equations: Using interval Newton method or Krawczyk test, find large enough intervals

ν var ,...,ν var e1 em 3o − var for the edges in E such that they contain a point where Θe 2π for every =j = e= E =. To have intervals ν ,...,ν for all edges of the triangulation, simply use j ∈ e1 em the interval [ν fixed ,ν fixed ] containing only the fixed value ν fixed for each remaining ei ei ei edge efixed E fixed. i ∈ III. Ensure solutions are valid for a simplex: Using the intervals for each edge, use interval arithmetic to verify the conditions of Lemma 2.2 for each simplex ∆.

IV. Ensure that the remaining edge equations are “approximately” fulfilled: Use these intervals to compute intervals Θ ,...,Θ for the sums of dihedral an- e1∼ e3∼o

gles adjacent to an edge in E ∼ to ensure that 2π Θe for every such edge. ∈ ∼j 17

V. Ensure that the remaining edge equations are fulfilled exactly: Find a gimbal loop Γ1,...,Γo for each vertex and consider the resulting gimbal function g. Ensure that K Θe Θe avoids gimbal lock for the intervals = 1∼ × ··· × 3∼o computed in the previous step using interval arithmetics.

7.2 Computing the Jacobian

Note that the formulas given in [Hea05, Lemma 2.5] for the derivatives ∂θi j /∂vmn (where v v ) run into a division by zero when θ π/2. To obtain formulas avoiding this mn = nm i j = problem, we take the total derivative of Equation 2.1 µ ¶ ∂θi j 1 ∂ci j ci j ∂cii ci j ∂c j j q − ∂vmn = c c c2 ∂vmn − 2cii · ∂vmn − 2c j j · ∂vmn ii j j − i j

k l and note that each ∂c /∂v ( 1) + ∂(detG )/∂v is, up to sign, the sum of at most kl mn = − kl mn two cofactors of G , namely, the ones corresponding to the 2 2-matrices that can be kl × obtained by deleting from Gkl the row and column corresponding to row m or n and column n, respectively, m of G. Using this, we can compute the Jacobian M in (7.1) using floating point (in StepI), re- spectively, interval arithmetics (in StepII) avoiding the need for automatic differentia- tion.

7.3 StepI: Finding a submatrix of full rank

This step is necessary since interval methods (e.g., interval Newton method or Krawczyk test) only work for systems with invertible Jacobian. To obtain a subsystem of full rank, we apply the following algorithm to M with h m 3o: = − 18

Input: Square-matrix M (m ) with expected rank h. = r,c Output: Sets R and S of indices of h rows, respectively, h columns. The submatrix M 0 of M formed by these rows and columns will have full rank. Algorithm:

1. R {}. C {}. ← ← 2. Repeat h times:

1. Let (r,c) be the index of the entry mr,c in M with the largest absolute value when ignoring the rows in R and columns in C. 2. Add multiples of row r to all other rows of M to make all en- tries except for mr,c in column c zero. 3. Add multiples of column c to all other columns of M to make all entries except for mr,c in row r zero. 4. R R {r }. C C {c}. ← ∪ ← ∪

Remark 7.1. Note that the algorithm has the following stability properties:

(a) We obtain the same set of rows and columns of M when permuting the rows or columns of the input matrix M, i.e., the result is obtained by applying the same permutation to R, respectively, C — unless there are ties in Step 2.1.

(b) Transposing M results in interchanging R and C.

Remark 7.2. This algorithm is a simplified version of LDU-factorization with full piv- oting, i.e., a decomposition M PLDUP 0 where P and P 0 are permutation matrices, L = and U unit-lower, respectively, unit-upper triangular matrices and D a diagonal matrix.

7.4 StepII

This step is a straightforward application of the interval Newton method or Krawczyk var test to the equations Θe= 2π 0 in variables νe (keeping νefixed fixed). Note that even j − = i i for high precision solutions, computing the approximate inverse in the Krawczyk test using IEEE754 double-precision floating point numbers is usually sufficient. If we are interested in increasing the precision of the solution, we can optionally per- form the ordinary Newton method to the subsystem from StepI before StepII.

7.5 Steps III andIV

These conditions are straightforward to check with interval arithmetics given the com- ment about the Budan-Fourier theorem in Lemma 2.2. 19 7.6 StepV: Finding gimbal loops

We need to pick a gimbal loop Γk in each “vertex link” (Lk ,L=k ). Note that this com- plex consists of the small hexagons (with alternating β- and γ-edges) of the doubly- truncated simplices (see Figure2) and polygons coming from the ends of the prisms

(see Figure3 and9). For a vertex vk , pick a hexagon in L=k , mark it as “used” and starting with its boundary (oriented such that it traverses a γσ(0)σ(1)σ(2) with σ A ), expand this ∈ 4 edge-loop until it touches each boundary component of L=k as follows: pick a β-edge of the edge-loop that is adjacent to an unused hexagon H and replace the β-edge by the five other edges of H, marking H as “used” (see Figure10). It is faster to exhaust all β- edges of one hexagon first in breadth-first search manner (vs depth-first search) before moving on to the next hexagon.

u u u u u u u u u u u u u u

Figure 10. Procedure to find a gimbal loop Γ.

7.7 StepV: Computing the gimbal function’s derivative

We then need to compute [Dg(K )] which boils down to computing the derivatives ∂mΓk /∂Ti of the gimbal matrices mΓk associated to the gimbal loops Γk . Focusing on one i and k, note that mΓk is given by an alternating product the form Y Y Y Y R R R 1 · Ti · 2 · Ti · 3 · Ti ··· q Q where k stands for a product of β- and γ-matrices and rotations RT with i 0 i (q is i0 6= actually at most three since an edge of T has two ends which might or might not end in the same vertex). We can then compute the derivative as

∂mΓk Y Y Y Y R0 R R 1 Ti 2 Ti 3 Ti q ∂Ti = · · · · ··· · + ···  sinω cosω  Y Y Y Y − − RT RT R0 where R0  cosω sinω . + 1 · i · 2 · i · 3 ··· Ti · q ω = − 0

We need to evaluate this using the intervals from StepII for the β- and γ-matrices and the intervals Θe ,...,Θe from StepIV for R0 and all the RT . 1∼ 3∼o Ti j 20 7.8 StepV: Verifying invertibility

To show that a square matrix m with real interval entries is invertible (in the sense used in Definition 4.8 and 5.1), we can find an approximate inverse n (usually IEEE754- double precision is sufficient) and verify that each entry of mn Id has absolute value − strictly less than 1/r 2 where r is the number of rows.

8 Results

Our implementation of the algorithm in Section7 is available at [Goe19b]. Lists of all knots and links from Theorem 1.1 as well as the isomorphism signatures of the finite triangulations we used are available at [Goe19a]. To produce the input to the algorithm, we used SnapPy [CDGW] to produce a finite tri- angulation of a manifold and Orb [Hea] to find unverified floating point edge parame- ters. Note that there are finite triangulations that admit hyperbolic structures but Orb is unable to find one. However, for all examples of hyperbolic manifolds considered here, we are always able to make Orb succeed in finding edge parameters by randomizing the finite triangulation in SnapPy several times. We were able to verify a hyperbolic structure on a finite triangulation of each of the 11031 orientable closed manifolds in the Hodgson-Weeks census [HW94] and the 21962 genus 2 surface bundles and 3100 genus 3 surface bundles in the census by Bell [Bel15]. In particular, we have an independent proof of [HIK+16, Theorem 5.2] that all manifolds in SnapPy’s OrientableClosedCensus are hyperbolic. To prove Theorem 1.1, we went through all knots and links up to 15, respectively, 14 crossings tabulated by Hoste-Thistlethwaite4 and used SnapPy to produce the branched double cover. We either used the above method to prove that the resulting manifold is hyperbolic or used Regina [Bur18] to prove that it is not hyperbolic by

• finding the triangulation in Regina’s census or

• recognizing that the triangulation has a structure fitting one of Regina’s StandardTriangulation’s making it, e.g., a Seifert fiber space, or

• finding an essential torus using normal surface theory.

Note that the first two methods sometimes require some randomizations and simpli- fications of the triangulation in SnapPy to work and that the last method can be quite expensive. The number of tetrahedra in the triangulations used to prove hyperbolicity was between 9 and 46. Most triangulations are single vertex, few have two vertices, and only one had three vertices. 4See HTLinkExteriors, AlternatingKnotExteriors, and NonalternatingKnotExteriors in SnapPy. 21

Testing the algorithm on the bundle census and branched double covers was suggested by Nathan Dunfield since the geodesics isotopic to the components of the branching lo- cus tend to be long and spun triangulations spinning about one of these geodesics very often fail to be geometric. By filling and drilling the triangulation, Dunfield found geo- metric spun triangulations (about a different geodesic) for the branched double covers of 42367 non-alternating knots and links up to 14 crossings, missing 1593. Remark 8.1. We also investigate how the occurrence of gimbal lock depends on the edge partition E ∼ E = E(T ) with E ∼ 3o where o is number of vertices. For this, we fix a ∪ = | | = triangulation and a hyperbolic structure and check numerically whether the derivative Dg of the gimbal function has singular values close to zero for different partitions (ex- hausting all partitions when o 2 and sampling otherwise). We did this for several tri- ≤ angulations of orientable closed census manifolds including some with three and four vertices obtained by performing 1-4 moves. This lead to Conjecture 9.1.

9 Discussion

Let T be a finite, orientable triangulation with o vertices and m edges. We have proven that T admits a hyperbolic structure if the checks in each step of the algorithm in Sec- tion7 pass. But are there hyperbolic structures which the algorithm cannot verify — even as we increase the precision and give the algorithm better and better approxima- tions of the edge lengths of the hyperbolic structure as input? We conjecture that such hyperbolic structures are special and can always be avoided by a random perturbation. We state this in the following conjecture where “generic” means that a statement is true except for a closed measure zero set of hyperbolic struc- tures on T (we will see later that a natural measure exists on the space of all hyperbolic structures in Theorem 9.4): Conjecture 9.1. Let T be a finite, orientable triangulation with o vertices and m edges admitting a hyperbolic structure. Then a generic hyperbolic structure on T gives rise to edge lengths l ,...,l 0 or equivalently edge parameters ν ,...,ν 1 such e1 em > e1 em ≤ − that

(a) M in (7.1) has rank m 3o and − (b) any choice of m 3o linearly independent rows from M avoids gimbal lock. − More precisely, for any partition E(T ) E ∼ E = into 3o and m 3o edges, we = ∪ − have that

1. the rows of M corresponding to the edges in E = are linearly independent

implies that

2. the derivative Dg of the gimbal function in Definition 5.1 is invertible.

Note that if Part (b) were false, the choice of the partition E(T ) E ∼ E = made in StepI = ∪ 22 could be such that StepII passes but the algorithm fails later in StepV. Remark 9.2. Numerically, we found that the converse of Part (b) is not true, i.e., we found examples where the gimbal function is invertible even though the chosen rows of M are linearly dependent. Remark 9.3. Compare the conjecture to the ideal case where we do not know in general whether every cusped, finite volume hyperbolic 3-manifold has a geometric triangula- tion (see [PW00, LST08, Goe17]).

9.1 The space of hyperbolic structures

Let T be a finite, orientable triangulation with o vertices and m edges admitting a hy- perbolic structure. We are able to prove that the solution set of the edge equations has dimension 3o. This is weaker than Part (a) of Conjecture 9.1 since it implies that the rank of M is at most m 3o (for example, x3 0 yields a 0-dimensional submanifold of − = the 1-dimensional R, yet the Jacobian has rank 0 at 0 instead of the expected 1 0 1). − = Earlier, we defined a hyperbolic structure on T as a compatible assignment of an isom- etry class of finite simplices in H3 to each simpex in T . The space of hyperbolic struc- tures on T can be described in the following ways:

(a) Sol(T ) Rm , the set of all tuples (l ,...,l ) fulfilling the conditions of Theo- ⊂ 0 e1 em rem 2.3 (since> the edge lengths of a hyperbolic structure yield a point in Sol(T ) and determine the hyperbolic structure uniquely).

(b) The space of geodesic homeomorphisms T M in a fixed homotopy class in → [T ,M ] where M is a hyperbolic 3-manifold homeomorphic to T . By Mostow rigidity, this yields all hyperbolic structures. By fixing the homotopy class, a hy- perbolic structure gives a unique geodesic homeomorphism, instead of multiple related by the isometries of M .

(c) The space of all developing homeomorphisms, i.e., ρ-equivariant homeomor- phisms d : T˜ H3 where p is a fixed vertex of T and ρ : π (T ,p) PSL (C) is → 1 → 2 a fixed geometric representation. This gives the homeomorphism T M in (b) → when letting M H3/Γ where Γ Im(ρ). = =

Theorem 9.4. Let T be a finite, orientable triangulation with o vertices and m edges admitting a hyperbolic structure. The space Sol(T ) of hyperbolic structures on T is m a 3o-dimensional smooth submanifold of R 0, is (non-canonically) diffeomorphic to o o an open subset U ¡H3¢ , and has a canonical> measure induced from ¡H3¢ . ⊂ Proof. We call a ρ-equivariant geodesic map d : T˜ H3 a developing map. → Claim: Fix a vertex p of T and a geometric representation ρ : π (T ,p) PSL (C). Then 1 → 2 developing maps are in 1-1 correspondence to (H3)o. Pick a lift v˜1,...,v˜o in T˜ of each vertex of v1,...,vo of T . By ρ-equivariance, the images 23 of all vertices of T˜ are determined by (d(v˜ ),...,d(v˜ )) (H3)o. A geodesic map is de- 1 o ∈ termined uniquely by the image of all the vertices. Claim: Under the above assumptions, the homeomorphisms among the developing maps form an open subset U (H3)o. We have a bijection l : U Sol(T ). ⊂ → By invariance of domain, a developing map is a homeomorphism if and only if it is an embedding. A developing map is an embedding if and only if the image of each simplex is positively oriented. The condition on a single simplex in T˜ to be positively oriented is open in the four vertex positions of the simplex. As a function of (x ,...,x ) (H3)o, each 1 o ∈ of these four vertex positions is given by some mxk where m is a hyperbolic isometry in Γ Im(ρ). Thus, the condition is also open in (H3)o. By ρ-equivariance, it is sufficient = to check this for one lift ∆˜ of each of the finitely many simplices ∆ of T , so U is open. m m Claim: The map L i l : U R 0 is smooth where i : Sol(T ) , R 0 is the inclusion. = ◦ 3 →3 > → > The distance function H H R 0 is smooth for all (x, y) with x y. 1 × → ≥ 6= Claim: The inverse l − : Sol(T ) U is continuous. → Fix a simplex ∆˜ in T˜ and σ A4. Given a point in Sol(T ), let us consider the developing 3 ∈ map d 0 : T˜ H obtained by starting with ∆˜ in σ-standard position (see Definition 3.2) → and developing simplex by simplex. Note that d 0 is equivariant with respect to a con- jugate but different representation ρ0 : π1(T ,p) PGL2(C). In other words, there is → 1 a unique element h PGL (C) such that ρ(γ) h ρ0(γ) h− for all γ π (T ,p) and ∈ 2 = ◦ ◦ ∈ 1 d h d 0 is ρ-equivariant. We can compute h as follows: fix γ1,γ2,γ3 π1(T ,p) such = ◦ 3 ∈3 that the attractive fixed points p ∂H of ρ(γ ) are distinct. Let p0 ∂H be the attrac- i ∈ i i ∈ tive fixed points of ρ0(γ ). Then h is the unique Moebius transformation with p h(p0 ). i i = i Note that the all d 0(v˜k ) as well as all ρ0(γi ) and thus h depend continuously on the point in Sol(T ). Thus, (d(v˜ ),...,d(v˜ )) U (H3)o depends continuously on the point in 1 o ∈ ⊂ Sol(T ). Claim: The differential DL of L : U Rm is injective at every point in U. → 0 Assume that DL has non-trivial kernel.> That is, there is a path γ :( 1,1) U with − → (dγ(t)/dt) t 0 0 but (d(L γ)(t)/dt) t 0 0. In other words, we have a 1-parameter | = 6= ◦ | = = family of developing maps d : T˜ H3 where at least one of the points d(v˜ ) is moving → k with non-zero velocity but the derivatives of all the edge lengths is zero. As we shall see, this cannot happen. From the edge lengths (L γ)(t) Sol(T ), we can construct a 1-parameter family of de- ◦ ∈ veloping maps d 0 as above. Since the derivatives of the lengths is zero, the vertices d 0(v˜k ) all have velocity zero. It is not hard to see that the entries of the h PGL (C) from above ∈ 2 also have zero derivative. Thus, the points d(v˜k ) have zero velocity. ¡ ¢o Claim: The measure on Sol(T ) induced from H3 is independent of the above choices. 3 o A different choice of lifts v˜1,...,v˜o of vertices corresponds to the action of (H ) by an element in Γo and thus does not change the induced measure. A different choice of ρ0 : π (T ,p) PGL (C) is conjugate to ρ by an element h PGL (C). The measure on 1 → 2 ∈ 2 (H3)o is invariant under the action of h. 24 9.2 1-vertex triangulations

Consider a 1-vertex triangulation T admitting a hyperbolic structure. Let p be the ver- tex of T and ρ : π (T ,p) PSL (C) be a geometric representation. Note that each edge 1 → 2 e of T forms a loop in π (T ,p) and denote by F {x CP 1 : x ρ(e)(x)} the set of the 1 e = ∈ = corresponding fixed points.

Theorem 9.5. Let E ∼ {e∼,e∼,e∼} and E = be a partition of the edges of T . Gimbal = 1 2 3 lock occurs for every hyperbolic structure on T if there are i j with Fe Fe . Oth- 6= i∼ = ∼j erwise, gimbal lock is generically avoided.

Remark 9.6. It is imaginable that there is a 1-vertex triangulation such that {F : e | e ∈ E(T )} 2 and gimbal lock occurs for each choice of E ∼ giving a counterexample to | = Conjecture 9.1.

d(p) 0 1 −→a i −→a i action by ρ(ei∼) gi a 1 i ρ(e )d(p) ρ(ei∼)− d(p) i∼

Figure 11. Edge in 1-vertex triangulation.

Proof. The edges ei∼ become geodesics with a potential kink at the image of p in M . 0 1 Let −→a i and −→a i be the directions (of unit length) in which the two ends of ei∼ approach d(p) H3 in the developing embedding d : T˜ H3. We can identify the tangent space ∈ → at d(p) with Euclidean 3-space such that the gimbal matrix mΓ is the product of six rotations (the order depending on the choice of gimbal loop Γ)

a 0 a 1 a 0 a 1 a 0 a 1 R−→1 , R−→1 , R−→2 , R−→2 , R−→3 , and R−→3 T1 T1 T2 T2 T3 T3

−→v j where Rω SO3 denotes the rotation about −→v by angle ω. Let −→a i,k denote the k-th ∈ j component of a . At the point where all T 2π, we have −→i i = 0 1  0 0   1 1  −→a i −→a i 0 a a 0 a a R R −→i,2 −→i,1 −→i,2 −→i,1 ∂mΓ Ti Ti 0 − 0 1 − 1  −→a 0 −→a   −→a 0 −→a , ∂T = ∂T + ∂T =  i,2 − i,0  +  i,2 − i,0  i i i a 0 a 0 0 a 1 a 1 0 −−→i,1 −→i,0 −−→i,1 −→i,0

∂g ³ ¡ 0 1 ¢ ¡ 0 1 ¢ ¡ 0 1 ¢´ ¡ ¢ so −→a i,2 −→a i,2 , −→a i,1 −→a i,1 , −→a i,0 −→a i,0 ai,2,ai,1, ai,0 ∂Ti = − + + − + = − − where a a 0 a 1. Thus, Dg ¡∂g/∂T ,∂g/∂T ,∂g/∂T ¢ is invertible if a ,a , and a i = −→i + −→i = 1 2 3 1 2 3 are linearly independent. Figure11 shows that ai is pointing from d(p) to the geodesic gi spanned by Fe (respectively pointing to Fe if Fe 1) and ai 0 if it lies on that i∼ i∼ | i∼ | = = geodesic. 25

Claim: Given a point x H3, consider the directions a from x to the point on g closest ∈ i i to x (respectively pointing to F if F 1). The set V of x where these directions lie ei∼ ei∼ | | = 3 in a plane is closed and has measure zero if all sets Fe are distinct. Otherwise V H . i∼ = Let f : H3 \ g R,x ω(a ,a ,a ) where ω is the volume form on H3. Since a is the ∪i i → 7→ 1 2 3 i Hodge dual to the gradient of the distance of x to gi , f is analytic. It is not hard to see 1 that there is some x with f (x) 0 as long as no two Fe and Fe are equal. Thus f − (0) 6= i∼ ∼j 1 and V f − (0) g have measure zero. = ∪ ∪i i

10 Appendix: The uncited theorem HIKMOT relies on

As pointed out in the introduction, the full system of equations for finding a hyperbolic structure on a triangulation fails to have rank equal to the number of variables in both the finite and ideal case. Thus, verification by interval methods in the ideal case also relies on a theorem showing that if a suitable subsystem is fulfilled, all equations are fulfilled. Unfortunately, the paper [HIK+16] did not cite this crucial theorem correctly. We want to point out that the algorithm in [HIK+16] is correct and its implementation can be trusted since the theorem it relies on has been proven by [Mos09, Lemma 2.4]. However the theorem from [NZ85] cited in [HIK+16] is insufficient since it assumes hy- perbolicity to begin with and its conclusion is too weak. Being the counterpart of the result in this paper in the ideal case, we will briefly state the correct theorem missing from [HIK+16]. Recall, that given an ideal triangulation with o vertices, Thurston [Thu80, Chapter 4] gave compatibility equations in one complex variable z1,...,zm per tetrahedron which are all of the form m X ³ ´ ³ 1 ´ ³ 1 ´ ar,j log z j br,j log cr,j log 1 2πıdr 0 j 1 + 1 z j + − z j − = = − such that a solution with Im(z ) 0 (called a geometric solution) yields a complete hy- j > perbolic structure on the manifold obtained by filling in some cusps. There is one such equation with d 1 for each of the m edges, one with d 1 for each filled cusped and r = r = one (sometimes two are given, but it is easy to see that one is sufficient) with d 0 r = for each unfilled cusp. Note that this system of equations consists of m o equations + in m variables and thus is overdetermined. To find a non-overdetermined system, let α a c and β b c and consider the m m-matrices A (α ) and r,j = r,j − r,j r,j = − r,j + r,j × = r,j B (β ) where r ranges over the edge equations: = r,j Theorem 10.1. The matrix (A B) has rank m o. Pick m o linearly independent rows | − − of (A B) and consider the system of equations consisting of the corresponding m o | − edge equations and the o cusp equations.

(a) Any solution to this system fulfills the remaining o edge equations as well.

(b) Near a geometric solution, the Jacobian of this system of equations is invertible. 26

Note that (a) is sufficient for an algorithm to prove a manifold to be hyperbolic. State- ment (b) ensures that such an algorithm succeeds if given a solution close enough to the geometric one. [NZ85] states the rank of (A B) but assumes hyperbolicity. Neumann revisted the re- | sult in [Neu92] to give a purely combinatorial statement where the rank of (A B) oc- | curs as rank of the map β in a certain chain complex. However, even Theorem 4.1 in [Neu92] only implies that the remaining o edge equations in the above theorem are ful- filled modulo 2πıQ since it does not involve the dr of the edge equations. For a proof of the above Theorem, see [Mos09, Section 2.3.1].

References

[Bel15] Mark C. Bell, Surface bundle censuses, available at https://github.com/ MarkCBell/bundles/ (09/09/2020, commit ec4d8cc), 2015.

[BGSS20] David Bachmann, Matthias Goerner, Saul Schleimer, and Henry Segerman, Cohomology fractals and Cannon–Thurston maps, in preparation.

[BPcR06] Saugata Basu, Richard Pollack, and Marie-Françoise Roy, Algorithms in Real Algebraic Geometry, 2nd ed., Berlin: Springer, 2006 (English).

[Bur18] Benjamin A. Burton, Regina: Normal surface and 3-manifold topology soft- ware, available at https://regina-normal.github.io/ (08/01/2018, ver- sion 5.1), 2018.

[Cas] Andrew Casson, Geo, a program for geometrizing 3-manifolds, http:// computop.org/.

[CDGW] Marc Culler, Nathan M. Dunfield, Matthias Goerner, and Jeffrey R. Weeks, SnapPy, a computer program for studying the geometry and topology of 3- manifolds, available at http://snappy.computop.org/ (06/30/2018, ver- sion 2.6).

[FP04] Roberto Frigerio and Carlo Petronio, Construction and recognition of hyper- bolic 3-manifolds with geodesic boundary, Trans. Am. Math. Soc. 356 (2004), no. 8, 3243–3282 (English), arXiv:math/0109012.

[GGZ15] Stavros Garoufalidis, Matthias Goerner, and Christian Zickert, Gluing equa- tions for PGL(n,C)-representations of 3-manifolds, Algebr. Geom. Topol. 15 (2015), no. 1, 565–622 (English), arXiv:1207.6711.

[Goe17] Matthias Goerner, Geodesic triangulations exist for cusped Platonic manifolds, New York Journal of Mathematics 23 (2017), 1363–1367, arXiv:1602.02208.

[Goe19a] , Data for verified computations for closed hyperbolic 3-manifolds, available at https://unhyperbolic.org/veriClosedData/, 2019. 27

[Goe19b] , Source code for verified computations for closed hyperbolic 3-manifolds, available at https://github.com/3-manifolds/SnapPy/ tree/master/dev/vericlosed/ until the feature is fully integrated into SnapPy, 2019.

[Hea] Damian Heard, Orb, a computer program that can find hyperbolic struc- tures on a large class of hyperbolic 3-orbifolds and 3-manifolds, available at https://github.com/DamianHeard/orb/ (06/30/2018).

[Hea05] , Computation of hyperbolic structures on 3-dimensional orb- ifolds, Ph.D. thesis, University of Melbourne, 2005, https://github.com/ DamianHeard/orb-thesis/.

[HHGT17] Robert C. Haraway III, Neil Hoffman, Matthias Goerner, and Maria Trnkova, Length spectrum estimates for hyperbolic 3-manifolds, Computational Ge- ometry Young Researchers Forum (Brisbane, Australia), 2017, http://www. computational-geometry.org/YRF/cgyrf2017.pdf.

[HIK+16] N. Hoffman, K. Ichihara, M. Kashiwagi, H. Masai, S. Oishi, and A. Takayasu, Verified computations for hyperbolic 3-manifolds, Experiment. Math. 25 (2016), no. 1, 66–78, arXiv:1310.3410, http://www.oishi.info. waseda.ac.jp/~takayasu/hikmot/.

[HW94] Craig D. Hodgson and Jeffrey R. Weeks, Symmetries, isometries and length spectra of closed hyperbolic three-manifolds, Exp. Math. 3 (1994), no. 4, 261– 274.

[LST08] Feng Luo, Saul Schleimer, and Stephan Tillmann, Geodesic ideal triangu- lations exist virtually, Proc. Amer. Math. Soc. 136 (2008), no. 7, 2625–2630, arXiv:math/0701431.

[Mos09] Harriet Moser, Proving a manifold to be hyperbolic once it has been approx- imated to be so, Algebr. Geom. Topol. 9 (2009), no. 1, 103–133 (English), arXiv:0809.1203.

[MP16] Gabriele Mondello and Dmitri Panov, Spherical metrics with conical singu- larities on a 2-sphere: angle constraints, Int. Math. Res. Not. 2016 (2016), no. 16, 4937–4995 (English), arXiv:1505.01994.

[Neu92] Walter D. Neumann, Combinatorics of triangulations and the Chern-Simons invariant for hyperbolic 3-manifolds, Topology ’90 (Columbus, OH, 1990), Ohio State Univ. Math. Res. Inst. Publ., vol. 1, de Gruyter, Berlin, 1992, pp. 243–271.

[NZ85] Walter D. Neumann and Don Zagier, Volumes of hyperbolic three-manifolds, Topology 24 (1985), no. 3, 307–332.

[PW00] Carlo Petronio and Jeffrey R. Weeks, Partially flat ideal triangulations of cusped hyperbolic 3-manifolds, Osaka J. Math. 37 (2000), no. 2, 453–466. 28

[Rat94] John G. Ratcliffe, Foundations of hyperbolic manifolds, Graduate Texts in Mathematics, vol. 149, Springer-Verlag, New York, 1994.

[Thu80] William P. Thurston, The geometry and topology of three-manifolds, 1980, Princeton lecture notes, available at http://library.msri.org/books/ gt3m/.

Matthias Goerner email: [email protected] http://unhyperbolic.org/