1 Introduction

Deformations of hyperbolic structures form an intensively studied phenomenon. This study led to a wide variety of interesting results, among which the Hyperbolic Dehn Filling theorem in dimension 3 stands out.

The finite-volume case is the most classical one and there are several results on it. In particular, it is known that hyperbolic surfaces can always be deformed, hyperbolic three-manifolds admit only non-complete deformations when non-compact and none if they are compact, and starting from dimension 4 there are no infinitesimal deformations (hence there are no deformations).

In this article, we focus on geometrically infinite (hence not finite-volume) hyperbolic manifolds. We say that a hyperbolic manifold with finitely generated fundamental group is geometrically finite if a \(\epsilon \)-neighborhood of its convex core has finite volume (see [11, 14]), otherwise we say that it is geometrically infinite. We prove for the first time -to the best of our knowledge- the existence of rigid geometrically infinite 4- and 5-manifolds. This result is in contrast with lower dimensions: from the (now proved [5, 6, 16]) density conjecture it follows that every geometrically infinite 3-manifold can be deformed into a geometrically finite one.

We recall some basic facts about deformations. A nice presentation of this subject can be found in [7].

Given a manifold with a hyperbolic metric (Mg) it is possible to associate to it a holonomy \(\rho \):

$$\begin{aligned} \rho :\pi _1(M) \rightarrow {\textrm{Isom}}({{\mathbb {H}}}^n). \end{aligned}$$

The holonomy is defined only up to inner automorphisms of \({\textrm{Isom}}({{\mathbb {H}}}^n)\), but we often denote by \(\rho \) a choice of one representative in its equivalence class.

A deformation of \(\rho \) is a smooth path of representations \(\rho _t\), with t varying in an interval [0, 1), such that \(\rho _0=\rho \). Deformations of the holonomy are strictly connected with deformations of the metric g: when M is the interior of a compact manifold, Ehresmann-Thurston Principle (see [3], Theorem 2.1) states that, if \(\epsilon \) is small enough, for every \(\rho _t\) with \( t \in [0, \epsilon )\) there is a hyperbolic metric \(g_t\) on M such that the associated holonomy is \(\rho _t\).

Infinitesimal deformations (we will be more precise in Sect. 4) are the first order solutions to the equations for the existence of deformations for a holonomy \(\rho \), quotiented by the directions given by conjugations in \({\textrm{Isom}}({{\mathbb {H}}}^n)\). We say that a manifold is infinitesimally rigid if its infinitesimal deformations vanish. Weil’s Lemma [18] states that the holonomy \(\rho \) of an infinitesimally rigid manifold can be deformed only through a path of conjugations in \({\textrm{Isom}}({{\mathbb {H}}}^n)\). The main result of this paper is the following:

Theorem 1

There exist one geometrically infinite hyperbolic 4-manifold and one geometrically infinite hyperbolic 5-manifold that are infinitesimally rigid.

The examples we study are the infinite cyclic coverings of finite-volume hyperbolic manifolds described in [2, 9], see Sects. 5.2.25.2.3 for more details. We briefly recall some of their nice topological properties.

Let M be a compact n-manifold possibly with boundary with a complete finite-volume hyperbolic metric on its interior. A circle-valued Morse function on M is a smooth map \(f :M\rightarrow S^1\) such that \(f|_{\partial M}\) has no critical points and f has finitely many critical points, all of non-degenerate type. We have

$$\begin{aligned} \chi (M) = \sum (-1)^ic_i \end{aligned}$$
(1)

where \(c_i\) is the number of critical points of index i. We say that f is perfect if it has exactly \(|\chi (M)|\) critical points, that is the least possible amount allowed by (1).

When the dimension n is odd, the Euler characteristic of M vanishes, hence a perfect circle-valued Morse function is simply a fibration over \(S^1\). This is never the case when n is even since the Euler characteristic of M never vanishes due to Chern-Gauss-Bonnet theorem. When \(n=4\), the map f is perfect if and only if it has only critical points of index 2 (see [2]).

Given a homotopically non-trivial circle-valued function \(f :M \rightarrow S^1\), the infinite cyclic covering associated with f is the smallest covering \(\tilde{M}\) of M such that the following diagram commutes:

figure a

In other words \(\tilde{M}\) is the covering associated with \(\ker (f_*)\) where \(f_*\) is the map induced by f on fundamental groups. When \(\ker (f_*)\) is finitely generated, \(\tilde{M}\) is naturally a geometrically infinite hyperbolic manifold.

The infinitesimally rigid manifolds of Theorem 1 are infinite cyclic coverings associated with perfect circle-valued Morse functions. Using the connection between Morse functions and handle decompositions we deduce the following:

  • The 4-manifold in Theorem 1 is diffeomorphic to \(N \times [0,1]\) with infinitely many 2-handles attached on both sides, where N is a finite-volume cusped hyperbolic 3-manifold; such a manifold was constructed in [2];

  • The 5-manifold in Theorem 1 is diffeomorphic to \(N \times {{\mathbb {R}}}\), where N is a non-hyperbolic aspherical 4-manifold diffeomorphic to the interior of a compact 4-manifold with boundary; such a manifold was constructed in [9], and the question of studying rigidity was raised in [9], Problem 29.

The perfect circle-valued Morse functions are defined on finite-volume manifolds built by colouring right-angled polytopes, with a technique already used by several authors (see [13] for an introduction). These manifolds are naturally homotopically-equivalent to a cube complex. In the past 2 years, perfect circle-valued Morse functions on such manifolds were discovered and studied in [9] and [2], following the work of Jankiewicz –Norin–Wise [10] based on Bestvina–Brady theory [4]. The cube complex structure lifts to the cyclic covering, giving a nice combinatorial description of such an infinite-volume manifold in terms of a periodic cube complex. Our main contribution consists in finding a convenient way to implement computations on infinitesimal deformations and applying it.

All the results in this article are computer-assisted, using Sage and MATLAB. In the two cases of Theorem 1 we were able to do all computations using symbolic calculus, ending up with rigorous results. We applied our algorithm using double-precision numbers to several other geometrically infinite hyperbolic 4-manifolds, and in all these cases we found strong numerical evidence of infinitesimal rigidity. Theoretically, it is possible to promote every numerical result to a rigorous one with the necessary amount of time and computer resources. Data sharing not applicable to this article as no datasets were generated or analysed during the current study.

1.1 Structure of the paper

In Sect. 2 we recall the notions of colourings and states, that were used in [2, 9] to build manifolds with convenient circle-valued functions.

In Sect. 3 we describe the combinatorial structure of the infinite cyclic coverings of such manifolds. We used these objects to prove Theorem 1.

In Sect. 4 we recall some notions about infinitesimal deformations and we build some machinery to compute their dimension in our cases.

In Sect. 5 we describe the results obtained by applying our algorithm.

2 Colourings and states

Here we recall how to use colourings and states on a hyperbolic right-angled polytope to build a hyperbolic manifold with a circle-valued function on it. Since we are going to use it intensively, we will focus on the combinatorial description, and in particular on the aspects we will use more. A detailed and comprehensive presentation can be found in [2].

2.1 Right-angled polytopes

A right-angled polytope is a polytope in \({{\mathbb {X}}}^n={{\mathbb {E}}}^n\) (the euclidean flat space) or \({{\mathbb {H}}}^n\) (the hyperbolic space) with all dihedral angles of value \({\pi }/{2}\).

Such an object is naturally stratified in vertices (0-faces), edges (1-faces), 2-faces, ..., \((n-2)\)-faces, facets (\((n-1)\)-faces), and one n-face.

Let \(\Gamma < \textrm{Isom}({{\mathbb {X}}}^n)\) be the group generated by reflections along the facets of P. The polytope P is a fundamental domain for the action of \(\Gamma \). A presentation for \(\Gamma \) is

$$\begin{aligned} \langle \ r_1, \ldots , r_s \ |\ r_i^2, [r_i,r_j]\ \rangle , \end{aligned}$$

where \(r_i\) is the reflection along the i-th facet of P and we have the relation \([r_i,r_j]=0\) whenever the i-th and j-th facet are adjacent. Sometimes we will consider P as an orbifold \(P={{\mathbb {X}}}^n/_\Gamma \).

Table 1 Combinatorial data of the right-angled polytopes that we use

We recall some interesting examples of right-angled polytopes:

  • In dimension 2 there are regular right-angled k-gons for every \(k \ge 5\) in the hyperbolic plane.

  • In dimension 3 there are two right-angled regular polyhedra in the hyperbolic space, one with ideal vertices (the octahedron) and one compact (the dodecahedron).

  • In dimension 4 there are two right-angled regular polytopes in the hyperbolic space, one with ideal vertices (the 24-cell) and one compact (the 120-cell).

  • There is a family of non-regular hyperbolic right-angled polytopes \(P_3, \ldots , P_8\), where \(P_i\) is a polytope in \({{\mathbb {H}}}^i\), very nicely described in [17].

