CHARACTERIZING GENERIC GLOBAL RIGIDITY

STEVEN J. GORTLER, ALEXANDER D. HEALY, AND DYLAN P. THURSTON

d Abstract. A d-dimensional framework is a graph and a map from its vertices to E . d Such a framework is globally rigid if it is the only framework in E with the same graph and edge lengths, up to rigid motions. For which underlying graphs is a generic framework globally rigid? We answer this question by proving a conjecture by Connelly, that his sufficient condition is also necessary. The condition comes from considering the geometry of the length-squared mapping `; essentially, the graph is generically locally rigid iff the rank of ` is maximal, and it is generically globally rigid iff the rank of the Gauss map on the image of ` is maximal. We also show that this condition is efficiently checkable with a randomized algorithm.

1. Introduction In this paper we characterize those generic frameworks which are globally rigid in d- dimensional Euclidean space. We do this by proving a conjecture of Connelly [8], who described a sufficient condition for generic frameworks to be globally rigid, and conjectured that this condition was necessary. As the truth of this condition depends only on the graph and the dimension d, and not on the specific framework of that graph, we can conclude that generic global rigidity in Ed is a property of a graph. We further show that this property can be checked in probabilistic time. Global rigidity has applications in chemistry, where various technologies inter- atomic distances. From this data one may try to infer the geometry of the configuration [9, inter alia]. This inference is only well posed if the associated framework is globally rigid. Moreover, testing for generic global rigidity can be used as part of a divide-and-conquer strategy for this inference [15]. Similar problems arise in the field of sensor networks [5, inter alia]. 1.1. Definitions and Main Results. Definition 1.1. A graph Γ is a set of v vertices V(Γ) and e edges E(Γ), where E(Γ) is a set of two-element subsets of V(Γ). We will typically drop the graph Γ from this notation. A configuration of Γ in Ed is a mapping from V(Γ) to Euclidean space Ed.A framework ρ in Ed is a graph Γ together with a configuration of Γ in Ed; we will also say that ρ is a framework of Γ. Let Cd(Γ) denote the space of frameworks with a given graph Γ and dimension d. For ρ ∈ Cd(Γ) and u ∈ V(Γ), let ρ(u) denote the image of u under the configuration of ρ. For a given graph Γ and dimension d, the length-squared function ` : Cd(Γ) → Re is the function assigning to each edge of Γ its squared edge length in the framework. In particular, the component of `(ρ) in the direction of an edge {u, w} is |ρ(u) − ρ(w)|2.

Definition 1.2. A framework ρ in Ed is congruent to another framework if they are re- lated by an element of the group Eucl(d) of rigid motions of Ed (rotations, reflections, and

1991 Subject Classification. 05C62; 14P99. 1 2 GORTLER, HEALY, AND THURSTON translations). We say that ρ is globally rigid if ρ is the only framework of Γ in Ed with the same edge lengths, up to congruence. Equivalently, ρ is globally rigid iff `−1(`(ρ))/ Eucl(d) consists of [ρ], the congruence class of frameworks which contains ρ. Definition 1.3. A framework ρ ∈ Cd(Γ) is locally rigid if there exists a neighborhood U of ρ in Cd(Γ) such that ρ is the only framework in U with the same set of edge lengths, up to congruence; equivalently, [ρ] is isolated in `−1(`(ρ))/ Eucl(d).1 Definition 1.4. A framework is generic if the coordinates of its configuration do not satisfy any non-trivial algebraic equation with rational coefficients. We first deal with graphs with very few vertices. Asimow and Roth proved that a generic framework ρ in Ed of a graph Γ with d+1 or fewer vertices is globally rigid if Γ is a complete graph (i.e., a simplex), otherwise it is not even locally rigid [1]. Therefore in the rest of the paper we may assume that our graph has d + 2 or more vertices. In particular, this implies that a generic framework does not lie in a proper affine subspace of Ed. Since Eucl(d) acts freely on frameworks that do not lie in a proper affine subspace of Ed, for such a framework ρ, the fiber `−1(`(ρ)) always has dimension at least dim(Eucl(d)). A generic framework with at least d + 1 vertices is locally rigid in Ed iff the dimension of this fiber is no larger. The intuition behind the following definition and theorem is that the dimension of a generic fiber of an algebraic map f is the same as the kernel of the ∗ Jacobian fx of f at a x. ∗ Definition 1.5. Let `ρ be the rigidity matrix of ρ, the Jacobian of ` at the framework ρ; by definition, this is a linear map from Cd(Γ) to Re. A framework ρ ∈ Cd(Γ) of a graph Γ with d + 1 or more vertices is infinitesimally rigid if d + 1 (1) rank `∗ = dim(Cd(Γ)) − dim(Eucl(d)) = vd − . ρ 2 Theorem 1.6 (Asimow-Roth [1]). If a generic framework ρ ∈ Cd(Γ) of a graph Γ with d+1 d ∗ or more vertices is locally rigid in E , then it is infinitesimally rigid. Otherwise rank `ρ is d+1 lower than vd − 2 . Since the rank of the linearization an algebraic map is the same (and maximal) at every generic point, local rigidity in Ed is a generic property. (See also Lemma 4.6.) That is, either all generic frameworks in Cd(Γ) are locally rigid, or none of them are. Thus we can call this condition generic local rigidity in Ed and consider it as a property of the graph Γ. We next define some concepts we need to state the condition for generic global rigidity. Definition 1.7. An equilibrium stress vector of a framework ρ of Γ is a real valued function ω on the (undirected) edges of Γ so that for all vertices u ∈ V, X (2) ω({u, w})(ρ(w) − ρ(u)) = 0. {w∈V|{u,w}∈E} (Note that the all-zero function is an equilibrium stress vector for any ρ.) Let S(ρ) be the vector space of equilibrium stress vectors of the framework ρ. Remark 1.8. In many cases, we can interpret (2) as saying that each vertex u is the weighted average of its neighbors, with weights given by ω({u, w}). This interpretation breaks down if

1This property is usually just called rigidity but we will use term local rigidity in this paper to make explicit its distinction from global rigidity. CHARACTERIZING GENERIC GLOBAL RIGIDITY 3

P 3 w ω({u, w}) = 0, as happens, for instance, for K5,5 in E . (See Section 3.4.) An alternate interpretation is that if we put springs on the edges of Γ with spring constants given by ω, the resulting forces on each vertex balance out. Note, however, that some of the spring constants are necessarily negative. Definition 1.9. An equilibrium stress matrix of a framework ρ of Γ is a rearrangement of an equilibrium stress vector into a matrix form, with suitably chosen diagonal entries. It is a matrix Ω indexed by V × V so that • for all u, w ∈ V, Ω(u, w) = Ω(w, u); • for all u, w ∈ V with u 6= w and {u, w} 6∈ E, Ω(u, w) = 0; • for all u ∈ V, P Ω(u, w) = 0; and Pw∈V • for all u ∈ V, w∈V Ω(u, w)ρ(w) = 0. For every equilibrium stress vector ω there is a unique equilibrium stress matrix Ω so that for u 6= w and {u, w} ∈ E, Ω(u, w) = ω({u, w}), and conversely. (This implies that Ω(u, u) = P − w6=u ω({u, w}).) Thus we will freely convert between equilibrium stress vectors and equilibrium stress matrices. If Ω is an equilibrium stress matrix for ρ, we will also say that ρ satisfies the stress matrix Ω. It follows immediately from the equations above that if ρ satisfies a stress matrix Ω, then so does any affine transform of ρ. Definition 1.10. The stress kernel K(ρ) of a framework ρ of Γ is the intersection of the T null spaces of all its equilibrium stress matrices: K(ρ) := Ω∈S(ρ) ker Ω. This is the same as the kernel of any generic equilibrium stress matrix in S(ρ). It is also isomorphic to the space of frameworks of Γ in E1 which satisfy all the equilibrium stress matrices in S(ρ) (and maybe more). As has been noted by Hendrickson [15, Theorem 2.5], for a generic framework ρ, dim K(ρ) does not depend on the particular generic framework ρ ∈ Cd(Γ), only on the graph Γ and the dimension d. (See also Lemma 4.8.) Let k be this dimension of K(ρ) for generic ρ. (For instance, if generically the only equilibrium stress matrix is the zero matrix, then k = v.) K(ρ) always contains the subspace spanned by the coordinates of ρ along each axis and the vector ~1 of all 1’s. This corresponds to the fact that any affine image of ρ satisfies all of the equilibrium stress matrices in S(ρ). If ρ does not lie in a proper affine subspace of Ed, these vectors are independent and span a (d + 1)-dimensional space, so for a graph Γ with at least d + 1 vertices, k ≥ d + 1.

Definition 1.11. A graph has a minimal stress kernel in Ed if k = d + 1. As we will see, having a minimal stress kernel is equivalent to generic global rigidity. Before continuing we point out that there is an alternate way of interpreting a minimal stress kernel, by using the rank of maps. Definition 1.12. A point on an irreducible V defined over a field k is generic if its coordinates do not satisfy any algebraic equation with coefficients in k besides those that are satisfied by every point on V . (If we dropped the assumption of irreducibility, there would be no generic points, as the different components of the variety are defined by different equations.) The rank of an algebraic map between irreducible algebraic varieties is rank of its lin- earization at generic points in the domain. (This is also the maximum rank of its lineariza- tion.) 4 GORTLER, HEALY, AND THURSTON

Thus Theorem 1.6 says that a graph is generically locally rigid in Ed if and only if the rank of the map ` is “the largest it can be”. We now need to recall some definitions and facts about semi-algebraic sets from real . For a general reference, see, for instance, the book by Bochnak, Coste, and Roy [4].

Definition 1.13. A semi-algebraic set is a subset of Rn defined by algebraic equalities and inequalities; alternatively, it is the image of an algebraic set (defined only by equalities) under an algebraic map. A semi-algebraic set has a well defined (maximal) dimension t.A point of a semi-algebraic set is smooth if it has a neighborhood that is smoothly isomorphic to Rt; in this case there is a well-defined tangent space. The Zariski closure of a semi-algebraic set is the smallest algebraic set containing it. We call a semi-algebraic set irreducible if its Zariski closure is irreducible. A semi-algebraic set has the same dimension as its real Zariski closure [4, Lemma 2.8.2]. A point on an irreducible semi-algebraic set is generic if it is generic in the Zariski closure of the set. As for varieties, every generic point of a semi-algebraic set is smooth. Definition 1.14. The image of ` is called the measurement set and denote by M. It is a semi-algebraic set.

∗ d+1 The dimension t of M is the rank of `ρ at generic points ρ (and is vd − 2 when the graph is generically locally rigid in Ed). Lemma 1.15. The semi-algebraic set M is irreducible. Proof. M is the image of Cd(Γ) under a homogeneous polynomial mapping. Since Cd(Γ) is irreducible (as it is a linear space) and the image of an irreducible set is irreducible, it follows that M is irreducible.  In particular, M has generic points (which are necessarily smooth). Consider now the Gauss map, the map that takes each smooth point of M to its tangent space. We consider the tangent space as a point in the space of t-dimensional planes in Re, the Grassmannian Gr(t, e), so we get a map G : M 99K Gr(t, e). (The dashed arrow indicates that the map is not defined at non-smooth points, which must lie on some variety of dimension less than t; formally, G is defined on a Zariski open subset of M.) We may then consider the rank of G; in fact, this rank is closely related to k. We will prove the following proposition at the end of Section 2.3. Proposition 1.16. The fiber of G ◦ ` at a generic framework ρ is isomorphic to an open subset of K(ρ)d. The maps G and G ◦ ` both have rank vd − kd. Since k ≥ d+1, we also have rank G ≤ vd−(d+1)d. Thus we can introduce the following terminology.

Definition 1.17. A graph Γ has maximal Gauss rank in Ed if rank G = vd − (d + 1)d. In particular, a graph Γ has a minimal stress kernel iff it has maximal Gauss rank. We can now state (in our terminology) Connelly’s criterion for generic global rigidity. Theorem 1.18 (Connelly [8]). If a graph Γ with d + 2 or more vertices has maximal Gauss rank in Ed, then all generic frameworks ρ ∈ Cd(Γ) are globally rigid. Our main result is the converse of Connelly’s result, which completes the characterization of generic global rigidity. CHARACTERIZING GENERIC GLOBAL RIGIDITY 5

Theorem 1.19. If a graph Γ with d+2 or more vertices does not have maximal Gauss rank in Ed, then any generic framework ρ ∈ Cd(Γ) is not globally rigid. Putting these two together, we can also conclude that global rigidity is a generic property. Corollary 1.20. Either all generic frameworks in Cd(Γ) of a graph are globally rigid, or none of them are. Thus we can call this condition generic global rigidity in Ed and consider it as a property of a graph. Since all maps we consider are algebraic, equivalent statements to generic global rigidity in Ed include the following: • frameworks in a Zariski open subset of Cd(Γ) are globally rigid; or • frameworks in a subset of full measure of Cd(Γ) are globally rigid. In fact, we can deduce a much stronger statement. Corollary 1.21. If a graph Γ with d + 2 or more vertices does not have maximal Gauss 2 rank in Ed, then any infinitesimally rigid framework ρ ∈ Cd(Γ) is not globally rigid.

Proof. Let ρ0 be an infinitesimally rigid framework. First note that ρ0 does not lie in any d affine subspace of E , so by Proposition 2.3 it maps to a smooth point [ρ0] in the quotient d C (Γ)/ Eucl(d). By the inverse function theorem, [ρ0] has an open neighborhood N that maps injectively into the space of edge lengths. Consider a sequence {[ρi]} of classes of generic configurations inside N approaching [ρ0]. By Theorem 1.19, for each ρi there is an inequivalent configuration σi with the same edge lengths. Because the map ` is proper on d C (Γ)/ Eucl(d) (see Lemma 2.14), the sequence {[σi]} has an accumulation point [σ0], with `(σ0) = `(ρ0) by continuity. Since ` is injective on N, we have [σi] 6∈ N and so [σ0] 6∈ N; thus σ0 is the desired framework with the same edge lengths as ρ0 but not congruent to ρ0.  Note that there is no hope for a similar strengthening of Theorem 1.18; global rigidity can fail at non-generic points in any number of ways, for instance if there is a transverse self-intersection of the measurement set M. 1.2. Structure of the paper. We prove the main result in Section2 and give a few examples of the relevant spaces in Section3. We then show that the condition of having maximal Gauss rank can be checked in randomized polynomial time in Section4, following remarks of Hendrickson [14, 15]. In Section5 we show the following side result. Theorem 1.22. If a graph Γ is generically locally rigid but not generically globally rigid in Ed, then any generic framework ρ in Cd(Γ) can be connected to an incongruent frame- work σ in Cd(Γ) by a path of frameworks of Γ in Ed+1 with constant edge lengths. Throughout this paper, we attempt to give enough details for readers who are not very familiar with algebraic geometry, while at the same time indicating how the more abstract arguments work. 1.3. Relationship to Previous Work. The problem of d-embeddability, determining if there is a framework of a graph in Ed with a given set of (integer) edge lengths, was shown to be strongly NP-hard by Saxe [23]. Saxe also showed that the problem of determining global rigidity is strongly NP-hard. The proof starts with the observation that a 1-dimensional framework of a graph formed of n vertices connected in a cycle is a solution to the partition problem on the edge lengths.

2This corollary can also be proven by combining corollary 1.20 with [6, Proposition 2.4]. 6 GORTLER, HEALY, AND THURSTON

But there has been some hope that global rigidity can be characterized and efficiently tested if one suitably restricts the input to avoid certain coincidences (like the coincidence that there be two solutions to a partition problem that has at least one solution). In particular, one strong way of restricting the problem is to assume that the original framework is generic. For example, it is easy to see that a generic framework of a graph is globally rigid in E1 iff the graph is 2-connected. Hendrickson [15] describes the condition of Theorem 1.18 ascribed to Connelly (CC for short), for generic frameworks of a graph to be globally rigid in Ed. Connelly proved the sufficiency of this condition [8]. Connelly also conjectured that CC was a necessary condition, our Theorem 1.19. Hendrickson also gave [14] two necessary conditions (HC for short), for generic frameworks of Γ to be globally rigid in Ed. Namely, Γ must be (d + 1)-connected and deleting any edge of Γ must leave a generically locally rigid graph. A combinatorial result of Jackson and Jord´an[16] effectively shows that for d = 2, CC = HC, and so both conditions are necessary and sufficient. They later gave a direct proof of the sufficiency of HC for d = 2 [17]. Moreover in 2 dimensions, generic local rigidity and therefore generic global rigidity can be characterized combinatorially [18] and deterministically solved for efficiently [20, inter alia]. Connelly showed [7] that HC are not sufficient to show that a generic framework is globally rigid for d = 3; specifically, he showed that the complete bipartite graph K5,5, despite satisfying HC, is not globally rigid in 3 dimensions for some generic frameworks. Similar results hold for larger bipartite graphs in higher dimensions. These appear to be the only known examples of such graphs. (See Sections 3.2 and 3.3 for more on graphs that fail HC, and Section 3.4 for more on K5,5.) We add a few remarks about the algebraic geometry setting of these results. Both generic local rigidity and global rigidity relate to the geometry of the map ` and the measurement set. In both cases the appropriate rigidity property is characterized in terms of purely local behavior of the measurement set. For the generic local rigidity case, this is not surprising, but for the generic global rigidity case, it is a little unusual to be able to characterize a global property (the number of pre-images of a certain map) simply in terms of local behavior (the rank of the Gauss map). Let us consider what happens as we vary the dimension d while keeping the graph fixed. For the case d = 1, the map ` is essentially an arbitrary quadratic map and the measurement set is of dimension v−1 if the graph is connected. Call this measurement set M1, and denote by M1 its Zariski closure, which we call the measurement variety. (For the remainder of this section, we are interested in varying the ambient dimension while keeping the graph fixed, so we add a subscript.) In d dimensions, the squared edge lengths are the sum of the d squared edge lengths in each dimension separately. Thus the measurement variety Md in E is the closure of the d-fold Minkowski sum of M1. Since M1 is a homogeneous variety, the Minkowski sum coincides with the secant variety, and so

d d (3) Md = `(C (Γ)) = sec (M1)

d where sec (M1) is the d-fold secant variety of M1 (i.e., the join of d copies of M1). For general homogeneous varieties, the expected dimension of the join of two varieties is the sum of the two dimensions and so the expected dimension of the d-fold secant variety of a variety V is d times the dimension of V . If the dimension of the secant variety is less than the expected dimension the secant variety is said to be degenerate. In our case, because M1 is the closure of the image of a quadratic map there is automatically some degeneracy and CHARACTERIZING GENERIC GLOBAL RIGIDITY 7 its secant variety M2 has dimension at least one less than expected: dim M2 ≤ 2 dim M1 −1. If our variety M1 were smooth or almost-smooth, Zak’s Theorem on Superadditivity [11,26] would imply that this degeneracy propagates, and given this first degeneracy, the d-fold d secant Md would have dimension at most d · dim M1 − 2 . Although the conditions of Zak’s Theorem do not hold for a general graph Γ, the resulting bound is still exactly the dimension d of Md given by Theorem 1.6 for graphs that are generically locally rigid in E . Thus generically locally rigid graphs are those where the secant variety is minimally degenerate in an appropriate sense. Generic global rigidity instead involves the degeneracy of the Gauss map on the secant variety, which is equivalent to the dimension of a developable ruling of maximal dimension. There is much literature on varieties with degenerate secant varieties or Gauss maps, although most of the work focuses on cases which are maximally, rather than minimally, degenerate [13, 19, 27]. From this point of view, Connelly’s example [7] of K5,5 (which is not generically globally rigid in 3 dimensions) is interesting. In this case the variety M1 is the cone on the Segre embedding of RP4 × RP4 in RP9, and Connelly’s result is about the degeneracy of the Gauss map of the third secant variety of this Segre embedding. His results about larger bipartite graphs can also be interpreted in terms of the Gauss map degeneracy of secant varieties of Segre embeddings.

Acknowledgements. We would like to thank Robert Connelly, Daniel Freedman, Yael Karshon, and J. M. Landsberg for helpful conversations. AH was supported by NSF grant CCR-0205423 and a Sandia fellowship. DPT was supported by a Sloan research fellowship.

2. Proof of main theorem Our basic strategy for the proof of Theorem 1.19 is similar in spirit to the approach used by Hendrickson [14] to show the necessity of what he called “redundant rigidity” for a generic global rigidity in Ed. Given a graph Γ which does not have maximal Gauss rank in Ed, we construct spaces X and Y and a map f : X → Y so that the preimages in X of a point in Y correspond to incongruent frameworks with the same edge lengths, and we then show that the “degree mod two” of this map is well defined and equal to 0. This degree is equal to the number of preimages at a regular value, modulo 2. Thus for such a map, any regular value in the image must have at least one more preimage, which represents a distinct framework in Cd(Γ) with the same edge lengths, thus contradicting global rigidity in Ed. To guarantee a well defined degree, we will not have the luxury of the domain being a compact manifold. Rather the domain will be a smooth space with singularities of co-dimension 2 or greater, and f will be a proper map. (See Definition 2.13 and Theorem 2.15.) If a generic framework in Cd(Γ) is not locally rigid, then it is clearly not globally rigid, in which case our proof is done. So, in what follows, we will assume that the framework d ∗ ρ ∈ C (Γ) is locally rigid and has at least d + 2 vertices, and so by Theorem 1.6, rank `ρ = d+1 vd − 2 . 8 GORTLER, HEALY, AND THURSTON

2.1. Summary of spaces and maps. There are a large number of spaces and maps involved in the proof. We summarize the main spaces here for the readers convenience.

same same A(ρ) A(ρ)/ Eucl(d) B(ρ) L(ρ) dim dim

same Cd(Γ) Cd(Γ)/ Eucl(d) M(Γ) e dim R

Gr(t, e)

Here we start with the map ` from Cd(Γ) to Re, and factor it through the quotient by the Euclidean group, followed by the surjection onto its image M(Γ) ⊂ Re. The spaces Cd(Γ)/ Eucl(d) and its image M(Γ) have the same dimension by local rigidity. The spaces A(ρ) and B(ρ) on the top row are morally the fibers of the Gauss map to Gr(t, e). However, since the Gauss map is only defined for generic configurations, we take the (real) closure in both cases, and for technical reasons the spaces are defined differently below. We define the domain of our map to be A(ρ)/ Eucl(d). In Proposition 2.3, we show that if the stress kernel is of dimension greater than d + 1, then this domain has singularities of codimension at least 2. This is based on recognizing A(ρ) as K(ρ)d, where K(ρ) is the stress kernel. Another key ingredient is the construction of the range space L(ρ), which is a linear space in Re containing B(ρ) as a subspace of full dimension. (Thus B(ρ) is flat as defined in Definition 2.4.) The existence of this is guaranteed by Proposition 2.8: The generic fibers of the Gauss map are flat spaces. Our map ` is the restriction of ` to this domain and range. Since the singularities of the domain have codimension at least 2, ` will have a well-defined degree. The final step in the proof is that this degree is 0, which is guaranteed by noticing that any point in Re with at least one negative coordinate is not in the image of `.

2.2. The domain. To construct our domain, we start by considering stress satisfying frame- works. Definition 2.1. For a framework ρ ∈ Cd(Γ), the space of stress satisfiers A(ρ) is the space of all d-dimensional frameworks that satisfy all of the stress matrices in S(ρ): (4) A(ρ) := { σ ∈ Cd(Γ) | S(σ) ⊃ S(ρ) }. Since a framework σ satisfies an equilibrium stress matrix iff each of its projections on the coordinate axes does, A(ρ) is isomorphic to K(ρ)d and so, for generic ρ, A(ρ) has dimension kd. In particular, A(ρ) always contains the space Aff(ρ) of affine images of ρ. Direct calculations show [7, inter alia] that the space of equilibrium stress vectors at a e ∗ point ρ, when thought of as a subspace of R , constitute the annihilator of span(`ρ): ∗ (5) S(ρ) ' ann(span(`ρ)). Thus the stress satisfying space can also be described as d ∗ ∗ (6) A(ρ) = { σ ∈ C (Γ) | span(`σ) ⊂ span(`ρ) }. CHARACTERIZING GENERIC GLOBAL RIGIDITY 9

Note that there may be some singular points in A(ρ) where the rank of `∗ is not maximal, and thus where the span of `∗ is smaller than expected. These singular points will satisfy more stress matrices than S(ρ). We now study the quotient A(ρ)/ Eucl(d), which is the domain of our main map. This d+1 space is generically of dimension kd − 2 . Although it is not a manifold everywhere it turns out that when Γ does not have a minimal stress kernel in Ed, then the singularities are of large codimension, which will be good enough for our purposes. We will reduce the question to the following lemma.

Lemma 2.2. If n > d, the quotient space (Ed)n/ Eucl(d) (i.e., n-tuples of points in Ed, quotiented by Eucl(d) acting diagonally) is a smooth stratified space with singularities of codimension n − d and higher. Furthermore, the singularities occur at classes of points in Ed that lie inside a proper affine subspace of Ed. Here a smooth stratified space is, loosely speaking, a space which is decomposed into smooth manifolds of differing dimensions, limiting onto each other in a nice way. For instance, any semi-algebraic set, with any type of singularities, has the structure of a smooth stratified space. For a formal definition and discussion, see [21]. Proof. In general, the quotient of a variety by a group acting properly is stratified by conjugacy classes of stabilizers [21, Corollary 4.3.11]. In particular the points with trivial stabilizer form a manifold. Let us therefore identify the points in (Ed)n where the stabilizer is non-trivial. The central point is that an n-tuple is stabilized by a non-trivial Euclidean transform if and only if the dimension of its affine span is less than d. For example, if all points lie in a hyperplane of dimension d−1, then they are stabilized by the reflection across that plane. In general, if the affine span of the n-tuple is codimension r, the stabilizer is isomorphic to the orthogonal group in r dimensions, O(r). The lowest codimension case is when r = 1, in which case the stabilizer is O(1) ' Z/2. To compute the codimension of these n-tuples with r = 1 in (Ed)n, pick d out of the n points that span the subspace; these points are unrestricted. The remaining n − d points must lie in that subspace, providing one constraint for each point, so these n-tuples have codimension n − d. In general, a similar count shows that n-tuples with a stabilizer of O(r) are of codimension r(n − d + r − 1) in (Ed)n. Inside the quotient (Ed)n/ Eucl(d), the codimension of the singular set is decreased by the dimension of the stabilizer. Thus points with stabilizer O(1) still have codimension n−d in the quotient, and in general the the codimension in the quotient of points with stabilizer O(r) is r r (7) r(n − d + r − 1) − = r(n − d) + n − d. 2 2  Proposition 2.3. Suppose that Γ, a graph with d + 2 or more vertices, does not have a minimal stress kernel in Ed, and ρ is a generic framework in Cd(Γ). Then A(ρ)/ Eucl(d) is a smooth stratified space with singularities of codimension at least 2. Furthermore, the singularities occur at classes of frameworks [ρ] where ρ lies in a proper affine subspace of Ed. Proof. Remember that A(ρ) ' K(ρ)d. We can view this space as K(ρ) ⊗ Rd with Eucl(d) acting on the d-dimensional coordinates. We can turn this tensor product around: instead of thinking of A(ρ) as a d-tuple of points in K(ρ), think of it as a k-tuple of points in Ed, with the diagonal action of Eucl(d). Concretely, you can always find k vertices of the graph whose position determines the position of all other vertices of a framework inside A(ρ). 10 GORTLER, HEALY, AND THURSTON

Now by Lemma 2.2, A(ρ)/ Eucl(d) is a smooth stratified space with singularities of codi- mension at least k − d, at frameworks with the stated property. For a graph that does not have a minimal stress kernel in Ed, we have k > d + 1, and so this codimension is at least 2.  2.3. The range. We now turn to defining the range. Consider the image `(A(ρ)) in Re of squared edge lengths of elements in A(ρ); call this space B(ρ). This space B(ρ) is a semi-algebraic set. If the graph is generically locally rigid in Ed, B(ρ), like A(ρ)/ Eucl(d), is d+1 of dimension kd − 2 . Finally, define L(ρ) to be the smallest linear space that contains B(ρ). The space L(ρ) will be the range space for our map. Our main task is to prove that L(ρ) is in fact the same dimension as B(ρ). We need the following definition:

Definition 2.4. A semi-algebraic set S in Rn is flat if it is contained in a linear space of the same dimension as S. Note that this usage of flat is unrelated to the notion of flat families in algebraic geometry, and an algebraic variety is flat by this usage iff it is itself a linear space. In this subsection the main step is to show that B(ρ) is flat. The key point is Proposi- tion 2.8, which is a standard theorem. To apply it, we need some fairly elementary lemmas on genericity. Lemma 2.5. Let V and W be irreducible varieties and f : V → W be an algebraic map, all defined over a field k, and let x ∈ V a generic point. Then f(x) is generic inside f(V ) over k. Proof. A equation satisfied by f(x) that is not true for all elements of f(V ) can be pulled back to give an equation satisfied by x.  Lemma 2.6. Let V be a variety in Rn, not necessarily defined over Q. Suppose that V has one point x which is generic in Rn. Then the points in V which are generic in Rn are dense in V . Note that in this lemma the points we consider are different from the points that are generic in V , since V is not necessarily defined using only the rationals.

Proof. A point in V which is not generic in Rn satisfies some algebraic equation with rational coefficients. This equation cuts out a proper subvariety of V (since by hypothesis it does not contain x), which is therefore measure 0 inside V . The set of points in V which are not generic in Rn is therefore the countable union of a number of proper subvarieties (one for each possible equation), which also has measure 0. Therefore the complement, the points n in V which are generic in R , has full measure and in particular is dense in V .  Now consider B(ρ) as a subset of the semi-algebraic set M := `(Cd(Γ)). M is the set of squared edge lengths achieved by some d-dimensional framework of Γ. Since ρ is generic, from Lemma 2.5 we have that `(ρ) is a generic and hence smooth point of M, with tangent ∗ space, T`(ρ)M, equal to span(`ρ). Now consider the subset of M of smooth points with the exact same tangent space as that at `(ρ); denote this space B◦(ρ). In other words, B◦(ρ) is the fiber of the Gauss map G at G(`(ρ)). Similarly denote by A◦(ρ) the fiber of G ◦ ` at G(`(ρ)), i.e., the frameworks in Cd(Γ) that map under ` to B◦(ρ). Lemma 2.7. Suppose that Γ is a graph and ρ is a generic framework in Cd(Γ). Then A◦(ρ) = A(ρ) and B◦(ρ) = B(ρ) (where the closure is in the Euclidean ). CHARACTERIZING GENERIC GLOBAL RIGIDITY 11

◦ ∗ ∗ Proof. Let α ∈ A (ρ). Then we have span(`α) ⊂ T`(α)M = T`(ρ)M = span(`ρ). Thus α ∈ A(ρ) and A◦(ρ) ⊂ A(ρ). Also `(α) ∈ B(ρ), and so B◦(ρ) ⊂ B(ρ). Therefore A◦(ρ) ⊂ A(ρ) = A(ρ) and B◦(ρ) ⊂ B(ρ) = B(ρ). (Note that B(ρ) is closed since it is the image of a closed set, A(ρ)/ Eucl(d), under a proper map.) To go the other way, define Ag(ρ) to be points that are generic in Cd(Γ) and are also in A(ρ). The space Ag(ρ) is non-empty (since it contains ρ itself), so, by Lemma 2.6, Ag(ρ) is g d ∗ dense in A(ρ). Every point α ∈ A (ρ) is generic in C (Γ), and thus `α must have maximal ∗ ∗ rank and span(`α) = span(`ρ). Meanwhile since α is generic, it maps to a smooth point ∗ ◦ ◦ of M with a tangent equal to span(`α). Thus α ∈ A (ρ), and `(α) ∈ B (ρ). Therefore A◦(ρ) ⊃ Ag(ρ) and B◦(ρ) ⊃ `(Ag(ρ)). We therefore have (8) A◦(ρ) ⊃ Ag(ρ) = A(ρ). Similarly we have

(9) B◦(ρ) ⊃ `(Ag(ρ)) ⊃ `(Ag(ρ)) = `(A(ρ)) = B(ρ).  We can now apply a general theorem about the flatness of Gauss map fibers. We will use the global version of this theorem [12, Section 2.3.2].

Proposition 2.8. Let V be an irreducible homogeneous variety of dimension n inside RN . Then the algebraic fiber of the Gauss map G : V 99K Gr(n, N) through a generic point of V is a linear space. Here “algebraic fiber” is the appropriate algebraic notion, which corresponds to the Zariski closure of the set-theoretic fiber. For a varieties that are not necessarily homo- geneous, the requirement for Proposition 2.8 would be that the tangent spaces be identical as affine subspaces, not just parallel. In our context, we then have the following lemma. Lemma 2.9. Suppose that Γ is a graph and ρ is a generic framework in Cd(Γ). Then B(ρ) is flat, and thus L(ρ) is the same dimension as B(ρ). Proof. First we show that B◦(ρ), the fiber of the Gauss map, is flat. To do this, let M be the algebraic variety which is the (real) Zariski closure of M. By Lemma 1.15, M is irreducible. It is also homogeneous, as the map ` is homogeneous. Thus by Proposition 2.8, the fiber through the generic point `(ρ) in M is a linear space. Since M has the same dimension as M, the fiber of the Gauss map of M through `(ρ) is a full dimensional subset of the fiber of the Gauss map of M through the generic point, `(ρ). Putting these together we conclude that B◦(ρ) must be flat. From Lemma 2.7 we have B◦(ρ) = B(ρ). But since B◦(ρ) is flat, then so too B(ρ) must be flat.  Remark 2.10. For a, b ∈ K(ρ) define a dot product ha, bi ∈ Re by ha, bi({w, u}) := (a(w) − a(u)) · (b(w) − b(u)) for each edge {u, w} ∈ E. Define the dot product space D(ρ) to be the linear span of ha, bi for all a, b ∈ K(ρ). The image `(K(ρ)) is contained in D(ρ), as it is just the space of all ha, ai for a ∈ K(ρ). Moreover, the linear span of `(K(ρ)) is in fact equal to D(ρ), 1 as ha, bi = 2 (ha + b, a + bi − ha, ai − hb, bi. Because squared edge length is computed by summing over edge lengths in each of the coordinates, and A(ρ) is simply K(ρ)d, then B(ρ) 12 GORTLER, HEALY, AND THURSTON is simply the d-fold Minkowski sum of `(K(ρ)) with itself. Therefore L(ρ), the linear span of B(ρ), must also be equal to D(ρ). k k+1 A priori, the dimension of D(ρ) could be as big as 2 . (There are 2 dot products between vectors forming a basis of K(ρ). However, dot products with the vector of all ones vanish because of the subtraction in the definition of ha, bi.) On the other hand, the d+1 dimension of B(ρ) is only kd − 2 . When ρ has a maximal Gauss rank, k = d + 1 and we see immediately that the dimensions of B(ρ) and D(ρ) agree. The crux of Lemma 2.9 is that in fact, even when ρ does not have maximal Gauss rank, B(ρ) is a flat space, and d+1 thus D(ρ) is in fact only of dimension kd − 2 . This means that there must be some unexpected linear dependence between the dot products defining D(ρ). Finally let chordd(`(K(ρ))), be the d’th chord set of `(K(ρ)), defined as the the union of all simplices with d vertices in `(K(ρ)). For instance, when d = 2 we add chords connecting all pairs of points in `(K(ρ)). (The Zariski closure of chord2(V ) for a variety V is the secant variety sec(V ).) In particular, because `(K(ρ)) is homogeneous, B(ρ), the d-fold Minkowski sum of `(K(ρ)) with itself, coincides with chordd(`(K(ρ))). Lemma 2.9 states that chordd(`(K(ρ))) is a flat space, and so, for example, it is clear that the dimension can not go higher when looking at a higher chord set, such as chordd+1(`(K(ρ))). At this point, we briefly digress to prove Proposition 1.16, on the equivalence of having a minimal stress kernel in Ed and having maximal Gauss rank in Ed. Proof of Proposition 1.16. From Lemma 2.7 we have A◦(ρ) = A(ρ). And thus the fiber of G ◦ ` at a generic framework ρ is isomorphic to an open subset of K(ρ)d. Since A◦(ρ) is an algebraic set we have dim A(ρ) = dim A◦(ρ). Since A◦(ρ) is a fiber of G ◦ ` we have (10) dim A◦(ρ) = dim Cd(Γ) − rank(G ◦ `). Since G is defined on an open subset of the image of `, we have rank(G ◦ `) = rank G. Putting these together we can conclude d (11) rank G = dim C (Γ) − dim A(ρ) = vd − kd.  2.4. The map. Define the map ` to be the restriction of ` to a map between the spaces A(ρ)/ Eucl(d) and L(ρ). In this section, we show that this has a well-defined mod-two degree which is 0. First we recall a few standard elementary properties of regular values, proper maps, and degrees. Our definitions are generalizations of the standard ones, so we give some definitions. Definition 2.11. Let f : X → Y be a smooth map. Let r be the maximal rank of the ∗ ∗ linearization of fx for x ∈ X. We say x ∈ X is a regular point if fx has rank r. We say y ∈ Y is a regular value if every x ∈ f −1(y) is a regular point. Otherwise, y is called a critical value. Theorem 2.12 (Sard [22]). Let f : X → Y be a smooth map, and let r be the maximal rank ∗ of the linearization of fx for x ∈ X. The critical values of f have r-dimensional measure 0. Moreover, if X and Y are semi-algebraic sets, and f is a polynomial map, all defined over the field k, then the critical values form a semi-algebraic set defined over k. In particular, all generic points of f(X) are regular values.3

3Because our maps are not always locally injective or surjective, we use a slightly generalized definition of regular value and version of Sard’s theorem. In particular, in [22] Sard proves that for any r, the image ∗ under f, of the set points in x ∈ X with rank(fx ) < r has r-dimensional measure 0. Alternatively, since our CHARACTERIZING GENERIC GLOBAL RIGIDITY 13

Definition 2.13. A proper map f : X → Y between topological spaces is a continuous map so that the inverse image of a compact set is compact. Examples of proper maps include the identity and any map from a compact space. For our purposes, we will need the following: Lemma 2.14. The length measurement map associated to any connected graph, once we quotient the domain by the group Trans(d) of translations, is proper, as is its restriction to A(ρ). That is, the maps d e ` : C (Γ)/ Trans(d) → R e ` : A(ρ)/ Trans(d) → R are both proper.

Proof. A compact subset P ⊂ Re is bounded, so gives a bound on the edge lengths. This in turn gives a bound on how far any vertex in Γ can be from some fixed base vertex, so `−1(P ) is bounded in Cd(Γ)/ Trans(d) or A(ρ)/ Trans(d). Since `−1(P ) is also closed, it is compact.  There is a notion of degree of proper maps between manifolds of the same dimension. The following theorem is standard, and is typically proved using homology [25, Theorem 8.12, inter alia]. Theorem 2.15. If X and Y are manifolds of the same dimension, with Y connected, and f : X → Y is a proper map, then there is an element deg f in Z/2, invariant under proper isotopies of f and unchanged under restriction. If X, Y , and f are all smooth, then the degree is equal to the number of preimages of any regular value, taken modulo 2. We will want to apply this in a case when X is not quite a manifold, but rather has singularities of codimension 2. We use the following version. Corollary 2.16. If X is a smooth stratified space with singularities of codimension at least 2, Y is a smooth, connected manifold of the same dimension as X, and f : X → Y is a proper, smooth map, then there is an element deg f in Z/2, invariant under proper isotopies of f and unchanged under restriction. The degree is equal to the number of preimages of any regular value in Y , taken modulo 2. Here by a “regular value” we mean a point in Y so that every preimage is a smooth, regular point in X. The condition that the singularities have codimension at least 2 is crucial; otherwise, for instance, an interval mapping to R would qualify, and the degree is obviously not invariant there.

Proof. Let Xsing be the set of singular points of X. Let Y 0 = Y \ f(Xsing), and let X0 = f −1(Y 0). Then X0 and Y 0 are both smooth manifolds by construction. By Lemma 2.17 below, the restriction of f to a function from X0 to Y 0 is still proper. The smooth image of a stratified space is itself a stratified set with dimension no bigger. Therefore Y 0 is still connected, as we have removed a subset of codimension at most 2. Therefore we can apply Theorem 2.15 to find deg f.  maps are algebraic, we could have removed the non-smooth points in f(X), and their preimages, and then proceeded with the resulting surjective map. Finally we have that the critical values are a semi-algebraic set as in [4, Theorem 9.6.2]. 14 GORTLER, HEALY, AND THURSTON

Lemma 2.17 (Excision). If f : X → Y is a proper map and Y 0 ⊂ Y is an arbitrary subset, let X0 = f −1(Y 0). Then the restriction of f to X0, f 0 : X0 → Y 0, is proper.

Proof. A compact subset P of Y 0 is also compact as a subset of Y , so f 0−1(P ) is the same −1 as f (P ) and so is compact. 

Our domain space is not in general oriented, so we only have a mod-two degree, but that is enough for us. Applying these results to our map `, we see that:

Lemma 2.18. Suppose that Γ, a graph with d + 2 or more vertices, is generically locally rigid in Ed and does not have maximal Gauss rank in Ed, and ρ is a generic framework in Cd(Γ). Then the resulting map ` has a mod-two degree of 0.

Proof. By Lemma 2.14 the map ` is proper. (Local rigidity implies that Γ is connected.) By Proposition 2.3, the domain is a smooth stratified space with singularities of codimension 2 or greater. So by Corollary 2.16 it has a well defined degree-mod-two. Since all squared edge lengths in the image of ` are positive, there are regular values in L(ρ) (namely those with some negative edge lengths) that have no preimage in A(ρ)/ Eucl(d). Hence the mod-two degree must be 0. 

For Lemma 2.18 to be useful, we must see that `(ρ) is a regular value of `.

Lemma 2.19. Suppose that Γ, a graph with d + 2 or more vertices, is generically locally rigid in Ed, and ρ is a generic framework in Cd(Γ). Then `(ρ) is a regular value of both ` and `.

Proof. Since `(ρ) is a generic point of M, by Sard’s Theorem `(ρ) is a regular value of `. At each preimage of a regular value, `∗ is of maximal rank. Thus each such preimage must have a d-dimensional affine span, and cannot have a non-trivial stabilizer. Thus every point −1 in ` (`(ρ)) is a smooth point in A(ρ)/ Eucl(d). Since `∗ is of maximal rank, it is thus injective from the tangent of Cd(Γ)/ Eucl(d) to Re. The map ` is the restriction of ` from Cd(Γ)/ Eucl(d) to a subspace. Restriction preserves injectivity of the linearization of a smooth map, so `(ρ) is also a regular value for `. 

Lemma 2.19 can also be proved in a somewhat less elementary way by using Lemma 5.2. And now we are in position to complete the proof of our main Theorem.

Proof of Theorem 1.19. From Lemma 2.19, `(ρ) is a regular value of `. From Lemma 2.18, −1 the mod-two degree of ` is 0. Thus there must be an even number of points in ` (`(ρ)). Since there is at least one point in the preimage, namely [ρ] itself, there must be another point in A(ρ)/ Eucl(d) (and thus an incongruent framework in Cd(Γ)) that has the same edge lengths as ρ. 

3. Examples Here we give a few examples of how the various spaces constructed in Section2 work out in practice. We consider both cases where Theorem 1.19 applies to show that generic frameworks are not globally rigid, and cases where it does not apply. CHARACTERIZING GENERIC GLOBAL RIGIDITY 15

Figure 1. Generic locally flexible frameworks in E2

Figure 2. A framework that is not redundantly rigid in E2, with graph given by a triangular prism. From left to right, we have a framework ρ, the global flex guaranteed by the theorem, and the locally flexible framework ρ0 obtained by deleting a suitable edge.

3.1. Locally flexible graphs. The first case we consider is that of graphs that are gener- ically locally flexible in Ed as in Figure1. The space A(ρ) contains all affine transforms of any flex of ρ. This can be seen, for example, by using the main argument from [8]: all flexes of ρ map to the same point in M, and thus, when ρ is generic, all such points must share the well defined tangent space at `(ρ) and thus must share the same equilibrium stress vectors. A simple example of such a graph is the tripod graph in E2 on the right in Figure1. In this case, the only equilibrium stress vector is the zero stress, and A(ρ) contains all embeddings of Γ. Note that in this case, L(ρ) is three dimensional, which is the same size as one would find for a generically globally rigid graph.

3.2. Not redundantly rigid. Here we suppose that ρ is not generically locally flexible, but becomes generically locally flexible when some edge (i, j) is removed from Γ, as shown for example in Figure2. In other words, we suppose that the graph can be flexed, leaving all edge lengths unchanged except for edge (i, j), which is changed. These graphs are not generically globally rigid by a result of Hendrickson [14]; we will see how this works in our ∗ setting. For a generic such ρ, we can find, in the span of `ρ, a vector with all zeros except for the entry associated with edge (i, j). Since the equilibrium stress vectors annihilate the ∗ span of the image of `ρ, we can conclude that every equilibrium stress matrix in S(ρ) must have a zero at entry (i, j). Define Γ0 to be the graph obtained by deleting this edge, and ρ0 to be the resulting framework. Since every equilibrium stress matrix in S(ρ) has a zero at entry (i, j), then 16 GORTLER, HEALY, AND THURSTON

Figure 3. A framework ρ that is not 3-connected in E2 (and therefore not globally rigid), its global flex, and another framework in A(ρ).

S(ρ) = S(ρ0), and so A(ρ) is isomorphic to A(ρ0). By the analysis of generically locally flexible frameworks in Section 3.1, A(ρ0) contains all affine transforms of flexes of ρ0. In terms of ρ, we would say that A(ρ) contains all affine transforms of frameworks of Γ that have the same edge lengths as ρ except on the edge (i, j). It is also instructive to picture the relationship between the measurement set M(Γ) in Re and the measurement set M(Γ0) in Re−1. In particular, because the framework is not redundantly rigid, M(Γ) projects onto M(Γ0) (by forgetting one coordinate in Re), and the fiber over a generic point `(ρ0) is a union of intervals. Accordingly, the L(ρ), the linear span of the Gauss fiber, must be the direct sum of L(ρ0) and the vector in the direction of the last coordinate.

3.3. Graphs that are not (d + 1)-connected. A graph is not (d + 1)-connected if there is a set of at most d vertices whose removal leaves a disconnected graph. These graphs are not generically globally rigid in Ed [14]. If the separating set has d vertices, they span an “interface” hyperplane whose removal splits the graph into two halves, and we can reflect one half across the interface. If the separating set has fewer vertices, the graph is not even generically locally rigid, as we can pivot the two halves around the interface. Let Γ0 be one of the two halves of the graph, together with the vertices and edges in the separating set, and let ρ0 be the corresponding framework. An equilibrium stress in S(ρ) induces a non-equilibrium stress on ρ0. The resulting forces on the vertices of Γ0 must have no net translational and rotational effect (as is true for any stress, equilibrium or not). On the other hand, these forces are non-zero only on the d vertices of the interface. It is then easy to see that the forces must lie entirely within the plane of the interface. Therefore the forces on the interface vertices are unchanged by affinely squashing one half towards the interface while leaving the other half alone. Thus A(ρ) includes frameworks where one applies two different affine transforms to the two halves, with the constraint that they agree on the interface. In particular, this includes the global flex that entirely folds one side across the interface.

3 3.4. K5.5. We consider configurations of the graph K5,5 in E , as in Connelly’s example of a graph that is not generically globally rigid for surprising reasons. Let the vertices be v1, . . . , v10 so that the each of v1, . . . , v5 is connected to each of v6, . . . , v10, 25 edges in all. 3 We have that C (K5,5) is 30-dimensional. Since this graph is generically locally rigid, the measurement set M has dimension 30 − dim(Eucl(3)) = 24 inside R25. We therefore have a 1-dimensional space S(ρ) of equilibrium stress vectors at a generic point, which we now 3 identify. We will write v1, . . . , v10 for the 10 points in E at a generic framework ρ. 3 The 5 points v1, . . . , v5 in E satisfy an affine relation

a1v1 + ··· + a5v5 = 0 CHARACTERIZING GENERIC GLOBAL RIGIDITY 17

P5 where i=1 ai = 0 and not all ai are 0. Since the vi are generic, this relation is unique up to scale. Similarly there is an affine relation between v6, . . . , v10:

b6v6 + ··· + b10v10 = 0 P10 ~ where i=6 bi = 0. Now form vectors ~a = (a1, . . . , a5) and b = (b6, . . . , b10) and consider the block matrix ! 0 ~aT~b Ω = . ~bT ~a 0

(That is, the (i, j) entry of Ω is aibj or ajbi if these are defined, and 0 otherwise.) Then it follows that Ω is an equilibrium stress matrix and so spans the space S(ρ). In particular, K(ρ) is the kernel of Ω. Since Ω visibly has rank 2, dim K(ρ) = 8. The basis vectors are

(1) a vector of 3 coordinate projections of v1 through v5 and five 0’s in the last 5 positions, (2) a vector of five 1’s and five 0’s, and (3) five 0’s in the first 5 positions followed by the 3 coordinate projections of v6 through v10, (4) a vector of five 0’s and five 1’s. The space A(ρ) is also easy to identify: it is the 24-dimensional space of configurations w1, . . . , w10, where w1, . . . , w5 are an affine transform of v1, . . . , v5 and w6, . . . , w10 are an affine transform of v6, . . . , v10, but the two affine transforms need not be the same. This guarantees that w1, . . . , w5 satisfy the affine relation given by ~a and w6, . . . , w10 satisfy the affine relation given by ~b, and so these configurations satisfy the equilibrium stress matrix Ω. It follows that L(ρ) is an 18-dimensional space. We can think of it as the space D(ρ) as described in Remark 2.10.

3.5. Generically globally rigid graphs. Finally we consider generic frameworks ρ in Ed that do satisfy Connelly’s condition, so Theorem 1.19 does not apply and the framework is generically globally rigid. It is instructive to see where the proof breaks. By definition the space of stress matrices is large enough that K(ρ) is only (d + 1)-dimensional. The space A(ρ) is then just Aff(ρ), the space of affine transforms of ρ. Let ρi be the projection of ρ onto the i’th coordinate. Then by Remark 2.10, L(ρ) is d+1 spanned by the 2 different vectors hρi, ρji. These are all linearly independent, since, as shown in [8, Proposition 4.3], whenever Connelly’s condition is satisfied, the edges of ρ do not lie on a conic at infinity, Moreover, whenever the edges of ρ do not lie on a conic at infinity, `(Aff(ρ)) is homeo- morphic to Aff(ρ)/ Eucl(d). And thus in our case, B(ρ) is homeomorphic to A(ρ)/ Eucl(d). In particular, B(ρ) has a boundary and so must A(ρ)/ Eucl(d). This is a singularity of codimension 1 and thus our degree argument does not apply. More explicitly, as we now explain, whenever the edges of ρ do not lie on a conic at infinity, then `(Aff(ρ)) is equivalent to a semidefinite cone. Let LinSpan(`(Aff(ρ))) be the linear span of the image space `(Aff(ρ)). Use the basis above to define an isomorphism φ from LinSpan(`(Aff(ρ))) to the space of symmetric d × d matrices by sending hρi, ρji to eij, where eii is the matrix with a 1 at position (i, i) and 0’s elsewhere and eij with i 6= j is the matrix with a 1/2 at positions (i, j) and (j, i) and 0’s elsewhere. Lemma 3.1. For a framework ρ not at a conic at infinity, and φ defined as above, φ(`(Aff(ρ))) is the set of positive semidefinite matrices. 18 GORTLER, HEALY, AND THURSTON

i d Proof. It suffices to consider φ(`(T ρ)), where T = (tj)i,j=1 is a linear map (rather than a general affine map). We then find

X DX i X i E φ(`(T (ρ))) = φ tjρi, tjρi j i i X i i0 = tjtj eii0 j,i,i0 d X T = (~tj) ~tj, j=1 where in the last step we set ~tj to be vector given by the j’th row of T . In the last step, T (~tj) ~tj can be an arbitrary rank 1 positive semidefinite matrix, and any d × d positive semidefinite matrix can be written as a sum of d rank 1 such matrices.  In particular, when the graph is generically globally rigid and ρ is generic, then A(ρ) = Aff(ρ), and thus B(ρ) is isomorphic to a semidefinite cone within the space φ(L(ρ)). The number of preimages in A(ρ)/ Eucl(d) of a point in L(ρ) is 1 for points inside the positive semidefinite cone. (At non-generic points, there may be more preimages in Cd(Γ)/ Eucl(d) that are not in A(ρ)). The number of preimages is 0 for points outside this cone (such as points in Re with any negative coordinate).

4. Complexity of the algorithm Implicit in Theorems 1.18 and 1.19 are a deterministic and a randomized algorithm. In this section, after briefly describing the deterministic algorithm (which is not very efficient), we will prove that testing whether a graph is generically globally rigid in Ed is in RP: that is, there is a polynomial-time randomized algorithm that will answer “no” all the time if the graph is not generically globally rigid in Ed, and will answer “yes” at least half the time if the graph is generically globally rigid in Ed. Hendrickson sketched an argument that testing for generic local rigidity is in RNC (which is contained in RP) [14, Section 2.2.2], and later sketched an randomized algorithm for determining whether a graph has a minimal stress kernel in Ed [15, Section 2.3.1]. Here we will provide some more details on these algorithms, why they work, and what the necessary bounds on the size of the inputs are. d+1 First we sketch the deterministic algorithm. Let t := vd− 2 be the rank of the rigidity matrix for infinitesimally rigid frameworks, and let s := v − d − 1 be the maximal rank of an equilibrium stress matrix for generic globally rigid frameworks. Algorithm 4.1 (Deterministic check, global). To check if a graph Γ with at least d + 2 vertices is generically globally rigid in Ed, take a d-dimensional framework with distinct coordinates, treated as independent formal symbols, and compute its rigidity matrix, again symbolic. By Gaussian elimination over the field of fractions of the coordinates, compute the rank of this matrix and kernel of its transpose. (The resulting kernel will be a ratio of in the symbolic inputs, and the answers will be valid for a numerical framework as long as none of the expressions in the denominators are zero.) If the rank of the rigidity matrix is not t, output the answer “no”, as the graph is not even generically locally rigid. Otherwise take a generic equilibrium stress vector, i.e., a symbolic linear combination of a basis of the kernel of the transposed rigidity matrix, convert it to an equilibrium stress matrix, and compute its rank (again symbolically). If this rank is s, output the answer “yes”, otherwise output the answer “no”. CHARACTERIZING GENERIC GLOBAL RIGIDITY 19

While this algorithm is guaranteed to give the correct answer, it is likely to be very slow, as the number of terms in the polynomials we need to manipulate can grow rapidly. For a more efficient version, we turn to a similar randomized algorithm. Algorithm 4.2 (Randomized check, local). To check if a graph Γ with at least d+1 vertices is generically locally rigid in Ed, pick a framework ρ in Cd(Γ) with integer coordinates randomly chosen from [1,N] for some suitably large N (to be made precise below). Compute ∗ the rank of the rigidity matrix representing `ρ. If this rank is less than t, output “no”, otherwise output “yes”. Algorithm 4.3 (Randomized check, global). To check if a graph Γ with at least d + 2 vertices is generically globally rigid in Ed: First, if the number of edges, e, is less than t output “no” (as the graph cannot even be generically locally rigid with so few edges), otherwise continue. Next pick a framework ρ in Cd(Γ) with integer coordinates randomly chosen from [1,N] for some suitable N. The next step is to pick one equilibrium stress vector ω from S(ρ) in a suitably random ∗ way. Recall that an equilibrium stress vector is a vector in the annihilator of span(`ρ), i.e., ∗ t in the kernel of (`ρ) . We find ω by setting up and solving an appropriate linear system ∗ t Eω = b that extends the condition that ω ∈ ker((`ρ) ). To create the linear system, create a matrix H of e − t random row vectors in Re, with coordinates integers chosen from [1,N]. d+1 Append these random rows to the transpose of the rigidity matrix to obtain an e + 2 by e matrix E(ρ, H). Compute the rank of E(ρ, H). If this rank is less than e, output “no”, for either the rank of the rigidity matrix is less than t (for instance if Γ is not generically locally rigid), or H contains some linear dependence with the rest of E, otherwise continue. (Note that, in constructing an RP algorithm, it is safe to output “no” in unfavorable cases, as long it is not done too often.) e+(d+1) Define b to be a vector in R 2 which is all zeros except for a single entry of 1 corresponding to one of the rows in H. (If e = t, there will be no such entry and b is all zeros.) Now solve the linear system Eω = b, which must have exactly one solution, denoted ω(ρ, H). Finally, convert ω(ρ, H) into an equilibrium stress matrix Ω(ρ, H), and compute its rank. If the rank is s, output the answer “yes”, otherwise output the answer “no”. Remark 4.4. In the randomized algorithm as described above, the linear algebra computa- tions are all done with explicit integer matrices. This can be done exactly in polynomial time using p-adic techniques [10]. (That is, first solve the equations modulo a prime p, then lift to a solution modulo p2, and so forth.) However, since the algorithm is already random- ized, the added complexity of this exact algorithm is unnecessary, and the computations can be done more simply by reducing modulo a suitably large prime p. See Proposition 4.11 for a concrete estimate of how large the primes need to be. To analyze the probability of the algorithm giving a false negative output, which depends on how large the parameter N is, our main tool is the Schwartz-Zippel Lemma [24, inter alia].

Lemma 4.5 (Schwartz, Zippel, DeMillo, Lipton, . . . ). Let k be a field and P ∈ k[x1, . . . , xn] be a non-zero polynomial of degree d in the xi. Select r1, . . . , rn uniformly at random from a finite subset X of k. Then the probability than P (r1, . . . , rn) is 0 is less than d/|X|. We also use the following basic principle. 20 GORTLER, HEALY, AND THURSTON

Lemma 4.6. Let M(π) be a matrix whose entries are polynomial functions with rational n coefficients in the variables π ∈ R . Let r be a rank achieved by some M(π0). Then rank(M(π)) ≥ r for all points π that are generic in Rn. More precisely, if the entries of M(π) are polynomials of degree g, then there is a polynomial P on Rn of degree g · r with rational coefficients so that P (π) = 0 for any π where the rank of M(π) is less than r. Proof. The rank of the M(π) is less than r iff the determinants of all of the r×r submatrices n vanish. Let π0 ∈ R be a choice of parameters so M(π0) has rank r. Then there is an r × r submatrix T (π0) of M(π0) with non-zero determinant. The determinant of T (π) is therefore a non-zero polynomial of π. For any π with rank is less than r, this determinant must vanish. Thus, any such π cannot be generic. Moreover, det(T (π)) is a polynomial of degree g · r with rational coefficients.  We now apply these concepts to the simpler case of local rigidity. Proposition 4.7. Algorithm 4.2 never returns a false “yes” answer, and returns a false “no” answer with probability bounded above by t/N. In particular, checking for generic local rigidity is in RP. Proof. If the graph is not generically locally rigid, then from Lemma 4.6 the algorithm must always observe a rank which is less than t. Thus it will never give a false “yes” answer. Suppose instead that Γ is generically locally rigid in Ed. The entries of the rigidity matrix are linear in ρ, so from Lemma 4.6 any ρ which returns a false “no” answer must be at a zero of a polynomial of degree t in our random variables. But by the Schwartz-Zippel Lemma, ρ is a zero with probability less than t/N, as desired. If we choose N > 2t, we will give a false “no” answer less than 1/2 the time. The algorithms for finding ranks, etc., take time polynomial in log N (as well as the size of the matrix), so run in overall polynomial time. The one-sided nature of the errors means that the problem is in RP (rather than, say, BPP).  We now return to the global case. Recall that for a non-singular n × n matrix M, adj(M) = det(M)M −1, where adj M is the adjugate matrix of M, the conjugate of the cofactor matrix of M. In particular, adj M is a polynomial in M of degree n − 1. This essentially means that, up to a global scale, the entries of the inverse of a matrix M are polynomials in the entries of M. We will apply this to the matrix E(ρ, H) from Algorithm 4.3 to see that the equilibrium stress matrix Ω(ρ, H) found by the algorithm can be though of as polynomials in the entries of E(ρ, H). As the entries of E(ρ, H) are polynomial functions in the coordinates of the framework ρ and the random rows H, and matrix rank is invariant to scaling, this will put us in position to apply Lemma 4.6. There are a few technical issues that must be dealt with in this analysis. Most impor- tantly, the matrix E(ρ, H) has more rows than columns. We will deal with this by looking at a set of square submatrices of E(ρ, H). We will deal with this in the following Lemma. Lemma 4.8. Let Γ be a graph with at least d + 2 vertices, and let t0 be the maximal ∗ d value of rank `ρ over all frameworks ρ of Γ in E . (For generically locally rigid graphs t0 = t.) Let U be the set of ρ where this maximal rank is achieved. Let s0 be the maximal value of rank(Ω) over all stress matrices of all ρ in U. Then for all generic ρ, we have 0 maxΩ∈S(ρ) rank(Ω) = s . CHARACTERIZING GENERIC GLOBAL RIGIDITY 21

More precisely, there is a polynomial P of degree t0 + s0(e − 1) in the variables (ρ, H), where H is a set of additional rows as in Algorithm 4.3, so that if (ρ, H) is not a zero of P then the stress matrix Ω(ρ, H) is well-defined and has rank s0.

Here, as in Algorithm 4.3, for each ρ we add a set H of e − t0 additional rows in Re to the transpose of the rigidity matrix of ρ to define a matrix E(ρ, H), and find an equilibrium stress vector ω(ρ, H) by solving the linear system Eω = b where b ∈ Re is a vector of all zeroes except for a single 1 in one of the positions of a row in H (if any). This is then converted to a stress matrix Ω(ρ, H). The assertion that Ω(ρ, H) is well-defined means that this linear system has a unique solution. (In particular, this implies that ρ ∈ U.)

Proof. Let ρ0 ∈ U be a framework with an equilibrium stress ω0 so that the corresponding 0 stress matrix Ω0 has rank s . Find a set H0 of additional rows so that E(ρ0,H0) has rank e and E(ρ0,H0)ω0 = b. Let Eˆ(ρ, H) be an e × e submatrix of E(ρ, H) so that Eˆ(ρ0,H0) is invertible. (Eˆ necessarily consists of t0 rows from the transpose of the rigidity matrix and all the rows of H.) Define ˆb similarly, letω ˜(ρ, H) := adj(Eˆ)ˆb, and let Ω(˜ ρ, H) be the associated stress matrix. By Lemma 4.6, the rank of Eˆ(ρ, H) is equal to its maximum value e at all points (ρ, H) that are not zeros of a polynomial P1(ρ, H) = det Eˆ(ρ, H), which has degree e. In particular, (ρ0,H0) is not a zero of P1. At such values, the linear equation defining Ω has a unique solution and the adjugate matrix Ω(˜ ρ, H) is a scalar multiple of Ω(ρ, H). In particular, 0 0 Ω(˜ ρ0,H0) has rank s . By Lemma 4.6 again, the rank of Ω(˜ ρ, H) is less than s only at the 0 zeros of a non-zero polynomial P2(ρ, H) of degree s (e − 1). For all generic ρ, there must be some generic point (ρ, H). At such a generic (ρ, H) Ω(˜ ρ, H) and Ω(ρ, H) must have rank not less than s0. Meanwhile we have supposed that rank of such Ω(ρ, H) is never larger than s0, and thus have proven our claim. In particular, let P = P1 ·P2. Then if (ρ, H) is not a zero of P , the linear equation Eω = b 0 has a unique solution (as P1 6= 0) and the resulting stress matrix Ω(ρ, H) has rank s (as P2 6= 0). 

Remark 4.9. In fact, we can prove the stronger statement that all generic Ω ∈ S(ρ) of all generic ρ have rank(Ω) = s0. Here we consider S(ρ) as defined over the smallest field containing Q and ρ. Theorem 4.10. Algorithm 4.3 never returns a false “yes” answer, and returns a false “no” answer with probability bounded above by ve/N. In particular, checking for generic global rigidity is in RP.

Proof. First we suppose that Γ is not generically globally rigid in Ed. If the rigidity matrix does not have rank t, then the algorithm correctly outputs “no”. If the rigidity matrix does have rank t, by Lemma 4.8, the maximal observed rank cannot be larger than the rank of any equilibrium stress matrix of any generic framework, which is less than s. Thus the algorithm will correctly output “no”. Next we suppose that Γ is generically globally rigid in Ed and bound the probability of a false negative. Let (ρ, H) be a set of variables that are not a zero of the polynomial P given by Lemma 4.8. Such points cannot give a false negative: the rank of E(ρ, H) is its maximum value, e, so we do not give a false negative in constructing ω, and rank(Ω) = s, so again we do not output a false negative. 22 GORTLER, HEALY, AND THURSTON

So if Γ is generically globally rigid in Ed, we are guaranteed to obtain the correct answer if we pick ρ and H that miss the zeros of P , a polynomial of degree e+(e−1)s, which is less than ve. The Schwartz-Zippel Lemma then gives the bounds stated on the error probability. Moreover, if we choose N > 2ve, we will give a false “no” answer less than half the time. The running time for such an N is polynomial in the input size, so testing for generic global rigidity is in RP. 

Algorithm 4.3 and the proof are structured as they are because Lemma 4.8 is false without ∗ the condition that rank `ρ take its maximal value. For instance, if a framework ρ lies in a lower-dimensional subspace of Ed, the rank of a generic Ω ∈ S(ρ) may be greater than v − d − 1, so the universal upper bound motivating Definition 1.11 may not hold. For the reader’s convenience, we now estimate some bounds on the size of the primes necessary for the algorithms to work with high probability. These bounds can very likely be improved substantially.

Proposition 4.11. Suppose that the computations in Algorithm 4.2 or 4.3 are done modulo a prime p chosen uniformly from a set of primes R, where all random choices are from [0, p − 1] and each prime R is at least N. Then neither algorithm will return a false “yes” answer. If |R| > 4t and N > 4t, then Algorithm 4.2 produces a false “no” answer with probability bounded above by 1/2. Similarly, if |R| > 4ve and N > 4ve, then Algorithm 4.3 produces a false “no” answer with probability bounded above by 1/2.

Remark 4.12. By the Prime Number Theorem, this proposition tells us we need to consider primes up to about 8t ln(4t) (for local rigidity) or 8ve ln(4ve) (for global rigidity) in order to get a sufficiently large set R.

Proof. As before, we cannot return a false “yes” answer, and if the graph is generically locally (or globally) rigid, there is an integer polynomials Ploc (or Pglob) so that if our random framework ρ (or pair (ρ, H)) is not a zero of Ploc (or Pglob) we do not return a false “no” answer. The Schwartz-Zippel Lemma works without change modulo p. The only differences are that • the polynomial P not be zero modulo p, and • the prime p must be large enough so that there are enough distinct values modulo p for the lemma to be useful. To take care of the second point, we require that the prime be larger than the chosen value N. To take care of the first point, we will give an upper bound B for the sum of the absolute values of the coefficients of P . It suffices to pick the prime p larger than B. However, it turns out to be more efficient to pick from a collection of primes R so that any product of at least |R|/4 of the primes is larger than B. Then if we pick p at random from R, the chance that P is zero modulo p is at most 3/4 (as P is zero modulo p for at most 1/4 of the primes p ∈ R). We now estimate the sum of the coefficients of P in the two cases. For local rigidity, Ploc is a determinant of a t × t submatrix of the rigidity matrix. As such, it is a sum of t! terms, each a product of t products of terms√ with coefficient-sum equal to 2. Using the Stirling’s n n approximation in the form n! < 2πn e , we therefore find √ t ln Bloc ≤ ln(2 · t!) < t(ln t + ln 2 − 1) + ln 2πt. CHARACTERIZING GENERIC GLOBAL RIGIDITY 23

For global rigidity, we separately estimate bounds B1,B2 for the two factors P1,P2 making up Pglob. We find √ eΓ ln B1 ≤ ln(2 · eΓ!) < eΓ(ln eΓ + ln 2 − 1) + ln 2πeΓ.

(Here we write eΓ for the number of edges in Γ to avoid confusion with the base of natural logarithms.) Note that P2 is an s×s determinant of Ω,˜ which itself is made of (eΓ−1)×(eΓ−1) determinants of E. We therefore have √ √ eΓ s ln B2 ≤ ln(s!(2 eΓ!) ) < s(ln s − 1) + ln 2πs + s(eΓ(ln eΓ + ln 2 − 1) + ln 2πeΓ). Now suppose, in the local rigidity case, pick a set of primes R with |R| > 4t and each 0 Q prime in R larger than 4t. Then, for any subset R of R of size at least t, p∈R0 p > Bloc. Indeed, for t ≥ 1, X √ ln p − ln Bloc ≥ t ln(4t) − t(ln t + ln 2 − 1) − ln 2πt p∈R0 √ 1 ≥ t(ln 2 + 1) − 2 ln t − ln 2π.

Taking the derivative reveals that the last expression√ is increasing as a function of t for √2e t ≥ 1, and furthermore the value at t = 1 is ln π , which is positive, as desired. Therefore if we pick a prime p randomly from R, Ploc is zero modulo p with probability at most 3/4, and the Schwartz-Zippel Lemma tells us that we (correctly) answer “yes” with probability at least 3/4. We conclude that our total probability of returning the correct answer is at 3 3 1 least 4 · 4 > 2 , as desired. Similar but more lengthy estimates show that, for any set of primes R0 such that |R0| > 0 Q veΓ and each prime in R is larger than 4veΓ, p∈R0 p > Bglob, which gives the claimed P result. This is clear asymptotically, as p∈R0 ln p > veΓ ln(4veΓ) which is strictly larger than the dominant term in ln Bglob, which is seΓ ln eΓ, but is also true for all graphs with at least 3 edges. 

5. Smooth higher-dimensional flexes Let us now turn to the issue of higher-dimensional flexing. Given incongruent frame- works ρ and σ in Ed with the same edge lengths, how large must a be so that ρ and σ are connected by a smooth path of frameworks in Ed+a with constant edge lengths? (Such a path is called a flex in Ed+k.) Bezdek and Connelly [3] have shown that an arbitrary pair of frameworks in Ed with the same edge lengths can be connected by a smooth path in E2d (so a = d always suffices), while Belk and Connelly [2] exhibited a d-dimensional framework of the “d-simplex with flaps” which is globally rigid in Ed and locally rigid all the way up to E2d−1 (so a = d can be necessary). Thus for arbitrary frameworks one may have to go up to twice the dimension to get any flexibility at all. Theorem 1.22 from the Introduction states that the situation is rather different for generic frameworks: for a generic framework ρ which is not globally rigid, there is some other incongruent framework σ so that ρ can be flexed to σ in Ed+1 (so a = 1 suffices). In particular, ρ is not locally rigid in Ed+1. The question of how large a must be to reach every alternative framework with the same edge lengths as a given generic one remains open. The rest of this section is devoted to a proof of Theorem 1.22. Note that for the conditions of the theorem to be satisfied Γ must have at least d+2 vertices and must not have maximal Gauss rank. 24 GORTLER, HEALY, AND THURSTON

Definition 5.1. Given a framework ρ ∈ Cd(Γ), the space of lifted stress satisfiers Ae(ρ) is the space of all (d + 1)-dimensional frameworks of Γ that satisfy all of the stress matrices in S(ρ): (12) Ae(ρ) := { σ ∈ Cd+1(Γ) | S(σ) ⊃ S(ρ) }. Also letρ ˜ be the framework in Ae(ρ) defined by embedding ρ in the first d dimensions of Ed+1. In our proof, our (d + 1)-dimensional flex will in fact stay in the space Ae(ρ). Because Ae(ρ) is isomorphic to K(ρ)d+1, it is a (kd + k)-dimensional linear space. Finally, let `e be the length squared map on Ae(ρ) and define Be(ρ) := `e(Ae(ρ)). We summarize here the main spaces and maps that will be used in this proof.

`e same F (ρ) A(ρ) B(ρ) L(ρ) e e e dim R

ϕ F (ρ)/ Eucl(d) K(ρ) C1(Γ)

Let F (ρ) be the fiber of `e over the point `(ρ), and let F0(ρ) be the connected component containingρ ˜. Thus F (ρ) consists of points in Ae(ρ) with the same edge lengths as ρ. We will first show that F (ρ) is a smooth manifold. To do this, we will need to know that `(ρ) is a regular value of `e(Lemma 5.3). To compute the dimension of F (ρ), we will show that Be(ρ) is the same dimension as the space L(ρ), which was defined in Section2 (Lemma 5.4). By definition,ρ ˜ has all zeros in its last ((d + 1)’st) coordinate. Thus our plan is to show that there is another incongruent framework in F0(ρ) that also has all zeros in its last coordinate and is thus in Cd(Γ). To deal with congruences, we will mod out by the Euclidean transformations in the first d coordinates. When ρ does not have maximal Gauss rank, the singularities of F0(ρ)/ Eucl(d) will be of codimension 2 or greater (Lemma 5.6; compare Proposition 2.3). We will then consider a proper map ϕ from F0(ρ)/ Eucl(d) that essentially just looks at the last coordinate of a framework, so [˜ρ] maps to 0.4 We will prove that this map has a well defined and even degree. This will prove the existence of a second frameworkσ ˜ in F0(ρ) which maps to zero under ϕ and thus comes from another framework σ in Cd(Γ) with the same edge lengths. Sinceρ ˜ andσ ˜ are both in F0(ρ), which is connected by assumption, there must be a smooth path within F (ρ) which connects the two frameworks, which is the desired smooth flex in Ed+1. In order to understand the fibers of `e, we would like to apply the algebraic version of Sard’s Theorem, but we first need to know that `(ρ) is a generic point in L(ρ) in an appropriate sense. This requires a small detour to understand the proper algebraic notion of genericity. ∗ Say that a framework ρ is good if rank `ρ = t and dim(K(ρ)) takes its maximum value k. (For instance, generic frameworks are good.) We then also have dim(A(ρ)) = kd. For a good framework ρ, let a(ρ) be the point in Gr(kd, vd) corresponding to A(ρ), where we consider Gr(kd, vd) as an explicit variety in its standard embedding in projective space via Pl¨ucker coordinates. The map a from Cd(Γ) to Gr(kd, vd) is a rational map. We also use the standard notation Q(x), where x ∈ Rn, to mean the smallest field containing Q and x. To define Q(x) for x ∈ RPn, note that x is contained inside one of the

4We could also take the quotient by translations in the last coordinate to get a compact space and not just a proper map. CHARACTERIZING GENERIC GLOBAL RIGIDITY 25 canonical Rn coordinate charts (defined over Q) of RPn; let x0 be the coordinates of x inside Rn. Then Q(x) is defined to be Q(x0). It is easy to see that this is independent of which coordinate chart we picked. Explicitly, if (x0 : x1 : ··· : xn) are projective coordinates for x n in RP , then Q(x) consists of rational functions of the ratios xi/xj. Note that a priori, A(ρ) (and L(ρ)) are defined over Q(ρ). However, ρ is of course not generic over Q(ρ). But A(ρ) is also defined over the smaller field Q(a(ρ)), and the lemma below asserts that ρ is generic over this smaller field. Lemma 5.2. For a generic framework ρ, ρ is generic inside A(ρ) and `(ρ) is generic inside L(ρ), where we consider A(ρ) and L(ρ) to be defined over Q(a(ρ)). Proof. The proof boils down to observing that the mapping ρ 7→ (a(ρ), ρ) gives a birational equivalence between Cd(Γ) and the canonical fiber bundle over the image of a, considered as a subvariety of the Grassmannian. The assertion in the lemma corresponds to the fact that in a fiber bundle, a generic point in the total space is also generic in the fiber. More explicitly, let ρ be a generic framework and suppose that ρ is not generic in A(ρ) over Q(a(ρ)). Then, by the definition of genericity, there is some rational function P with coefficients in Q so that P (a(ρ), ρ) = 0 while there is some ρ0 ∈ A(ρ) so that P (a(ρ), ρ0) 6= 0. We can suppose that ρ0 is also good, since the vanishing of P and not being good are both defined by algebraic equations that do not vanish identically on A(ρ). Then a(ρ0) is also defined and equal to a(ρ), so P (a(ρ0), ρ0) 6= 0. Thus the rational map α 7→ P (a(α), α) is not identically zero on Cd(Γ). By clearing the denominators of this map we get a non-zero polynomial function on Cd(Γ) which vanishes on ρ, so ρ is not generic in Cd(Γ), contradicting the assumption. Finally, `(ρ) inside L(ρ) is the image of the generic framework ρ inside A(ρ), so is also generic. 

Next we can look at the map `e and its fibers. Let F (ρ) := `e−1(`(ρ)) be the fiber of `e at the point `(ρ). Also let F0(ρ) be the component of F (ρ) that includes ρ. Lemma 5.3. Suppose that Γ, a graph with d+2 or more vertices, is generically locally rigid in Ed and ρ is a generic framework in Cd(Γ). Then F (ρ) is a smooth manifold. Proof. From Lemma 5.2, `(ρ) is a generic point in L(ρ). Thus from the algebraic version of Sard’s Theorem over the field Q(a(ρ)), `(ρ) is a regular value of `e. Therefore, from the implicit function theorem, F (ρ)) is a smooth manifold. 

Lemma 5.4. The semi-algebraic set Be(ρ) has the same dimension as B(ρ) and L(ρ), namely d+1 kd − 2 . d+1 Proof. In one direction, Be(ρ) ⊃ B(ρ) and so clearly is at least of dimension kd − 2 . Recall that B(ρ) is a flat space and so is contained in L(ρ), a linear space of the same dimension. In the other direction, we need to show that Be(ρ) is also contained in L(ρ). To do this we recall that K(ρ) is isomorphic to the space of frameworks of Γ in E1 which have all the same stress matrices as ρ (and maybe more). As described in Remark 2.10, d d+1 B(ρ) coincides with chord (`(K(ρ))) and similarly Be(ρ) is chord (`(K(ρ))). Thus (13) d+1 2d 2 2 Be(ρ) = chord (`(K(ρ))) ⊂ chord (`(K(ρ))) = chord (B(ρ)) ⊂ chord (L(ρ)) = L(ρ) and we are done.  26 GORTLER, HEALY, AND THURSTON

The underlying idea of the above proof is that B(ρ) is a flat space and so its dimension stays the same under the chording operation. Corollary 5.5. Suppose that Γ, a graph with d + 2 or more vertices, is generically locally rigid in Ed and ρ is a generic framework in Cd(Γ). Then F (ρ) is a smooth manifold of d+1 dimension k + 2 . Proof. F (ρ) is a smooth manifold by Lemma 5.3. To find its dimension, subtract the dimension of the image from the dimension of the domain:  d + 1 d + 1 dim(F (ρ)) = dim Ae(ρ) − dim Be(ρ) = k(d + 1) − kd − = k + . 2 2  Next we mod out by the the group consisting of Euclidean transformations on the first d coordinates. (We do not mod out by Euclidean transforms involving the last coordinate, as we want to be able to detect when the framework lies completely in Ed.) This gives us the quotient F (ρ)/ Eucl(d), which is of dimension k. Lemma 5.6. Suppose that Γ, a graph with d+2 or more vertices, is generically locally rigid in Ed and does not have maximal Gauss rank in Ed, and ρ is a generic framework in Cd(Γ). Then F (ρ)/ Eucl(d) is a smooth stratified space with singularities of codimension at least 2. Proof. By the arguments in Lemma 2.2, F (ρ)/ Eucl(d) is a smooth stratified space with singularities at quotients with non-trivial stabilizer, i.e., frameworks whose projection down to the first d coordinates span a proper affine subspace of Ed. First we argue that such singularities occur only at frameworks that span exactly a d- dimensional subspace of Ed+1 and that project down to subspace of dimension exactly d − 1 in the first d coordinates. In particular, such singularities cannot have an affine span of less than d in d+1. Any framework with a smaller affine span would give a framework in 0 E Ed for some d0 < d. Considered as a framework in Ed, this would mean that `(ρ) is not a regular value of `, contradicting Lemma 2.19. Thus the only possibility for a larger-than- expected stabilizer is a framework with d-dimensional span whose projection is smaller than d-dimensional, as claimed. d+1 The dimension of these singular frameworks is d+ 2 : it is d (the dimension of the space d d+1 of hyperplanes in E , the possible choices of (d − 1)-dimensional hyperplanes) plus 2 (the dimension of Eucl(d), the possible choices of the framework within a single hyperplane; here we use local rigidity in Ed and the fact that `(ρ) is a regular value of `). The singular frameworks are therefore codimension k − d inside F (ρ). Since the stabilizer of these singular frameworks is always O(1) ' Z/2, which is discrete, the codimension of the singular set does not change inside the quotient. In particular, since Γ does not have a minimal stress kernel, the codimension is always at least 2. 

Now we will look at the last coordinate of frameworks in F0(ρ)/ Eucl(d). Since all such frameworks are in Ae(ρ), this coordinate must be in K(ρ). (Here we are thinking of K(ρ) as a space of frameworks in E1.) Points that map to 0 under this map represent classes of frameworks that lie entirely in the space spanned by the first d coordinates in Ed+1, and that have the same edge lengths as ρ.

Definition 5.7. Let the map ϕ from F0(ρ)/ Eucl(d) to K(ρ) be given by simply looking at the last coordinate. Note that both the domain and range have dimension k. And now we are in position to complete the proof of our Theorem. CHARACTERIZING GENERIC GLOBAL RIGIDITY 27

Proof of Theorem 1.22. By Lemma 5.6, when ρ does not have maximal Gauss rank, F0(ρ)/ Eucl(d) has singularities of high codimension. The map ϕ is proper, as the only ends of F0(ρ)/ Eucl(d) are given by translation in the last coordinate, which also goes to an end of K(ρ). Thus ϕ has a well-defined mod-two degree by Corollary 2.16. The frameworks in F0(ρ) have fixed edge lengths, which implies that the image frameworks in K(ρ), considered as a subset of C1(Γ), have all points within a bounded distance of each other. In particular ϕ is not onto, and so its mod-two degree must be zero. The preimages of 0 are congruence classes of frameworks of Γ that lie in Ed and have the same edge lengths as ρ. Next, by the analysis in Lemma 5.6, 0 cannot be the image of a singularity of F0(ρ)/ Eucl(d). Furthermore, 0 is a regular value of ϕ: An element of the kernel of ϕ∗ at [σ] for some σ in the inverse image of 0 is an infinitesimal d-dimensional flex of the framework σ in Cd(Γ). But Lemma 2.19 tells us that every framework in Cd(Γ) with the same edge lengths as ρ is infinitesimally rigid. Thus there are an even number of points in ϕ−1(0). Let [˜σ] be another such point. Sinceρ ˜ andσ ˜ are points in a connected smooth manifold, there is a smooth path connecting them. This smooth path is the desired path of frameworks of Γ in Ed+1 with constant edge lengths.  References [1] L. Asimow and B. Roth, The rigidity of graphs, Trans. Amer. Math. Soc. 245 (1978), 279–289. [2] Maria Belk and Robert Connelly, Rigidity of the simplex with flaps, preprint, 2007. [3] K´arolyBezdek and Robert Connelly, The Kneser-Poulsen conjecture for spherical polytopes, Discrete Comput. Geom. 32 (2004), no. 1, 101–106. [4] J. Bochnak, M. Coste, and M. F. Roy, Real algebraic geometry, Springer, 1998. [5]S. Capkun,ˇ M. Hamdi, and J. P. Hubaux, GPS-free positioning in mobile ad hoc networks, Cluster Computing 5 (2002), no. 2, 157–167. [6] M. Cheung and W. Whiteley, Transfer of global rigidity results among dimensions: Graph powers and coning, Preprint, York University (2005). [7] Robert Connelly, On generic global rigidity, DIMACS Ser. Discrete Math. Theoret. Comput. Sci. 4 (1991), 147–155. [8] , Generic global rigidity, Discrete Comput. Geom 33 (2005), no. 4, 549–563. [9] G. M. Crippen and T. F. Havel, Distance geometry and molecular conformation, Taunton, 1988. [10] John D. Dixon, Exact solution of linear equations using p-adic expansions, Numer. Math. 40 (1982), 137–141. [11] Barbara Fantechi, On the superadditivity of secant defects, Bull. Soc. Math. France 118 (1990), no. 1, 85–100. [12] Gerd Fischer and Jens Piontkowski, Ruled varieties: An introduction to algebraic differential geometry, Advanced Lectures in Mathematics, Friedrick Vieweg & Sohn, Braunschweig, 2001. [13] William Fulton and Robert Lazarsfeld, Connectivity and its applications in algebraic geometry, Alge- braic Geometry (Chicago, Ill., 1980), Lecture Notes in Math., vol. 862, Springer, 1981, pp. 26–92. [14] Bruce Hendrickson, Conditions for unique graph realizations, SIAM J. Comput. 21 (1992), no. 1, 65–84. [15] , The molecule problem: Exploiting structure in global optimization, SIAM J. Optim. 5 (1995), no. 4, 835–857. [16] Bill Jackson and Tibor Jord´an, Connected rigidity matroids and unique realizations of graphs, J. Com- bin. Theory Ser. B 94 (2005), no. 1, 1–29. [17] Bill Jackson, Tibor Jord´an,and Zolt´anSzabadka, Globally linked pairs of vertices in equivalent real- izations of graphs, Discrete Comput. Geom. 35 (2006), no. 3, 493–512. [18] G. Laman, On graphs and rigidity of plane skeletal structures, J. Engrg. Math. 4 (1970), no. 4, 331–340. [19] R. Lazarsfeld and A. Van de Ven, Topics in the geometry of projective space: Recent work of F. L. Zak, DMV Seminar, vol. 4, Birkh¨auserVerlag, Basel, 1984, With an addendum by Zak. [20] L. Lov´aszand Y. Yemini, On generic rigidity in the plane, SIAM J. Algebraic Discrete Methods 3 (1982), 91. [21] Markus J. Pflaum, Analytic and geometric study of stratified spaces, Lecture notes in mathematics, vol. 1768, Springer, 2001. [22] Arthur Sard, Images of critical sets, Ann. of Math. (2) 68 (1958), no. 2, 247–259. 28 GORTLER, HEALY, AND THURSTON

[23] J. B. Saxe, Embeddability of weighted graphs in k-space is strongly NP-hard, Proc. 17th Allerton Conf. in Communications, Control, and Computing, 1979, pp. 480–489. [24] J. T. Schwartz, Fast probabilistic algorithms for verification of polynomial identities, Journal of the ACM 27 (1980), no. 4, 701–717. [25] Michael Spivak, A comprehensive introduction to differential geometry, second ed., Publish or Perish, Inc., Houston, Texas, 1979. [26] F. L. Zak, Linear systems of hyperplane sections on varieties of small codimension, Funktsional. Anal. i Prilozhen 19 (1985), no. 3, 1–10. [27] , Tangents and secants of algebraic varieties, Translations of Mathematical Monographs, vol. 127, American Mathematical Society, Providence, RI, 1993, Translated from the Russian manuscript by the author.

School of Engineering and Applied Sciences, Harvard University, Cambridge, MA 02138 E-mail address: [email protected]

School of Engineering and Applied Sciences, Harvard University, Cambridge, MA 02138 E-mail address: [email protected]

Department of Mathematics, Barnard College, Columbia University, New York, NY 10027 E-mail address: [email protected]