The combinatorics of the ones we will use can be found in Table 1.

There are many hyperbolic right-angled polytopes in low dimensions. The main reason for preferring those listed in Table 1 is that these ones are reasonably small and have a huge number of symmetries that help a lot during computations.

2.2 Colourings

Colouring a right-angled polytope gives a way to build a manifold. The interested reader can find a general introduction in [8].

Pick a polytope P and choose a palette of colours \( \left\{ 1, \ldots , c\right\} \). We assign to each facet of P a colour in such a way that adjacent facets have different colours. See Fig. 1.

Remark 2

This is equivalent to requiring that when k facets meet, they all have different colours: it follows from the fact that if some facets share a common sub-face (that is not an ideal vertex), they meet pairwise (see [8]).

Fig. 1
figure 1

A polytope with a colouring

Using the colouring we build a manifold M that is naturally tessellated into copies of P: we pick \(2^c\) copies of P, denoted as \(P_v\) with v varying in \(\left( {{{\mathbb {Z}}}}/{2{{\mathbb {Z}}}}\right) ^c\). We then glue these polytopes along all their facets: the facet F of \(P_v\) is glued along the same facet of \(P_{v+e_i}\) with the identity, where i is the colour of F. See Figs. 2 and 3.

A k-stratum of M is a k-face of any polytope \(P_v\) inside M. Given the combinatorics of P, it is easy to compute the number of k-strata in M:

Proposition 3

The number of k-strata with \(k \ge 1\) in M is

$$\begin{aligned} \#(k\text {-faces in }P) \cdot 2^{c-n+k}. \end{aligned}$$

Proof

Before gluing the facets, the number of k-faces in the collection \(\left\{ P_v\right\} \) is the number of k-faces of P times \(2^c\). When we identify the facets, the k-faces are glued together in groups of \(2^{n-k}\). This is because every k-face is in the intersection of \(n-k\) facets, and they all have different colours (see Remark 2). We deduce that the number of k-strata in M is:

$$\begin{aligned} \#(k\text {-strata in }M)= & {} \frac{\#(k\text {-faces in }P) \cdot 2^c}{2^{n-k}} \\= & {} \#(k\text {-faces in }P) \cdot 2^{c-n+k}. \end{aligned}$$

\(\square \)

Fig. 2
figure 2

How to build a manifold using a polytope and a colouring

Fig. 3
figure 3

A more visual way to identify the manifold M

2.3 The dual cube complex

The dual to the tessellation of M is a cube complex C. Again, a formal definition of it can be found in [2].

The cube complex C is the core of all the constructions of circle-valued functions. In this paper we focus on the 2-skeleton of C, since we are mostly interested in its fundamental group.

The cube complex C can be obtained in the following way:

  • We pick one vertex for each copy of the polytope P. We obtain \(2^c\) vertices, and we denote by \(x_v\) the vertex that corresponds to \(P_v\), where v is an element of \(({{{\mathbb {Z}}}}/{2{{\mathbb {Z}}}})^c\). We call an element \(v \in ({{{\mathbb {Z}}}}/{2{{\mathbb {Z}}}})^c\) even (odd) if \(\sum _{i=1}^c v_i\) is even (odd). A vertex \(x_v\) is even (odd) if v is even (odd);

  • We add one edge between the vertices \(x_v\) and \(x_w\) for each facet separating \(P_v\) and \(P_w\). Notice that v and w differ only in one coordinate, so exactly one of them is even: one useful way to list all the edges is by considering all the facets of the polytopes \(P_v\) where v is even;

  • We add one square with vertices \(x_{v^1}\), \(x_{v^2}\), \(x_{v^3}\), and \(x_{v^4}\) whenever \(P_{v^1}\), \(P_{v^2}\), \(P_{v^3}\), and \(P_{v^4}\) share a common codimension 2 face. Notice that \(v^1\), \(v^2\), \(v^3\), and \(v^4\) must be of the form v, \(v+e_i\), \(v+e_j\), and \(v+e_i+e_j\). The edges of such a square can be deduced from the parity of the vertices \(x_{v^i}\): there is an edge between vertices with different parity;

  • We go on with all other faces.

The number of k-cubes in C is exactly the number of \((n-k)\)-strata of the tessellation of M. See Fig. 4.

Fig. 4
figure 4

The cube complex dual to the tessellation. Only one of the four squares is highlighted

When P has no ideal vertices, the underlying space of C is homeomorphic to M. When there are ideal vertices, the manifold M deformation retracts onto C. In any case, the homotopy type of M and C is the same.

We are interested in the holonomy of a covering of M:

$$\begin{aligned} \tilde{\rho } :\tilde{M} \rightarrow {\textrm{Isom}}({{\mathbb {H}}}^n). \end{aligned}$$

The cube complex structure C of M will lift to a cube complex structure \(\tilde{C}\) on \(\tilde{M}\).

In the works [9] and [2] the cube complex C has been enlarged to a bigger cube complex when there are ideal vertices. This is because the authors wanted to define a circle-valued function on M. Here, we do not need to put any attention to this aspect, since only the homotopy type of the maps will matter.

2.4 States

A state gives a way to define a map from M to \(S^1\). This notion was introduced in [10]. We work on C instead of M, disregarding the fact that C is only a deformation retract of M when P has ideal vertices.

We want to build a map from C to \(S^1\). We send all the vertices to \(1 \in S^1\). We then orient each edge. We use the orientation to identify each edge with the standard interval \(I=[0,1]\), on which we have a natural function to \(S^1\) (see Fig. 5). While doing this, we want to make sure we will be able to extend the map on the 2-skeleton: every square of the 2-skeleton describes one obstruction to the extension, see Fig. 6. In particular, we need the image of the boundary of the square to be trivial in the fundamental group of \(S^1\). If we manage to extend the function on the 2-skeleton, then the map can be defined on the whole C (the k-skeleta with \(k \ge 3\) do not provide any obstruction because \(S^1\) is aspherical).

Fig. 5
figure 5

Given an orientation on an edge, it is possible to identify it with the standard interval [0, 1], that is sent to \(S^1\) by the quotient \({[0,1]}/{\left\{ 0;1\right\} }\)

Fig. 6
figure 6

The four possible maps that can be defined on the boundary of a square, up to equivalence. The first two can be extended on the interior of the square, the last two do not. We call the first square coherently oriented, and the second one bad

To do this we use the notion of state (see Fig. 7):

Definition 4

A state of a polytope P is the assignment of the letter “I” or the letter “O” to each of its facets.

Fig. 7
figure 7

A polytope with a state

We choose a state \(s_0\) on \(P_0\). Consider the edges of C with one endpoint in \(x_0\). Each of these edges is dual to a facet of \(P_0\). We orient an edge outward (inward) with respect to \(x_0\) if the corresponding dual facet has the letter “O” (“I”). We now want to orient all the other edges of C making sure that we find a function that can be extended on the 2-skeleton. There are two ways of doing this, one used in [2] and one used in [9].

The first one is the following: we define the state \(s_{e_{i_1}+ \cdots +e_{i_r}}\) to be \(s_{0}\) where we swapped the letters of the facets that have colours in \(\left\{ i_1, \ldots , i_r\right\} \). Each \(s_v\) defines an orientation on each edge with one endpoint in \(x_v\). It is easy to check that this definition is well-posed. Furthermore, we can extend this map on the 2-skeleton. Suppose we have a square: it is the dual of the intersection of two facets of \(P_v\) that have colours i and j. The vertices of the cube are v, \(v + e_i\), \(v + e_j\), and \(v + e_i + e_j\). Following the recipe, it is easy to see that the orientation of the edge \((v, v+e_i)\) is the same as the orientation \((v+e_j, v+e_j+e_i)\). The same holds for \((v, v+e_j)\) and \((v+e_i, v+e_i+e_j)\). Hence, opposite sides of the square have the same orientation (in this case, we say that the edges are oriented coherently, see Fig. 6). This ensures that the map is homotopically trivial on the boundary of the square, hence it can be extended.

The second way comes from the following consideration: for a map defined on the boundary of the square to be trivial in homotopy, we do not really need opposite edges to be oriented coherently. There is also another possibility, as shown in Fig. 6. We call squares of this type bad. In [9] the authors partition the colours in disjoint pairs. The state \(s_{v+e_i}\) is defined as the state \(s_v\) where the letters of the facets with colour i and the colour paired with i are switched from “O” to “I” and viceversa. In this case, we talk about paired colours. To ensure that this process will produce a map on the 1-skeleton that can be extended on the 2-skeleton one has to check that every square will be either oriented coherently or a bad square.

Remark 5

In the papers [2, 9], the authors exploit some methods to control the critical points of the maps obtained. In particular, they exhibit perfect circle-valued Morse functions in dimension 4 (in [2]) and 5 (in [9]).

There is a convenient way to extend the map to the whole C. It is called diagonal map. This is used to describe precisely the fiber of the map. We describe it rapidly.

2.5 The diagonal map

We start with a definition:

Definition 6

A cube with oriented edges is coherently oriented if every square inside it is coherently oriented. A cube complex with an orientation on the edges is coherently oriented if every cube inside it is coherently oriented.

When C is coherently oriented, one can identify every cube with the standard cube in \({{\mathbb {R}}}^n\) with the edges oriented as going outside from the origin (up to permutation of coordinates). On the standard cube \([0,1]^d\) we can define the map with values is \({{{\mathbb {R}}}}/{{{\mathbb {Z}}}} = S^1\):

$$\begin{aligned} (x_1,\ldots ,x_d) \mapsto \left[ \sum _{i=1}^d x_i\right] . \end{aligned}$$

These maps extend the maps defined on the edges and glue together to a well-defined map on C that we call the diagonal map.

We need some attention in case we have some squares that are not oriented coherently.

Definition 7

Let \(Q_1\) and \(Q_2\) be two cubes with oriented edges. The orientation induced on the edges of \(Q_1 \times Q_2\) is the only one such that both projections preserve the orientation of the edges (see Fig. 8).

Fig. 8
figure 8

The orientation induced on a 3-dimensional cube by a bad square times an interval

A useful property of an orientation on the edges of a cube is the following:

Definition 8

A d-cube with oriented edges is quasi-coherently oriented if one of the following holds:

  • It is coherently oriented;

  • It has the orientation induced by a bad square times a coherently oriented \((d-2)\)-cube.

A cube complex with an orientation on the edges is quasi-coherently oriented if every cube inside it is quasi-coherently oriented.

Suppose that we have a quasi-coherent orientation on C (this is the case in [9]). On the coherently oriented cubes, we use the same map as before. On the other type of cubes, we divide the bad square \(Q'\) into four triangles \(T_i\) as in Fig. 9. We identify each triangle with a standard one with vertices (0,0), (1,0) and \((\frac{1}{2}, \frac{1}{2})\), and we consider on it the projection p:

$$\begin{aligned} (y_1, y_2) \mapsto y_1. \end{aligned}$$

We then divide the cube in prisms \(T_i \times Q\), whose factors are identified with the standard triangle and the standard \((d-2)\)-cube. On every prism we can define a map in a way very similar to the previous case:

$$\begin{aligned} ((y_1,y_2),(x_1,\ldots ,x_{d-2})) \mapsto \left[ y_1 + \sum _{i=1}^d x_i\right] . \end{aligned}$$
Fig. 9
figure 9

We divide a bad square into four triangles (left). We can identify each of them with the standard one respecting the arrows (right)

Also in this case these maps extend the maps defined on the edges and glue together to a well-defined map on C that we still call the diagonal map.

3 The infinite cyclic covering

In this article, we focus on the infinite cyclic covering associated with the maps built in [2, 9]. Here we describe in detail the combinatorial structure of these infinite cyclic coverings.

3.1 The cube complex structure

Let \(f :C \rightarrow S^1\) be a homotopically non-trivial map. The map f induces a map \(f_*\) on the fundamental groups. Since M retracts on C, we can identify their fundamental groups. The infinite cyclic covering of M (resp. C) associated with f is the covering of M (resp C) associated with \(\ker (f_*)\), and we denote it by \(\tilde{M}\) (resp. \(\tilde{C}\)).

The tessellation of M into polytopes \(P_v\) lifts to a tessellation for \({\widetilde{M}}\) into polytopes \(P_v^t\), parametrized by \(v \in \left( {{{\mathbb {Z}}}}/{2{{\mathbb {Z}}}}\right) ^c\) and \(t\in {{\mathbb {Z}}}\), with the requirement that \(v_1+\cdots + v_c + t\) is even.

The facet F of \(P_v^t\) is identified with the identity map to the corresponding facet of \(P_{v+e_i}^{t \pm 1}\), where i is the colour of F and the sign \(+1\) or \(-1\) depends on whether the status of F in \(P_v\) is O or I.

The covering \({\widetilde{M}} \rightarrow M\) is the forgetful map \(P_v^t \rightarrow P_v\). The monodromy of the covering \({\widetilde{M}} \rightarrow M\) is the map \(\tau :{\widetilde{M}}\rightarrow {\widetilde{M}}\) that sends \(P_v^t\) to \(P_v^{t+2}\) identically.

Fig. 10
figure 10

The manifold \({\widetilde{M}}\) when P is a square with the colouring and state indicated on the left. The central figure shows the torus M tessellated into four squares (the opposite external vertical and horizontal edges should be identified), and the fibration \(f:M\rightarrow S^1\) is suggested by the red arrows, with some fibers drawn in grey. The manifold \({\widetilde{M}}\) is the infinite annulus shown on the right (the zigzagged top and bottom edges should be identified), and the fibration \({\tilde{f}}:{\widetilde{M}} \rightarrow {{\mathbb {R}}}\) is also suggested by the red arrows, with some fibers drawn in grey (so \({\tilde{f}}\) is the projection on the horizontal axis)

The dual of this tessellation of \({\widetilde{M}}\) is \(\tilde{C}\), onto which \(\tilde{M}\) retracts. Vertices of \({\widetilde{C}}\) are parametrized by pairs (vt) with \(v\in \left( {{{\mathbb {Z}}}}/{2 {{\mathbb {Z}}}}\right) ^c, t\in {{\mathbb {Z}}}\) and \(v_1+\cdots +v_c+t\) even. The vertex (vt) is dual to \(P_v^t\).

The lifted map \({\tilde{f}}:{\widetilde{C}} \rightarrow {{\mathbb {R}}}\) sends the vertex (vt) of \({\widetilde{C}}\) to t and is extended diagonally on \({\widetilde{C}}\). See an instructing example with the square in Fig. 10.

The level of a vertex (vt) of \({\widetilde{C}}\) is the number t, that is its image along \({\tilde{f}}\). More generally, the level of a k-cube in \({\widetilde{C}}\) is the average of the levels of its vertices, that is the image of its center along \({\tilde{f}}\). When the states are obtained as in [2], this number lies in \({{\mathbb {Z}}}\) or in \({{\mathbb {Z}}}+ \frac{1}{2}\) according to the parity of k. When we admit paired colours (as in [9]), this is no longer true: for example, bad squares have level in \({{\mathbb {Z}}}+ \frac{1}{2}\). The level of every k-stratum of the tessellation into polytopes \(\{P_v^t\}\) is by definition the level of its dual \((n-k)\)-cube.

We are interested in particular in the 2-skeleton of \(\tilde{C}\). Every facet F of the tessellation of \(\tilde{M}\) is adjacent to \(P_v^t\) and \(P_{v+e_i}^{t+1}\) and has level \(t+\frac{1}{2}\). Facets correspond to the edges of the cube complex. Given a codimension-2 face, the corresponding dual square can be of two types: if the edges are oriented coherently, then its lifts are adjacent to four polytopes

$$\begin{aligned} P_v^{t-1}, P_{v+e_i}^t, P_{v+e_j}^t, P_{v+e_i+e_j}^{t+1} \end{aligned}$$

and have level t. If it is a bad square (remember Fig. 6), then its lifts are adjacent to four polytopes

$$\begin{aligned} P_v^{t}, P_{v+e_i}^{t+1}, P_{v+e_j}^{t+1}, P_{v+e_i+e_j}^t \end{aligned}$$

and have level \(t+\frac{1}{2}\).

3.2 The fiber

The map \(f :C \rightarrow S^1\) lifts to a map \(\tilde{f} :\tilde{C} \rightarrow {{\mathbb {R}}}\). We are especially interested in the fiber \(C^{\textrm{sing}}_t = {\tilde{f}}^{-1}(t)\) for some \(t \in {{\mathbb {Z}}}\). We call it singular fiber following the notation of [2]; see Fig. 11.

Fig. 11
figure 11

The singular fiber \(\tilde{f}^{-1}(0)\) inside the cubes of the cube complex \(\tilde{C}\). Top left in a coherently oriented square, top right in a bad square (where the intersection is only 2 vertices), bottom left in a coherently oriented 3-cube, bottom right in a bad square times an interval. The numbers denote the levels of the vertices in \(\tilde{C}\)

We describe a condition introduced in [4] that assures that the inclusion of \(C^{\textrm{sing}}_t\) in \(\tilde{C}\) is \(\pi _1\)-surjective. See also [2, 9] for more details.

Let C be a cube complex equipped with an orientation on its edges, and \(f:C \rightarrow S^1\) be the diagonal map. Let v be a vertex of C. Let \({\textrm{link}}(v)\) be the link of v in C. By construction \({\textrm{link}}(v)\) is an abstract simplicial complex. Every vertex of \({\textrm{link}}(v)\) indicates an edge incident to v, and we assign to it the status I (In) or O (Out) according to whether the edge points towards v or away from v.

Following [4], we define the ascending link \({\textrm{link}}_\uparrow (v)\) (respectively, descending link \({\textrm{link}}_\downarrow (v)\)) to be the subcomplex of \({\textrm{link}}(v)\) generated by all vertices with status O (respectively, I).

The following result is proved in [4], Corollary 2.6:

Fact 9

If the descending and ascending links of every vertex are connected, the inclusion of \(C^{\textrm{sing}}_t\) in \(\tilde{C}\) is \(\pi _1\)-surjective.

All the orientations of the edges of C that we consider in this paper satisfy the hypothesis of Fact 9.

Fig. 12
figure 12

A circle-valued Morse function (left) and its lift (right). The critical points are indicated with an X. The regular fiber is the blue line, the singular fiber is the red line. Every critical point of index i corresponds to the attachment of an i-handle

3.3 The finite subcomplex \(F_{[m,n]}\)

The cube complex structure is a nice combinatorial structure that can help in finding the space of infinitesimal deformations of \(\tilde{M}\). The main problem with \(\tilde{C}\) is the fact that it is infinite, hence we cannot apply any finite algorithm to it. Here we define a nice finite subcomplex \(F_{[m,n]}\) of \(\tilde{C}\) that contains all the information we need, i.e. its inclusion is \(\pi _1\)- surjective.

Recall that the map \(\tilde{f}\) sends every vertex in \({\widetilde{C}}\) to some integer \(m \in {{\mathbb {Z}}}\), every edge to an interval \([m,m+1]\), and every square either to an interval \([m,m+1]\) (if it is the lift of a bad square) or to an interval \([m,m+2]\) (if it is the lift of a coherently oriented square). For every pair \(m < n\) of integers we define \(F_{[m,n]}\) as the union of all the (finitely many) squares whose image lies in [mn]. We want to prove that under certain conditions its inclusion in \(\tilde{C}\) is \(\pi _1\)-surjective. We start with a lemma:

Lemma 10

Let G be a quasi-coherently oriented cube (see Definition 8) inside C with \(\dim (G) \le 9\). Let \(\tilde{f} :G \rightarrow {{\mathbb {R}}}\) be a lift of the diagonal map on G that takes the value 0. Let \(\gamma :[0,1] \rightarrow G\) be a path such that \(\gamma (0)\) and \(\gamma (1)\) are vertices of G that are sent to 0 via \(\tilde{f}\). Let E be the union of the edges of G whose endpoints have image through \(\tilde{f}\) in the set \(\left\{ -1;0;1\right\} \). Then \(\gamma \) is fixed-endpoint homotopic to a path \(\gamma '\) contained in E.

Proof

We do not know whether the hypothesis on the dimension of G is necessary. In any case, we will need this result only in dimensions less than or equal to 5.

We start by noticing that G is contractible, hence two paths are fixed-endpoint homotopic if and only if they have the same extremal points. We also notice that every vertex v such that \(\tilde{f}(v)=0\) is contained in E, because the values of \(\tilde{f}\) on the two endpoints of any edge differ by 1. Therefore to complete the proof we just need to check that the subcomplex E is connected. To do this we use the script “Check_zigzag” written in Sage available at [1]. \(\square \)

We are now ready to prove the following:

Proposition 11

Suppose that C is quasi-coherently oriented and \(\dim (M) \le 9\). Let \(n-m \ge 2\) and let x be a vertex of \(\tilde{C}\) of level \(m+1\). Inside \(\pi _1(\tilde{C},x)\), the subgroup \(i_*(\pi _1(F_{[m,n]},x))\) contains the subgroup \(i_*(\pi _1(\tilde{f}^{-1}(m+1),x))\).

Proof

We prove that \(i_*(\pi _1(F_{[-1,1]},x))\) contains the subgroup \(i_*(\pi _1(\tilde{f}^{-1}(0),x))\). The general case is a straightforward generalization.

Consider a loop \(\alpha :[0,1] \rightarrow \tilde{f}^{-1}(0)\) with \(\alpha (0)=\alpha (1)=x\). Up to homotopy inside \(\tilde{f}^{-1}(0)\), we can suppose that \(\alpha \) is the concatenation of a finite number of paths:

$$\begin{aligned} \alpha = \alpha _1 \cdot \ldots \cdot \alpha _n \end{aligned}$$

where the image of each \(\alpha _i\) is contained in a cube \(G_i\) inside \(\tilde{C}\). For each \(i=1,\ldots ,n-1\), the point \(v_i=\alpha _i(1)=\alpha _{i+1}(0)\) is contained in a cube \(J_i\) contained in the intersection \(G_i \cap G_{i+1}\). Now we notice that, by the definition of the diagonal map, the fact that \(\tilde{f}\) takes value 0 on the cube \(J_i\) implies that there is a vertex \(w_i\) of \(J_i\) such that \(\tilde{f}(w_i)=0\). Let \(\beta _i\) be any path inside \(J_i\) that connects the points \(v_i\) and \(w_i\). For convenience, let \(\beta _0=\beta _{n}\) be the constant path that takes value \(x=\alpha (0)=\alpha (1)\). Consider now

$$\begin{aligned} \gamma = \prod _{i=0}^{n-1} \beta _i ^{-1} \cdot \alpha _{i+1} \cdot \beta _{i+1}. \end{aligned}$$

The loop \(\gamma \) is homotopic to \(\alpha \), because the compositions \(\beta _i \cdot \beta _i^{-1} \) cancel out. Moreover, each term of the form \(\beta _i ^{-1} \cdot \alpha _{i+1} \cdot \beta _{i+1}\) is a path inside \(G_{i+1}\) whose endpoints are sent to 0 by \(\tilde{f}\), see Fig. 13. We can then apply the Lemma 10 and conclude that \(\gamma \) is homotopic to a composition of paths contained in \(F_{[-1,1]}\). This concludes the proof. \(\square \)

Fig. 13
figure 13

The concatenation \(\beta _{i-1} ^{-1} \cdot \alpha _{i} \cdot \beta _i\) is a path inside \(G_i\) that connects two vertices that are sent to 0 via \(\tilde{f}\)

Using this proposition together with Fact 9 we deduce the following:

Corollary 12

Suppose that C is quasi-coherently oriented, that \(\dim (M)<10\), and that all the ascending and descending links in C are connected. If \(n-m \ge 2\), the map induced by the inclusion \(i :F_{[m,n]} \rightarrow \tilde{M}\) on the fundamental groups

$$\begin{aligned} i_* :\pi _1(F_{[m,n]}) \twoheadrightarrow \pi _1(\tilde{M}) \end{aligned}$$

is surjective.

4 The space of infinitesimal deformations of a representation

We recall some standard facts on deformations of hyperbolic structures. These can be found for instance in [12].

Let X be a hyperbolic n-manifold and \(\rho \) a representation of \(\pi _1(X)\) in the Lie group \(G=\textrm{O}^+(n,1)={\textrm{Isom}}({{\mathbb {H}}}^n)\). The main example we keep in mind is when \(\rho \) is the holonomy of X. Recall that a deformation of \(\rho \) is a smooth path of representations \(\rho _t\), with t varying in an interval [0, 1), such that \(\rho _0=\rho \). For each element g in \(\pi _1(X)\) we consider the initial deformation direction:

$$\begin{aligned} \frac{d}{dt} \rho _t(g) |_{t=0}. \end{aligned}$$

In this way, we assign to any element g of \(\pi _1(X)\) a vector \(\zeta (g)\) in the tangent space of \(\rho (g)\) in G. From the Leibniz rule, we deduce the following equality

$$\begin{aligned} \zeta (gh) = \zeta (g) \rho (h) + \rho (g) \zeta (h). \end{aligned}$$

In the literature, the element \(\zeta (g)\) is often moved to \({\mathfrak {g}}\) using the differential of the right multiplication by \(\rho (g)^{-1}\), that is itself the right multiplication by \(\rho (g)^{-1}\) since G is a matrix group. So we define \(z(g) = \zeta (g) \rho (g)^{-1}\) and obtain a map

$$\begin{aligned} z: \pi _1(X) \longrightarrow {\mathfrak {g}}. \end{aligned}$$

To switch between \(\zeta \) and z it is sufficient to right-multiply by \(\rho (g)\) or by \(\rho (g)^{-1}\). The Leibnitz rule for \(\zeta \) transforms into the cocycle condition

$$\begin{aligned} z(gh) = z(g) + \rho (g) z(h) \rho (g)^{-1}. \end{aligned}$$
(2)

A cocycle is a map \(z :\pi _1(X) \rightarrow {\mathfrak {g}}\) that satisfies the cocycle condition. The cocycles form a vector space denoted by

$$\begin{aligned} Z^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }). \end{aligned}$$

This space contains the directions along which there could be a chance to deform the representation \(\rho \). Some of these directions are quite obvious and we would like to ignore them: consider a smooth path \(g_t\) of elements in G such that \(g_0={{\,\textrm{Id}\,}}\), and let \(k_t\) be the conjugation by the element \(g_t\). It is possible to deform the representation \(\rho \) as \(\rho _t = k_t(\rho )\). The resulting deformation direction z only depends on the tangent vector \(V=\frac{d}{dt}g_t|_{t=0} \in {\mathfrak {g}}\). Explicitly, we get

$$\begin{aligned} \zeta (g) = V \rho (g) - \rho (g) V, \qquad z(g)= V - \rho (g)V\rho (g)^{-1}. \end{aligned}$$

A cocycle obtained in this way is called a coboundary, and the subspace of all coboundaries is denoted by \( B^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }) \). The quotient of these two spaces

$$\begin{aligned} H^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }) = \frac{Z^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })}{B^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })} \end{aligned}$$

is called the space of infinitesimal deformations of \(\rho \). We say that \(\rho \) is infinitesimally rigid if such space is trivial.

This definition gains importance under the light of Weil’s lemma [18], that asserts that any infinitesimally rigid representation is also locally rigid, that is any deformation of \(\rho \) is induced by a path of conjugations.

Remark 13

The cocycle condition implies the following:

$$\begin{aligned} z(g^{-1})= - \rho (g)^{-1} z(g) \rho (g), \qquad z(e) = 0. \end{aligned}$$

By construction we have a surjective homomorphism

$$\begin{aligned} \psi :{\mathfrak {g}} \longrightarrow B^1(\pi _1(X),{\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }), \qquad \psi (V)( g) = V\rho (g) - \rho (g) V. \end{aligned}$$

Proposition 14

If the image of \(\rho \) has limit set \(S^{n-1} = \partial {{\mathbb {H}}}^n\), the map \(\psi \) is an isomorphism.

Proof

If \(\psi \) were not injective, we would get a non-trivial matrix \(V\in {\mathfrak {g}}\) that commutes with the image of \(\rho \). Therefore \(e^V \in G = \textrm{Isom}({{\mathbb {H}}}^n)\) would be a non-trivial isometry that commutes with the image of \(\rho \). This is easily seen to be impossible when the limit set is the whole \(S^{n-1}\). \(\square \)

Corollary 15

With the same hypothesis, we get

$$\begin{aligned} \dim B^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }) = \dim {\mathfrak {g}} = \dim G = \frac{n(n+1)}{2}. \end{aligned}$$

4.1 Finitely presented groups

If \(\pi _1(X)\) is finitely presented, we can determine \(H^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })\) as follows. Given a finite presentation

$$\begin{aligned} \pi _1(X)= \langle \ g_1, \ldots , g_h\ |\ r_1, \ldots , r_k\ \rangle , \end{aligned}$$

and a representation \( \rho :\pi _1(X) \rightarrow G\), a deformation of \(\rho \) is of course determined by its behavior on the generators. The same holds for a cocycle z in \(Z^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })\) since the following equalities hold

$$\begin{aligned} z(g h) = z(g) + \rho (g) z(h) \rho (g)^{-1}, \qquad z(g^{-1})= - \rho (g)^{-1} z(g) \rho (g). \end{aligned}$$

In particular \(H^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })\) has finite dimension. An arbitrary assignment of elements in \({\mathfrak {g}}\) to the generators of \(\pi _1(X)\) will not give rise to a cocycle in general: this assignment must fulfill some requirements that we now describe.

We represent the cocycles using \(\zeta \) instead of z. We get

$$\begin{aligned} \zeta (gh) = \zeta (g) \rho (h) + \rho (g) \zeta (h), \qquad \zeta (g^{-1}) = - \rho (g)^{-1} \zeta (g) \rho (g)^{-1}. \end{aligned}$$
(3)

Given a word w in \(g_1,\ldots , g_h\) and their inverses and some invertible matrices \(A_1,\ldots , A_h\), we denote by \(w(A_1,\ldots ,A_h)\) the matrix obtained by substituting in w each \(g_j\) with \(A_j\). Consider a h-uple of matrices

$$\begin{aligned} D = (D_1, \ldots , D_h) \in (M(n+1,{{\mathbb {R}}}))^h. \end{aligned}$$

Proposition 16

There is a cocycle \(\zeta \) with \(\zeta (g_i) = D_i\) for all i if and only if:

  • Every element \(D_i\) is in the tangent space in G at \(M_i=\rho (g_i)\), and

  • The relations vanish at first order along the direction D, i.e.

    $$\begin{aligned} \frac{d}{dt}r_i(M_1+tD_1,\ldots ,M_h+tD_h)\Big |_{t=0}=0 \ \ \forall i=1,\ldots ,k. \end{aligned}$$
    (4)

In this case we have

$$\begin{aligned} \zeta (g) = \frac{d}{dt}w(M_1+tD_1,\ldots ,M_h+tD_h)\Big |_{t=0} \end{aligned}$$
(5)

for every word w that represents g.

Proof

Let \(D_1,\ldots , D_h\) satisfy both conditions. We define \(\zeta (g)\) using (5). The definition is well-posed: indeed, if for every word w we define

$$\begin{aligned} \zeta (w) = \frac{d}{dt}w(M_1+tD_1,\ldots ,M_h+tD_h)\Big |_{t=0} \end{aligned}$$

then we easily deduce from the Leibnitz rule that

$$\begin{aligned} \zeta (w_1w_2) = \zeta (w_1) \rho (w_2) + \rho (w_1) \zeta (w_2), \qquad \zeta (w^{-1}) = - \rho (w)^{-1} \zeta (w) \rho (w)^{-1}. \end{aligned}$$

By hypothesis \(\zeta (r_i)=0\) and of course \(\rho (r_i) = I\). This implies easily that \(\zeta \) vanishes on every word obtained from the relators by conjugations, products, and inverses. This in turn easily implies that \(\zeta (w_1) = \zeta (w_2)\) whenever two words \(w_1\) and \(w_2\) indicate the same element g of the group.

Conversely, let \(\zeta \) be a cocycle. We first prove (5). Equality holds when \(w= g_i\), and we deduce easily that it holds for any word w using (3). We then deduce (4) using \(w=r_i\). \(\square \)

We can view a cocycle \(\zeta \) as an assignment of matrices \(D_1,\ldots , D_h\) to the generators \(g_1,\ldots , g_h\) that fulfill some requirements. A coboundary is determined by a vector \(V\in {\mathfrak {g}}\) as \(\zeta (g) = V \rho (g) - \rho (g) V\). We may pick a basis for \({\mathfrak {g}}\) and get a finite set of generators for \({B^1(\pi _1(X), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })}\).

4.2 Fundamental groupoids

The theory introduced in the previous pages extends from fundamental groups to fundamental groupoids with roughly no variation. This extension will be useful for us to prove Theorem 1.

Let X be a path-connected topological space and \(V\subset X\) a finite set of points. The fundamental groupoid \(\pi _1(X, V)\) relative to V is the set of continuous maps \(\alpha : [0,1] \rightarrow X\) with extremal points in V, up to homotopy which fixes extremal points. It is possible to concatenate two such paths if the ending point of the first is the initial point of the second. When we write \(\alpha _2 \alpha _1\) we mean that the first path is \(\alpha _1\) and the second one is \(\alpha _2\), and concatenation is possible.

The fundamental groupoid has a trivial element \(e_v\) for every \(v\in V\). For every \(v\in V\), inclusion defines an injection \(i_*:\pi _1(X,v) \hookrightarrow \pi _1(X,V)\).

A finite presentation of a groupoid is defined in the same way as for groups, as a set of generators and relators

$$\begin{aligned} \langle \ g_1, \ldots , g_h\ |\ r_1, \ldots , r_k \ \rangle \end{aligned}$$

where each \(g_i\) is an element of the groupoid, each \(r_j\) is a word in the \(g_i^{\pm 1}\) that represents some trivial element, every element of the groupoid is represented as a word in \(g_i^{\pm 1}\), and two words \(w_1, w_2\) represent the same element if and only if \(w_1w_2^{-1}\) makes sense and is obtained from the relations by formal conjugations, inversions, and multiplications.

Let \(V = \{v_0,\ldots , v_s\}\). For every \(i=1,\ldots , s\) pick an arc \(\alpha _i\) connecting \(v_0\) and \(v_i\). Given a finite presentation \(\langle \ g_i \ |\ r_j\ \rangle \) for \(\pi _1(X,v_0)\), we can construct one for \(\pi _1(X,V)\) by adding the arcs \(\alpha _1,\ldots , \alpha _s\) as generators.

We will always suppose that \(\pi _1(X, V)\) has a finite presentation.

4.3 Representations and cocycles

A groupoid representation is a map

$$\begin{aligned} \sigma : \pi _1(X,V) \rightarrow G \end{aligned}$$

such that \(\sigma ( \beta \alpha ) = \sigma ( \beta ) \sigma (\alpha )\) whenever it is possible to concatenate \(\alpha \) and \(\beta \). (Usually, a groupoid representation assigns a vector space to each \(v\in V\) and sends elements to morphisms between these vectors spaces: here we simply assign the same vector space \({{\mathbb {R}}}^{n+1}\) to every v and require the morphisms to lie in \(G=O^+(n,1)\).)

Given a grupoid representation \(\sigma \), it is possible to define its deformations and cocycles as we did in the previous section, the only difference being that multiplications should be considered only when they make sense.

A cocycle z is a map \(z:\pi _1(X,V) \rightarrow {\mathfrak {g}}\) that fulfills the cocycle condition (2) for every pair \(g,h \in \pi _1(X,V)\) of elements that can be multiplied. We denote the vector space of all cocycles as \(Z^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\). We still have two versions z and \(\zeta \) of the same cocycle that differ only by right multiplication by \(\sigma (g)^{-1}\). As in the previous case, a coboundary is determined by a vector \(V\in {\mathfrak {g}}\) as \(\zeta (g) = V \sigma (g) - \sigma (g) V\) and the subspace of all coboundaries is denoted by \(B^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\). The quotient of these two spaces is \(H^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\).

Proposition 16 is still valid in this context, with the same proof. If we have a finite presentation of \(\pi _1(X,V)\), we can determine all the cocycles in \(H^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\) in their \(\zeta \) version by assigning some matrices \(D_i\) to the generators that fulfill the indicated requirements at the relators.

The representation \(\sigma \) induces a representation \(\rho = \sigma \circ i_*\) for \(\pi _1(X,v_0)\). The spaces \(Z^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\) and \(Z^1(\pi _1(X,v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })\) are related in a simple way:

Proposition 17

The inclusion i induces a surjective map

$$\begin{aligned} i^* :Z^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma }) \twoheadrightarrow Z^1(\pi _1(X,v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }). \end{aligned}$$

The dimension of its kernel is \(\dim (G) \cdot (|V|-1)\).

Proof

Pick a finite presentation \(\langle \ g_i\ |\ r_j\ \rangle \) for \(\pi _1(X,v_0)\) and some arcs \(\alpha _k\) connecting \(v_0\) to \(v_k\). Then \(\langle \ g_i, \alpha _k\ |\ r_j \ \rangle \) is a presentation for \(\pi _1(X,V)\). A cocycle \(\zeta \) for \(\rho \) extends to a cocycle \(\zeta '\) for \(\sigma \) by assigning to each \(\alpha _k\) and arbitrary matrix tangent to G in \(\sigma (\alpha _k)\). The resulting \(\zeta '\) is a cocycle by Proposition 16, since both presentations have the same relators. There are \(|V|-1\) arcs \(\alpha _k\) and a space of dimension \(\dim (G)\) to choose from for each arc. \(\square \)

The previous proposition can be upgraded for the representation \(\rho \) we are interested in.

Corollary 18

If the image of \(\rho \) has limit set \(S^{n-1}\), the inclusion i induces a surjective homomorphism

$$\begin{aligned} i^* :H^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma }) \longrightarrow H^1(\pi _1(X,v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }). \end{aligned}$$

The dimension of its kernel is \(\dim (G) \cdot (|V|-1)\).

Proof

The spaces \(B^1(\pi _1(X,V), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma })\) and \(B^1(\pi _1(X,v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho })\) have both dimension equal to \(\dim G\) by Proposition 14. Hence the map \(i^*\) sends the former to the latter isomorphically. \(\square \)

4.4 Cube complexes

Let C be a finite connected cube complex. It is natural here to consider its set of vertices V and the fundamental groupoid \(\pi _1(C,V)\). This has a natural presentation

$$\begin{aligned} \langle \ g_1,\ldots , g_h\ |\ r_1,\ldots , r_k\ \rangle \end{aligned}$$
(6)

where \(g_1,\ldots , g_h\) are the edges of C, oriented arbitrarily, and \(r_1,\ldots , r_k\) are 4-letters words in \(g_i^{\pm 1}\) arising from the square faces of C, oriented arbitrarily.

Let v be a fixed vertex of C. To pass from the presentation (6) of \(\pi _1(C,V)\) to one for the fundamental group \(\pi _1(C,v)\) it suffices to choose a maximal tree T in the 1-skeleton of C and to add a relator \(g_i\) representing every edge contained in T.

4.5 Proving rigidity of \(\widetilde{M}\)

Here we explain the main method to prove infinitesimal rigidity. The holonomy of \(\widetilde{M}\) is a homomorphism

$$\begin{aligned} \rho : \pi _1(\widetilde{M}) \longrightarrow {\textrm{Isom}}({{\mathbb {H}}}^n). \end{aligned}$$

The manifold \(\widetilde{M}\) deformation retracts onto the infinite cube complex \(\widetilde{C}\). The fundamental group \(\pi _1(\widetilde{M})\) could be not finitely presented (this is the case in dimension 4, see [2]), and \(\widetilde{C}\) is infinite, so the techniques introduced in the previous section do not apply here. However, it will be sufficient to consider a finite portion \(C'\) of \(\widetilde{C}\) and use the following.

Proposition 19

Let \(C'\) be a finite subcomplex of \(\widetilde{C}\) such that

$$\begin{aligned} i_*:\pi _1(C', v_0) \twoheadrightarrow \pi _1(\widetilde{C}, v_0) \end{aligned}$$

is surjective. If \( \rho ' = \rho \circ i_* \) is infinitesimally rigid then \(\rho \) is infinitesimally rigid.

Proof

The surjective homomorphism \(i_*\) induces an injective homomorphism

$$\begin{aligned} i^* :H^1(\pi _1(\widetilde{C},v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho }) \longrightarrow H^1(\pi _1(C',v_0), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho \circ i_*}). \end{aligned}$$

If the target space is trivial, the domain also is. \(\square \)

Recall that every k-cube of \(\widetilde{C}\) has some level. The finite subcomplex \(F_{[m,n]}\) defined in Sect. 3.3 is connected, and by Corollary 12 the inclusion \(F_{[m,n]} \rightarrow \widetilde{C}\) is \(\pi _1\)-surjective (we suppose that \(n-m \ge 2\)). In the cases described in Sects. 5.2.25.2.3 we will prove that the representation \(\rho ' = \rho \circ i_*\) is infinitesimally rigid.

Let V (respectively, \(V'\)) be the set of vertices of \(\widetilde{C}\) (respecively, \(F_{[m,n]}\)). The representation \(\rho \) (respectively, \(\rho '\)) extends to a representation \(\sigma \) (respectively, \(\sigma '\)) of the groupoid \(\pi _1(\widetilde{C},V)\) (respectively, \(\pi _1(F_{[m,n]},V')\)) that is easy to describe. Consider the orbifold-covering

$$\begin{aligned} p: \widetilde{M} \longrightarrow P \end{aligned}$$

where P is the polytope used in the construction of the manifold, interpreted as an orbifold \(P = {{\mathbb {H}}}^n/_\Gamma \). Here \(\Gamma \) is the Coxeter group generated by reflections along the facets of P. The map p sends every vertex of V to the center v of P. It induces a map

$$\begin{aligned} p_*: \pi _1(\widetilde{C}, V) \longrightarrow \pi _1^{orb}(P, v) = \Gamma . \end{aligned}$$

Consider the natural presentation \(\langle \ g_i\ | \ r_j\ \rangle \) of \(\pi _1(\widetilde{C},V)\), with generators and relators corresponding to oriented edges and squares of \(\widetilde{C}\). Every \(g_i\) corresponds to an oriented edge of \(\widetilde{C}\), which in turn determines a facet F of P. The map \(p_*\) sends \(g_i\) to the reflection \(r_F\) along F. The orientation of \(g_i\) is not important since \(r_F^2 = {\textrm{id}}\).

The map \(p_*\) is very convenient because it sends every generator \(g_i\) to a reflection \(r_F\). We write \(\sigma = p_*\) and denote by \(\sigma '\) its restriction to \(\pi _1(F_{[m,n]},V')\).

We now need to calculate the dimension of \(H^1(\pi _1(F_{[m,n]},V'), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma '})\). To do this we create a linear system and study its solutions using MATLAB.

5 The numerical analysis

Here we describe in detail the methods used and the results obtained.

5.1 The algorithm

In this subsection, we explain the algorithm that we used to build up and solve our linear system. The code can be found at [1]. To understand the numbers involved in the computation, we give names to certain quantities:

  • We call n the dimension of the ambient space \({{\mathbb {H}}}^n\) of the polytope P;

  • We call \(n_{\text {facets}}\) the number of facets of the polytope P;

  • We call \(n_{\text {2-cofaces}}\) the number of faces of codimension 2 of P;

  • We call c the number of colours used.

5.1.1 Getting the combinatorics of \(F_{[m,n]}\)

We choose to work with the subcomplex \(F_{[-1,2s-1]}\), where s is a positive integer. As s grows, we are considering a bigger part of \(\widetilde{C}\). Keep in mind that the deck transformation acts on \(\widetilde{C}\) translating levels by \(\pm 2\).

The vertices of \(F_{[-1,2s-1]}\) are \(2^{c-1} \cdot (2s+1)\) points.

We have written a Python code that enumerates the edges of the cube complex C associated with M. As we already pointed out, these edges are in correspondence with facets of the polytopes \(P_v\) where v is even. The edges of \(F_{[-1,2s-1]}\) will be s copies of the edges of C: each edge of C has a unique lift with one vertex of level 2i for \(i=0,\ldots ,s-1\). The number of edges of \(F_{[-1,2s-1]}\) will be

$$\begin{aligned} n_{\text {facets}} \cdot 2^{c-1} \cdot s. \end{aligned}$$

The edges of \(F_{[-1,2s-1]}\) can be used to provide a set of generators of the fundamental groupoid \(\pi _1(F_{[-1,2s-1]},V')\). To promote a list of edges to a set of generators we need to orient each one of them. This orientation is used to interpret edges as paths, and should not be confused with the one given by the state of the polytope. We orient each edge from the vertex of even level towards the vertex of odd level. Each generator \(g_i\) is sent by \(\sigma '\) to a reflection \(r_F\) along a facet F of the polytope P, that we denote by \(M_i\) to be consistent with Proposition 16.

Then we need to encode the squares of \(F_{[-1,2s-1]}\). We start by getting a list of the squares of C. Then for each square we consider the lifts that have vertices with level in \([-1,2s-1]\). See Figs. 14, 15, 16, 17, 18, 19 and 20 for an example.

Fig. 14
figure 14

The right-angled hyperbolic regular octahedron. Figure downloaded from Wikimedia and licensed under the Creative Commons Attribution-Share Alike

Fig. 15
figure 15

The colouring and the state we consider on the octahedron, already described in [10]. The cube depicted is the dual of the boundary of the octahedron, hence vertices correspond to facets and edges correspond to edges. There are no faces of dimension 2 because the vertices of the octahedron are ideal

Fig. 16
figure 16

One way to encode at the same time the colouring and the state. The contour of a vertex is enhanced (resp. not enhanced) if the corresponding facet has letter I (resp. O) in the state. We also enumerate the facets. We need this in order to list all the edges of the cube complexes C and \(\tilde{C}\)

Fig. 17
figure 17

The 1-skeleton of the cube complex C. The orientation on the edges is the one given by the state. In order to get the full C we should add 12 squares. The enumeration of the edges is obtained in the following way: we enumerate the facets of P (see Fig. 16). The edges coming from the vertex \(x_{0}\) are in correspondence with these facets. We then enumerate the vertices \(x_{v}\) with v even (in this case only \(x_{1,1}\)) and extend the enumeration on the edges coming from them

Fig. 18
figure 18

The 1-skeleton of \(F_{[-1,3]}\). The enumeration of edges follows the one of Fig. 17: the edges with one vertex of level zero are in correspondence with the ones of C, and there is a copy of each of them with one vertex at level 2

Fig. 19
figure 19

One portion of the infinite 1-skeleton of the cube complex \(\tilde{C}\)

Fig. 20
figure 20

Two squares and their lifts in \(F_{[-1,1]}\) and \(F_{[-1,3]}\)

5.1.2 Creating the linear system

We can now write the linear system with MATLAB following Proposition 16. The dimension of the kernel of this linear system will be the dimension of \(Z^1(\pi _1(F_{[m,n]},V'), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\sigma '})\). We have a deformation \(D_i\) for every generator \(g_i\), and this gives

$$\begin{aligned} n_{\text {facets}} \cdot 2^{c-1} \cdot s \cdot (n+1)^2 \end{aligned}$$

variables, since each \(D_i\) is an unknown matrix \((n+1, n+1)\).

Following Proposition 16, the deformations have to fulfill two types of linear equations:

  • They must lie in the tangent space at \(M_i\). This is achieved by imposing the equation

    $$\begin{aligned} D_i^t \cdot J\cdot M_i + (J\cdot M_i)^t \cdot D_i=0, \end{aligned}$$

    where J is the diagonal matrix \((1,\ldots ,1,-1)\);

  • They have to solve the equations given by the relations. We have one equation for each square in \(F_{[-1,2s-1]}\). There are a couple of tricks that can be used to simplify this type of equations; we make an example to show them explicitly. Let Q be a square with boundary \(g_1g_2^{-1}g_3g_4^{-1}\). The corresponding equation will be:

    $$\begin{aligned}{} & {} D_1 M_2^{-1} M_3 M_4^{-1} + M_1 (-M_2^{-1}D_2M_2^{-1}) M_3 M_4^{-1} \\{} & {} \quad + M_1 M_2^{-1} D_3 M_4^{-1} + M_1 M_2^{-1} M_3 (-M_4^{-1}D_4M_4^{-1}) = 0. \end{aligned}$$

    Every generator is sent by \(\sigma '\) to a reflection, hence \(M_i=M_i^{-1}\). In this way, we avoid matrix inversions that are computationally heavy and could add numerical noise to the problem. Furthermore, we know that opposite sides of one square always go to the same matrix \(M_i\) (because they correspond to the same facet of P). We can then simplify the equation using \(M_1=M_3\) and \(M_2=M_4\). It is also true that \(M_1M_2=M_2M_1\) because they correspond to adjacent facets of a right-angled polytope. In the end, we obtain:

    $$\begin{aligned} D_1 M_1 - M_1 M_2 D_2 M_1 + M_1 M_2 D_3 M_2 - D_4 M_2 = 0. \end{aligned}$$

    These simplifications helped a lot in numerical computations, and they were possible only because we used the groupoid structure. They also allow us to make the symbolical computations run faster.

Notice that these are matrix equations, so each of them represents actually \((n+1)^2\) equations (one for every entry of the matrix). By virtue of Proposition 3, the number of squares in C is

$$\begin{aligned} n_{\text {2-cofaces}} \cdot 2^{c-2}. \end{aligned}$$

We approximate the number of squares of C that have a lift in \(F_{[-1,1]}\) with one half of this value (this value is often correct for symmetric reasons. In any case, it is a good approximation), see Fig. 20. Hence, the number of squares of \(F_{[-1,2s-1]}\) is approximately

$$\begin{aligned} n_{\text {2-cofaces}} \cdot 2^{c-2} \cdot \left( s-\frac{1}{2}\right) . \end{aligned}$$

The linear system that we obtain has size that is approximately

$$\begin{aligned} (n+1)^2 \left( n_{\text {facets}} 2^{c-1} s + n_{\text {2-cofaces}} 2^{c-2} \left( s-\frac{1}{2}\right) \right) \times (n+1)^2 n_{\text {facets}} 2^{c-1} s. \end{aligned}$$

5.1.3 The MATLAB rank function

Once we have built the linear system, we need to compute its rank. This can be done in two different ways in MATLAB.

  • If the matrix is a symbolic matrix, the rank is calculated in a rigorous way. This is more time consuming and requires more RAM in order to be carried out.

  • If the matrix is a double matrix (i.e. its entries are numerical values in double precision) the rank function does the following: it calculates the singular values of the matrix (see [15]) and counts the ones that are greater than a tolerance value (the standard tolerance used by MATLAB depends on size and norm of the matrix). The result is not rigorous. Its reliability can be estimated using the gap between the singular values greater than the tolerance and the smaller ones. In particular, a measure of the reliability of the computation is given by \({\Sigma _{\text {min}}}/{\sigma _{\text {max}}}\), where \(\Sigma _{\text {min}}\) is the smallest singular value greater than the tolerance and \(\sigma _{\text {max}}\) is the greatest singular value smaller than the tolerance. When the gap is big, the result is reliable. In our cases, this gap is always big enough to let us trust the result, as we will show in detail. The Singular Value Decomposition algorithm is more time consuming than some alternatives, but it is also the most reliable.

We had not time and resources to carry out all computations in symbolic form for all examples we had. However, if we focus on one specific case, we are probably able to compute it in a rigorous way. For the 5-dimensional example (that is probably the most interesting one) we needed to use ad-hoc simplifications of the linear system in order to carry out the computations symbolically.

5.2 Applying the algorithm

Here we describe the results obtained, that prove Theorem 1.

5.2.1 An example in dimension 3: checking known results

We start by using the algorithm on a colouring and a state on the right-angled ideal octahedron in dimension 3, where all results can be checked using the theory of hyperbolic 3-manifolds.

The colouring and the state \(s_{0}\) are shown in Fig. 15. The manifold obtained from this colouring is the minimally twisted chain link with six components. Using the methods in [2], it is easy to show that this state induces a fibration on \(S^1\). The fiber N of this map is a six-punctured sphere.

The infinite cyclic covering is diffeomorphic to the product \(N \times {{\mathbb {R}}}\), hence its fundamental group is simply

$$\begin{aligned} \pi _1(\tilde{M})= \langle g_1,\ldots ,g_5\rangle . \end{aligned}$$

Since there are no relations, the dimension of the space of cocycles is simply \(\dim (O(3,1))\cdot 5 = 30\). Using Corollary 15, we deduce that \(\dim (B^1) = \dim (O(3,1)) = 6\). Hence, the dimension of the space of infinitesimal deformation of \(\tilde{M}\) is:

$$\begin{aligned} \dim H^1(\pi _1(\tilde{M}), {\mathfrak {g}}_{{{\,\textrm{Ad}\,}}\rho '}) = 30-6 = 24. \end{aligned}$$

We now use our algorithm to compute the same quantity.

We start by finding the holonomy of the octahedron. Then using Sage we obtain the combinatorics of \(F_{[-1,1]}\). With this data, we can run the algorithm and find the singular values of the linear system of size \(352 \times 256\) defined as in Sect. 5.1.2. The singular values that we obtain are plotted in Fig. 21. Of the 256 singular values, 196 are greater than \(10^{-1}\), and 60 are smaller than \(10^{-14}\). The tolerance suggested by MATLAB is \(10^{-12}\). The values that are greater than the tolerance are 11 orders of magnitude greater and the ones smaller than the tolerance are 2 orders of magnitude smaller. Notice also that the singular values smaller than the tolerance are close to the machine epsilon: they are only two orders of magnitude greater. For these reasons, we consider this computation reliable.

Fig. 21
figure 21

In blue, the singular values of the linear system of the octahedron. In red, the tolerance suggested by MATLAB. The y-axis is in a logarithmic scale. The first 196 singular values are much greater than the tolerance, and the last 60 are much smaller than the tolerance. In every computation, the graph we get is very similar

Once we get the value 60, we need to subtract the amount that comes from the fact that we are using the fundamental groupoid and the dimension of the coboundaries. Using Proposition 17 and Corollary 15 we estimate the dimension of the space of infinitesimal deformations with

$$\begin{aligned} \dim (H^1(\pi _1(\widetilde{C},v_0)) \le 60 - \#\left\{ \text {vertices of }F_{[-1,1]} \right\} \cdot \dim (G)=60-6\cdot 6 = 24. \end{aligned}$$

Remark 20

In this case, the bound we find is sharp. However, with our algorithm we only get an upper bound for the dimension of the space of infinitesimal deformations. This is because the map induced by the inclusion of \(F_{[-1,1]}\) in \(\tilde{M}\) on the fundamental groups is surjective, but we do not know whether it is injective in general. However, when the upper bound is 0, we can conclude that \(\tilde{M}\) is infinitesimally rigid, as stated in Proposition 19.

5.2.2 Dimension 4

In dimension 4 we find new results using this machinery. Recall that we cannot have fibrations: this follows from the positiveness of the Euler characteristic.

We start with a right-angled polytope with a colouring and a state. We use the state to define an orientation on all edges of C (in this section we follow the convention of [2]). In order to apply the algorithm we need all ascending and descending links to be connected (recall Fact 9).

In [2] there are several examples that satisfy this condition. In particular, we applied our algorithm in the following cases:

  • The polytope \(P_4\) with the colouring and the state shown in [2], Figs. 4 and 5. In this case the manifold M is the manifold W described in [2], Section 2.1;

  • The 24-cell with the colouring shown in [2], Fig. 6 and the 63 states described in [2], Section 2.2. In this case the manifold M is the manifold X described in [2], Section 2.2;

  • The 120-cell with the colouring and the state described in [2], Section 2.4. In this case, the manifold M is the manifold Z described in [2], Section 2.4.

In every case, we obtained the infinitesimal rigidity of the infinite cyclic covering. Every computation but one is numerical. With the 24-cell and one state (the most symmetric one, as described in [2], Section 2.2.1 and shown in Fig. 22), we carried out the computation symbolically. The results are shown in Tables 2 and 3. In particular, we proved:

Theorem 21

The infinite cyclic covering of the manifold X (described in [2], Section 2.2) associated with the map induced by the status described in [2], Section 2.2.1 is infinitesimally rigid.

Notice that in all the cases considered in this section the function \(f :C \rightarrow S^1\) can be extended on M and is homotopic to a perfect circle-valued Morse function (see [2]).

Table 2 The numerical results on the 63 states on the 24-cell
Table 3 The results on the other right-angled polytopes
Fig. 22
figure 22

The colouring and the state on the 24-cell for which we made out symbolic computations

Fig. 23
figure 23

The pictures obtained by using the MATLAB function spy on the \( 175104 \times 73728 \) linear system coming from \(P_5\) (left) and on its principal minor \(180 \times 180\) (right). In the left picture, we notice clearly the distinction between equations given by tangency conditions and ones given by squares. Given a \(m \times n\) matrix M, the function spy(M) creates a \(m \times n\) white grid and colours the element (ab) of the grid if and only if \(M_{a,b}\) is not 0

5.2.3 Dimension 5

In [9], Italiano, Martelli, and Migliorini found an interesting example of fibration \(f :M \rightarrow S^1\) in dimension 5. We can apply our algorithm to their construction to prove the infinitesimal rigidity of the associated infinite cyclic covering.

Following their construction, we use the polytope \(P_5\), the paired colouring shown in [9], Fig. 3 and the state shown in [9], Fig. 9. To define the orientation on the edges of C we use the convention in [9], Section 1.6.

The linear system associated with \(F_{[-1,1]}\) has size \(175104 \times 73728\). Trying to compute the rank of the symbolic linear system built as in Sect. 5.1.2 made MATLAB freeze. In order to compute its exact rank, we had to simplify the system using its structure, see Fig. 23. The manipulations derive from linear algebra considerations and the details can be found in [1]. In particular, we proved the following:

Theorem 22

The infinite cyclic covering of the manifold \(M^5\) associated with the map f (both described in [9], Section 1) is infinitesimally rigid.

6 Related results and open questions

The results we found suggest several patterns that we discuss in this section.

6.1 Ignoring relations

It appears that it is often enough to use \(F_{[-1,1]}\) to prove the rigidity of the manifold \(\widetilde{M}\). The algorithm applied to this specific subcomplex can be interpreted in a nice way. Here we elaborate on this aspect.

We want to compare the algorithm applied to \(F_{[-1,1]}\) with the algorithm applied to C, the cube complex on which the finite-volume manifold M retracts. The number of vertices of \(F_{[-1,1]}\) is \(\frac{3}{2}\) times the number of vertices of C: this is because odd vertices have two lifts in \(F_{[-1,1]}\) while even vertices have only one lift. Let V be the set of vertices of C and \(V'\) be the set of vertices of \(F_{[-1,1]}\). The groupoids \(\pi _1(C, V)\) and \(\pi _1(F_{[-1,1]}, V')\) have the same number of generators: this holds because every edge in C has exactly one lift in \(F_{[-1,1]}\). If we look at the squares (that correspond to relations in the groupoid), some squares of C have one lift in \(F_{[-1,1]}\) and some of them have zero lifts in \(F_{[-1,1]}\), see Fig. 20. The ones that have no lift in \(F_{[-1,1]}\) are the ones whose lifts connect two even vertices that have different level. This means that the presentations of the groupoids \(\pi _1(C, V)\) and \(\pi _1(F_{[-1,1]}, V')\) differ only by a certain number of relations, that appear in \(\pi _1(C, V)\) and do not appear in \(\pi _1(F_{[-1,1]}, V')\).

When we build the linear system associated with \(\pi _1(C, V)\), by Mostow rigidity we know that the dimension of the kernel must be \(\dim (G) \cdot \#V\): this is because the manifold M has finite volume. With some states (the ones that made us able to prove rigidity by looking at \(F_{[-1,1]}\)), ignoring the relations given by the squares that have no lift in \(F_{[-1,1]}\) raised the dimension of the kernel to \(\dim (G) \cdot \frac{3}{2} \cdot \#V\). In other cases, the kernel became greater (in these cases we needed to consider \(F_{[-1,3]}\) to find rigidity, see Table 2).

Question 23

Is there any nice way to distinguish between the states such that the complex \(F_{[-1,1]}\) is enough to prove rigidity and the other ones?

6.2 Always rigid?

In the papers [2, 9] there are several examples where \(\ker (f_*)\) is finitely generated. In some of these cases (the ones shown in Sects. 5.2.2 and 5.2.3) it was possible to apply our method, and we were always able to prove (or to obtain strong numerical evidence in favor of the fact) that the hyperbolic structure was infinitesimally rigid. Hence, it is quite natural to conjecture the following:

Conjecture 24

Let M be a finite volume hyperbolic manifold in dimension greater than or equal to 4. Let \(f :M \rightarrow S^1\) be a homotopically non-trivial smooth map such that \(\ker (f_*)\) is finitely generated, where \(f_*\) is the map induced on the fundamental groups. Then the cyclic covering associated with the subgroup \(\ker (f_*)\) is infinitesimally rigid.Footnote 1