Leo Liberti
email: liberti@lix.polytechnique.fr

Carlile Lavor
email: clavor@ime.unicamp.br

Open research areas in distance geometry

published or not. The documents may come

Introduction

Distance Geometry (DG) is based around the concept of distance rather than points and lines. Its development as a branch of mathematics is mainly due to the motivating influence of other fields of science and technology, although pure mathematicians have also worked in DG over the years. DG becomes necessary whenever one can collect or estimate measurements for the pairwise distances between points in some set, and is then required to compute the coordinates of those points compatible with the distance measurements.

The fundamental problem in DG is the Distance Geometry Problem (DGP), a decision problem that, given an integer K > 0 and a connected simple edge-weighted graph G = (V, E, d) where d : E → R + , asks whether there exists a realization x : V → R K such that:

∀{u, v} ∈ E x u -x v = d uv , (1)
where • indicates an arbitrary norm, making this into a problem schema parametrized on the norm (as we shall see in the following, most applications employ the 2 norm).

The DGP is an inverse problem: whereas computing some of the pairwise distances given the positions of the points is an easy task,1 the inverse inference (retrieving the point positions given some of the distances) is not so easy. We remark that a realization can be represented by a |V | × K matrix, the i-th row of which is the position vector x i for vertex i ∈ V .

The main purpose of this paper is to survey what we think are the most important open problems in the field of DG.

The rest of this paper is organized as follows. We discuss some of the applications driving research behind DG in Sect. 2. We give a very short (and partial) historical overview of the development of DG in Sect. 3. Sect. 4 introduces some DGP variants. The main section, Sect. [START_REF] Alizadeh | Interior point methods in semidefinite programming with applications to combinatorial optimization[END_REF], presents many open questions and promising areas for further research.

Main application areas

The DGP arises in many application areas. We list here some of those for which the application is direct. In the following, we shall refer to X as the set of solutions of the DGP variant being discussed.

• In certain network synchronization protocols, the time difference between certain clocks can be estimated and exchanged, but what is actually required is the absolute time [START_REF] Singer | Angular synchronization by eigenvectors and semidefinite programming[END_REF]. Here the points in the solution set X are sequences of time instants, each of which is a vector in R 1 (i.e. a scalar) indicating the absolute time for a given clock. The time differences are Euclidean distances between points in one dimension: we recall that

• 2 = | • | in R 1 .
• In wireless networks the devices may move about, usually on a two-dimensional surface. Some of the pairwise distances, typically those that are sufficiently close, can be estimated by measuring the battery power used in peer-to-peer communication. The information of interest to the network provider is the localization of the devices. In this setting, the solution set X contains sequences of 2D coordinates (one per each device), and the measured distances are assumed to be approximately Euclidean, although they may be noisy and imprecise. See [START_REF] Yemini | The positioning problem -a draft of an intermediate summary[END_REF][START_REF] Yemini | Some theoretical aspects of position-location problems[END_REF][START_REF] Doherty | Convex position estimation in wireless sensor networks[END_REF][START_REF] Jackson | Graph theoretic techniques in the analysis of uniquely localizable sensor networks[END_REF][START_REF] Biswas | Semidefinite programming for ad hoc wireless sensor network localization[END_REF][START_REF] Krislock | Explicit sensor network localization using semidefinite representations and facial reductions[END_REF][START_REF] Eren | Rigidity, computation, and randomization in network localization[END_REF] • Proteins are organic molecules consisting of a backbone with some side-chains attached. Proteins have chemical properties (e.g. the atoms which compose it) and geometrical properties (the relative position of each atom in the protein). Nowadays we know the chemical compositions of most proteins of interest, but not necessarily their shape; and yet, proteins bind to other proteins, and/or to specific sites on the surface of living cells, depending on both shape and chemical composition. Some of the pairwise inter-atomic distances can be measured in fairly precise ways (e.g. the lengths of the covalent bonds). Kurt Wüthrich discovered that some other distances (typically smaller than 5 Å) can be estimated using Nuclear Magnetic Resonance (NMR) techniques [START_REF] Wüthrich | Protein structure determination in solution by nuclear magnetic resonance spectroscopy[END_REF]. In this setting, X contains sequences of 3D coordinates (one per atom), and some of the measured distances can be noisy or just wrong [START_REF] Berger | Reconstructing a three-dimensional model with arbitrary errors[END_REF]. Also see [START_REF] Costa | Discretization orders for protein side chains[END_REF][START_REF] Nilges | Determination of three-dimensional structures of proteins by simulated annealing with interproton distance restraints. application to crambin, potato carboxypeptidase inhibitor and barley serine proteinase inhibitor 2[END_REF][START_REF] Cassioli | An algorithm to enumerate all possible protein conformations verifying a set of distance constraints[END_REF] • Fleets of unmanned autonomous underwater vehicles (AUV) are deployed in order to install and maintain offshore installations such as oil rigs, wind energy farm and wave energy farms; such devices can estimate distances between each other, with the ocean bed and with the installation using sonar signals. In this setting, X contains sequences of 3D coordinates (one per AUV). Measurements can be noisy and depend on time, and the positions of the AUVs move continuously in the ocean. See [START_REF] Bahr | Cooperative localization for autonomous underwater vehicles[END_REF].

• Nanostructures, such as graphite or buckminsterfullerene, are used extensively in material sciences. The main issue is determining their shape from a spectrographic analysis. The input data is essentially a probability distribution function (p.d.f.) over distance values, i.e. a function R + → [0, 1]: by looking at the peaks of the p.d.f., one can extract a sequence of most likely values (with their multiplicities). From this list of distance values, one has to reconstruct their incidences to atoms, i.e. the graph, and its realization in R 3 . In this setting, X contains sequences of 3D coordinates (one per atom occurring in the nanostructure). The distances are unassigned, i.e. they are simply values with multiplicities, but the incidence to the adjacent atoms is also unknown. See [START_REF] Duxbury | The unassigned distance geometry problem[END_REF][START_REF] Billinge | Assigned and unassigned distance geometry: Applications to biological molecules and nanostructures. 4OR[END_REF][START_REF] Thorpe | Rigidity Theory and Applications[END_REF].

• In the analysis of robotic movements one is given the bar-and-joint structure of the robot (i.e. a geometric model consisting of idealized rigid bars held together by freely rotating joints), the absolute position of its joints, and the coordinates of one or more points in space, and one would like to know if the robot can flex to reach that point. This involves computing the manifold of solutions of the DGP corresponding to the robotic graph weighted by the bar lengths, and asking whether the solution manifold contains the given points [START_REF] Rojas | Distance-based formulations for the position analysis of kinematic chains[END_REF]. Again, X contains sequences of 3D coordinates (one per joint).

In other cases, DG may be one of the steps towards the solution of other problems. In data analysis, for example, one often wishes to represent high-dimensional vectors visually on a 2D or 3D space. Many dimensional reduction techniques aim at approximately preserving the pairwise distances between the vectors [START_REF] Borg | Modern Multidimensional Scaling[END_REF]. This is fairly natural in that the "shape" of a set of points could be defined through the preservation of pairwise distances: two sets of points for which there exists a congruence mapping one to the other can definitely be stated to have "the same shape". Thus, an approximate congruence between two sets (such as the one defined in Eq. ( 2)) might well be taken as a working definition of the two sets "having approximately the same shape". In dimensional reduction, the dimension K of the target space is unspecified.

Some historical notes about DG

Arguably the first mathematical result that can be ascribed to DG is Heron's theorem for computing the area of a triangle given its side lengths [71]. This was further generalized by Arthur Cayley to simplices of arbitrary dimensions, the volume of which turns out to be equal a scaled determinant of a matrix which is a function of the side lengths of the simplex [START_REF] Cayley | A theorem in the geometry of position[END_REF]. Karl Menger proposed an axiomatization of DG [START_REF] Menger | Untersuchungen über allgemeine Metrik[END_REF][START_REF] Menger | New foundation of Euclidean geometry[END_REF] that provided necessary and sufficient conditions for a metric space to be isometrically embeddable in a Euclidean space of finite dimension [START_REF]A modern view of geometry[END_REF][START_REF] Bowers | A menger redux: Embedding metric spaces isometrically[END_REF][START_REF] Havel | The theory and practice of distance geometry[END_REF].

Much of the impact of DG on engineering applications will be discussed in the rest of the paper. In this section, we focus on two cases where the history of DG made an impact on modern mathematics. For more information, see [START_REF] Liberti | Six mathematical gems in the history of distance geometry[END_REF].

Impact of DG on rigidity

Motivated by applications to statics and construction engineering, DG played a prominent role in the study of rigid structures, i.e. bar-and-joint frameworks having congruences as their only continuous motions (a bar-and-joint framework is a bar-and-joint structure together with positions for the joints; or, equivalently, a pair (G, x) of graph G with an associated realization x).

Euler conjectured in 1766 [START_REF] Euler | Continuatio fragmentorum ex adversariis mathematicis depromptorum: II Geometria[END_REF] that all three-dimensional polyhedra are rigid. Cauchy provided a proof for strictly convex polyhedra [START_REF] Cauchy | Sur les polygones et les polyèdres[END_REF] (Cauchy's original proof contained two mistakes, subsequently corrected by Steinitz and Lebesgue), and Alexandrov [START_REF] Alexandrov | Convex Polyhedra[END_REF] extended the proof to all convex polyhedra. If polyhedra are defined by their face incidence lattice rather than as intersections of half-spaces, then polyhedra can also be nonconvex: this, in fact, appeared to be the setting proposed by Euler in his original conjecture, expressed in terms of (triangulated) surfaces. In this setting, Bob Connelly finally found in 1978 [START_REF] Connelly | A counterexample to the rigidity conjecture for polyhedra[END_REF] an example of a nonconvex triangulated sphere which can undergo a flexible motion of some of its vertices, whilst keeping all the edge distances equal, and disproved Euler's conjecture. J.C. Maxwell studied rigidity [START_REF] Maxwell | On the calculation of the equilibrium and stiffness of frames[END_REF][START_REF] Maxwell | On reciprocal figures and diagrams of forces[END_REF] in relation to balancing forces acting on structures, more precisely force diagrams by reciprocal figures. These were at the basis of graphical algorithms to verify force balancing [START_REF] Cremona | Le figure reciproche nella statica grafica[END_REF][START_REF] Cremona | Elementi di calcolo grafico[END_REF], in use until computers became dominant [START_REF] Recski | Applications of combinatorics to statics -A survey[END_REF].

The role of DG in "big data"

DG is also at the center of two results currently used in the analysis and algorithmics of large data sets, also known as "big data". Both results gave rise to dimensional reduction techniques, i.e. methods for projecting a finite set Y of points in R m (with m large) to R K (with K much smaller than m), while approximately preserving the pairwise distances over Y . The first such technique is Multidimensional Scaling (MDS), originally based on a 1935 result of Isaac Schoenberg [START_REF] Schoenberg | Remarks to Maurice Fréchet's article "Sur la définition axiomatique d'une classe d'espaces distanciés vectoriellement applicable sur l'espace de Hilbert[END_REF] (rediscovered in 1938 by Young and Householder [START_REF] Young | Discussion of a set of points in terms of their mutual distances[END_REF]). The second technique is based on a lemma of Johnson and Lindenstrauss [START_REF] Johnson | Extensions of Lipschitz mappings into a Hilbert space[END_REF], which ensures that, for a given ε ∈ (0, 1), a large enough |Y |, and

K = O( 1 ε 2 ln |Y |)
, there exists a function f : R m → R K which preserves pairwise distances approximately, up to a multiplicative error:

∀x, y ∈ Y (1 -ε) x -y 2 ≤ f (x) -f (y) 2 ≤ (1 + ε) x -y 2 . (2)
MDS is now a pervasive data analysis technique, applied to a vast range of problems from science and technology. The Johnson-Lindenstrauss lemma (JLL) is less well known, but employed e.g. for fast clustering of Euclidean data [START_REF] Indyk | Nearest neighbor preserving embeddings[END_REF]. A possible application of these results to the DGP is useful to project large dimensional realizations to a smaller dimension while keeping all pairwise distances approximately equal.

Problems in DG

As already mentioned, the DGP is the fundamental problem in DG. In the DGP formulation we gave in Sect. 1, however, we omitted to specify the norm, which is mainly intended to be Euclidean. In this case, the DGP is also called Euclidean DGP (EDGP) [START_REF] Liberti | Euclidean distance geometry and applications[END_REF][START_REF] Dokmanić | Euclidean distance matrices: Essential theory, algorithms and applications[END_REF].

In this section we look at several types of DGP variants. In Sect. 4.1 we look at the case of fixed K given as part of the input. In Sect. 4.2 we discuss the DGP using other norms than the Euclidean one. In Sect. 4.3 we discuss the DGP in the presence of measurement errors on the input data. In Sect. 4.4 we discuss the case where G is complete and K is not given as part of the input, but rather as an asymptotic bound in function of n = |V |. In Sect. 4.5 we discuss the case where K is part of the output. Finally, in Sect. 4.6 we present the DGP variant where the weighted graph is replaced by a list of distance values.

DGP in given dimensions

Although the dimension K is specified in the DGP as part of the input, most applications require a fixed given constant, see Sect. 2: for example, the determination of protein structure from distance data requires K = 3. When the dimension K is fixed to a constant γ, we denote the corresponding problem by DGP γ (equivalently, we denote by EDGP γ the EDGP in fixed dimension γ, and similarly for other DGP variants). Because of the application to molecules, the EDGP 3 is also called Molecular DGP (MDGP); similarly, because of the application to wireless networks, the DGP 2 is also called the Sensor Network Localization Problem (SNLP).

DGP with different norms

The DGP using other norms is not as well studied as the EDGP. Some Mixed-Integer Linear Programming (MILP) formulations and some heuristics are currently being developed for the 1 and ∞ norms [START_REF] Liberti | Distance geometry in linearizable norms[END_REF]. The ∞ norm is used as a proxy to the 2 norm in [START_REF] Crippen | An alternative approach to distance geometry using l ∞ distances[END_REF]. Some works in spatial logic reduce to solving the DGP with a discrete-valued semimetric taking values in a set such as {almost equal, near, far} (each label is mapped to an interval of possible Euclidean distances) [START_REF] Du | The logic of NEAR and FAR[END_REF]. Geodesic spherical distances have been briefly investigated by Gödel [START_REF] Gödel | On the isometric embeddability of quadruples of points of r 3 in the surface of a sphere[END_REF], who proved that if a weighted complete graph over 4 vertices can be realized in R 3 , but not in R 2 , then it can also be realized on the surface of a sphere. This was extended to arbitrary dimensions in [START_REF] Liberti | Distance geometry on the sphere[END_REF].

DGP with intervals

In most applications, distances are not given precisely. Instead, some kind of measurement errors are involved. A common way to deal with this issue is to model distances d uv by means of an uncertainty interval

[d L uv , d U uv ], yielding what is known as interval DGP (iDGP): ∀{u, v} ∈ E d L uv ≤ x u -x v ≤ d U uv . (3)
Very few combinatorial techniques for solving DGPs extend naturally in the case of intervals. Typically, optimization techniques based on Mathematical Programming (MP) do, however [START_REF] Moré | Global continuation for distance geometry problems[END_REF][START_REF] Ambrosio | Solving distance geometry problems with interval data using formulation-based methods[END_REF]. See [START_REF] Liberti | Molecular distance geometry methods: from continuous to discrete[END_REF][START_REF] Lavor | The interval Branch-and-Prune algorithm for the discretizable molecular distance geometry problem with inexact distances[END_REF][START_REF] Souza | Solving the molecular distance geometry problem with inaccurate distance data[END_REF][START_REF] Cassioli | An algorithm to enumerate all possible protein conformations verifying a set of distance constraints[END_REF] for more information.

Isometric embeddings

Many works exist in the literature about isometric embeddings, i.e. embeddings of metrics in various vector spaces. We look specifically at cases where the metrics are finite and the target space is the Euclidean space R K (for some K). We remark that the isometric embedding problem with finite metrics is close to the case of the DGP where the input graph G is a complete graph.

In this line of (mostly theoretical) research, K is not usually given as part of the input but rather proved to be a function of |V | which is asymptotically bounded above. The JLL (Sect. 3.2) is an example of this type of results. An ingenious construction shows that any valid metric D = (d uv ) can be embedded exactly in R n (where n = |V |) under the ∞ norm. It suffices to define [START_REF] Fréchet | Sur quelques points du calcul fonctionnel[END_REF][START_REF] Kuratowski | Quelques problèmes concernant les espaces métriques non-séparables[END_REF]:

∀v ∈ V x v = (d uv | u ∈ V ). ( 4
)
This construction is known as the Fréchet embedding.

For the 1 norm, no such general result is known. It is known that 2 metric spaces of n points can be embedded in a vector space of O(n) dimensions under the 1 norm almost isometrically [110, §2.5]. The "almost" in the previous sentence refers to a multiplicative distortion similar to the JLL's:

(1 -ε) x 2 ≤ f (x) 1 ≤ (1 + ε) x 2 ,
where f preserves norms approximately while reducing the dimensionality of x, for some ε ∈ (0, 1). Moreover, any finite metric on n points can be embedded in an exponentially large dimensional vector space using the 1 norm with O(log n) distortion: this was shown in [START_REF] Bourgain | On Lipschitz embeddings of finite metric spaces in Hilbert space[END_REF] by means of a probabilistic weighted extension of the Fréchet embedding on all subsets of V . The dimension was reduced to O(n 2 ) by a deterministic construction [START_REF] Linial | The geometry of graphs and some of its algorithmic applications[END_REF]; moreover, an appropriate randomized choice of subsets of V drives it down to O(log n) [START_REF] Linial | The geometry of graphs and some of its algorithmic applications[END_REF]. Similar results hold for many other norms, including 2 one. The relatively large distortion O(log n) unfortunately limits the usefulness of these results.

Matrix completion

The EDGP can also be formulated as follows: given K > 0 and the squared weighted adjacency matrix D = (d 2 uv ) of G (with d uv being the weight of the edge {u, v} if {u, v} ∈ E), find a squared Euclidean Distance Matrix (sqEDM) D = ( d2 uv ) corresponding to a realization in R K and such that, for each {u, v} ∈ E, duv = d uv .

The EDM Completion Problem (EDMCP) consists in relaxing the requirement that D should be the sqEDM of a realization in R K for a given K. Instead, K is not part of the input, and D should simply correspond to a realization in a Euclidean space of any dimension. Informally, this means that, in the EDMCP, K becomes (implicitly) part of the output. More details can be found in [START_REF] Laurent | Matrix completion problems[END_REF].

DGP without adjacency information

Suppose that, instead of providing a weighted graph (G, d), we provided instead a list L of distance values, and then asked the same question. We can no longer write Eq. (1) since we do not know what d uv is: instead, we only have L = (d 1 , . . . , d m ) where m = |E|. This DGP variant, called the unassigned DGP (uDGP) is very important, since NMR and X-ray crystallography experiments actually provide the distance values rather than the actual edges of the graph. Although a fair amount of work has been carried out by physicists [START_REF] Duxbury | The unassigned distance geometry problem[END_REF] and structural biologists [START_REF] Nilges | Determination of three-dimensional structures of proteins from interproton distance data by hybrid distance geometry-dynamical simulated annealing calculations[END_REF] on this problem, it is largely unstudied by mathematicians and computer scientists for all K > 1 (the case K = 1, on the other hand, has been studied under different names: turnpike problem and partial digest problem [START_REF] Lemke | Reconstructing sets from interpoint distances[END_REF]). This prompted us to list it as one of the main "open areas" in Sect. 5 below (see Sect. 5.4).

Open research areas

In the last ten years, our work in the DG research community allowed us to survey many theoretical, methodological and applicative areas connected to DG [START_REF] Lavor | Molecular distance geometry problem[END_REF][START_REF] Liberti | Molecular distance geometry methods: from continuous to discrete[END_REF][START_REF] Lavor | Recent advances on the discretizable molecular distance geometry problem[END_REF][START_REF] Mucherino | Distance Geometry: Theory, Methods, and Applications[END_REF][START_REF] Liberti | Euclidean distance geometry and applications[END_REF]120,88,[START_REF] Liberti | Proceedings of the DIMACS Workshop on Distance Geometry Theory and Applications (DGTA16)[END_REF]. Although our viewpoint is certainly not exhaustive, we list here the research topics which we think are most promising for further research.

1. Combinatorial characterization of rigidity in dimensions K > 2.

2. Computational complexity of Euclidean Distance Matrix Completion in the Turing Machine model.

3.

A priori estimation of the number of realizations for a given set of distances.

The unassigned DGP.

We also remark that the longest-standing problem in DG, that of the rigidity of all closed triangulated surfaces, was opened by L. Euler in 1766 [START_REF] Euler | Continuatio fragmentorum ex adversariis mathematicis depromptorum: II Geometria[END_REF] and finally answered in the negative by Bob Connelly in 1978 [START_REF] Connelly | A counterexample to the rigidity conjecture for polyhedra[END_REF].

In the rest of this paper, we discuss each of these research areas in detail.

Combinatorial characterization of rigidity

Rigidity is a property relating to the bar-and-joint framework theory of statics. Architects and construction engineers are concerned with structures that do not bend: or, in other words, that are rigid. From the point of view of many other applications employing the EDGP as a model of the inverse problem of recovering positions from distance information, a desirable property is solution uniqueness. For example, if one is trying to recover the position of wireless devices in a mobile network, one would like the solution to be unique. In the case of protein conformation, one would like to find all of the possible chiral isomers, which are in finite number. Again, the property that tells apart EDGP instances with a finite number of solutions from those with an uncountable number is rigidity.

Formally speaking, there are many different definitions of rigidity. The most basic one is concerned with lack of local movement, i.e. the only possible movements that a structure can undergo without changing the given pairwise distances are rotations and translations. Another definition, most often used in statics, concerns the absence of infinitesimal motions (defined below). Other definitions concern solution uniqueness (global/universal rigidity) [START_REF] Alfakih | Universal rigidity of bar frameworks in general position: a Euclidean Distance Matrix approach[END_REF], minimality of edge set cardinality (isostaticity/minimal rigidity) [START_REF] Tay | Generating isostatic frameworks[END_REF], abstractness (graphical/abstract rigidity matroids) [START_REF] Graver | Combinatorial Rigidity[END_REF], and more [START_REF] Sitharam | A tractable, approximate, combinatorial 3D rigidity characterization[END_REF].

If the framework has certain genericity properties, then rigidity can be ascribed directly to the graph, rather than the framework [START_REF] Gluck | Almost all simply connected closed surfaces are rigid[END_REF]. The question then becomes: given a graph, is it rigid in K dimensions? Since the input only consists of a graph and an integer, the ideal solution algorithm to settle this question should be "purely combinatorial", meaning that during its execution on a Turing Machine computational model, no real number should be approximated through floating point representations. Purely combinatorial characterizations are known for K ∈ {1, 2}, but not for any other value of K. Currently, this is considered the most important open question in rigidity, and possibly for the whole of DG.

Rigidity of frameworks

Consider a YES instance of the EDGP, consisting of a weighted graph G = (V, E, d) and an integer K > 0, as well as a realization x ∈ R Kn . The pair (G, x) is called a framework in R K . We let K(G, x) be the complete graph over V weighted by the edge function d defined as follows: duv = d uv for all {u, v} ∈ E, and duv = x u -x v 2 otherwise (we shorten K(G, x) to K when no ambiguities arise). We further define the edge weight value function

f G : R Kn → R |E| + by f G (x) = ( x u -x v 2 | {u, v} ∈ E).
A framework (G, x) is rigid if there is at least a neighbourhood χ of x in R Kn such that:

f -1 G (f G (x)) ∩ χ = f -1 K (f K (x)). ( 5
)
The expression f -1 G (f G (x)) denotes the set of realizations x that satisfy the same distance equations as x, i.e. the set of all solutions of the given EDGP instance. The LHS therefore indicates all those realizations of the EDGP instance which are in the neighbourhood of x. Similarly, the RHS indicates the same when G is replaced by its completion K(G, x).

Realizations of complete graphs can be moved isometrically (i.e. while keeping the edge lengths invariant) only if the movements are congruences, namely compositions of rotations and translations (we do not consider reflections since they are non-local). The intuitive sense of the above definition is that, if Eq. ( 5) holds, then G locally "behaves like" its completion. In other words, a framework is rigid if it can only be moved isometrically by congruences. Testing rigidity of a given framework (with a rational realization) when K = 2 is coNP-hard [START_REF] Abbott | Generalizations of kempe's universality theorem[END_REF] (see Sect. 5.2.1 for a definition of coNP).

Infinitesimal rigidity

We now focus on rigidity from the point of view of the movement. Consider the graph G = ({1, 2, 3}, {{1, 2}, {2, 3}}) on three vertices, with two edges: node 2 is adjacent to both 1 and 3, and hence has degree 2, while nodes 1 and 3 both have degree 1. Consider the realization x 1 = (0, 0), x 2 = (1, 0), and x 3 = (1, 1) in R 2 . It is obvious that any position for x 3 on the unit circle centered at x 2 is also a valid realization: this generates an uncountable set x(α) of realizations as the angle α between the segments 12 and 23 ranges in the interval [0, 2π]. If one sees τ as a time parameter, the variation of x 3 is an isometric movement, also known as a (nontrivial) flex, which implies that this graph is flexible for K = 2 (by contrast, it is rigid for K = 1).

We now generalize this to any graph G = (V, E) with any realization x in R K . By isometry, any flex has to satisfy Eq. ( 1), which we write in its squared form:

∀τ ∈ [0, 1], {u, v} ∈ E x u (τ ) -x v (τ ) 2 2 = d 2 uv .
Note that we can assume that τ ∈ [0, 1] by rescaling if necessary. Since x u (τ ) denotes the position in R K of vertex u at time τ , we can compute its velocity by simply taking derivatives with respect to τ :

∀τ ∈ [0, 1], {u, v} ∈ E d dτ x u (τ ) -x v (τ ) 2 2 = d dτ d 2 uv .
We now remark that the RHS of this equation is zero, since d 2 uv are constants for all {u, v} ∈ E, yielding:

∀{u, v} ∈ E (x u -x v ) • ( ẋu -ẋv ) = 0,
where we assume that x = x(0) is the realization given in the framework (G, x). In order to find the velocity vector ẋ at τ = 0, we have to compute R uv = x u -x v for all {u, v} ∈ E, then solve the homogeneous linear system

R ẋ = 0, ( 6
)
where R is a matrix having |E| rows and Kn columns, called rigidity matrix. R is defined as follows: for a row indexed by {u, v} ∈ E, there are K possibly nonzero columns indexed by (u, 1), . . . , (u, K) containing the entries x u1 -x v1 , . . . , x uK -x vK , and K possibly nonzero columns indexed by (v, 1), . . . , (v, K) containing the reciprocal entries

x v1 -x u1 , . . . , x vK -x uK .
Sometimes rigidity matrices are shown in "short-hand format" |E| × n by writing each sequence of entries (x u1 -x v1 , . . . , x uK -x vK ) as x u -x v in the column indexed by u, and equivalently as x v -x u in the column indexed by v.

We now make the following crucial observation: the vector subspace spanned by all ẋ satisfying Eq. ( 6) contains all of the instantaneous velocity vectors that yield isometric movements of the given framework, also called infinitesimal motions of the framework. We remark that this subspace corresponds to the kernel ker R of the rigidity matrix. Now, the framework (G, x) is infinitesimally rigid if ker R only encodes the translations and rotations of (G, x). Otherwise the framework is infinitesimally flexible.

Since infinitesimal rigidity is based on a linear system, it can be decided based on the estimation of the degrees of freedom of the framework. If we start with an empty edge set, each of the n vertices has K degrees of freedom, so the system has Kn degrees of freedom overall. Each linearly independent row of R decreases the degrees of freedom by one unit. In general, the framework (G, x) has Kn -rk R degrees of freedom (we denote the rank of R by rk R). We remark that in R K there are K basic translations and K(K -1)/2 basic rotations (arising from pairs of distinct orthogonal axes), for a total of K(K + 1)/2 degrees of freedom of the group of Euclidean motions in R K . Since any framework can be moved isometrically by this group, at least these basic motions must satisfy Eq. ( 6). Hence, we have

dim ker R ≥ K(K + 1)/2.

Specifically, (G, x) is infinitesimally rigid if and only if

rk R = Kn - K(K + 1) 2 (7)
and infinitesimally flexible if and only if

rk R < Kn - K(K + 1) 2 , (8)
as long as the affine hull of x spans the whole of R K [START_REF] Asimow | The rigidity of graphs[END_REF]. Moreover, it was shown in [START_REF] Asimow | The rigidity of graphs II[END_REF] that a framework is infinitesimally rigid if and only if it is rigid and x is regular, meaning that its rigidity matrix has the maximum possible rank.

We remark that infinitesimal rigidity is a stronger notion than rigidity: every infinitesimally rigid framework is also rigid, but there are rigid frameworks that are infinitesimally flexible.

Generic properties

Another consequence of Eq. ( 7)-( 8) is that, if one can find a single rigid realization of the graph G, then almost all realizations of G must be rigid. This follows because: (a) rigidity is the same as infinitesimal rigidity with R having maximum rank (say) r among all the rigidity matrices corresponding to rigid frameworks; and (b) if a random matrix with a certain sparsity pattern is sampled uniformly from a compact set, it ends up having its maximum possible rank with probability 1. The alternative, i.e. that a sampled R is rank deficient, corresponds to the existence of a linear relationship between its rows, which defines a subspace of zero Lebesgue measure in R r .

Because of this, both rigidity and infinitesimal rigidity are generic properties. This allows us to ascribe them directly to the underlying (unweighted) graph rather than the framework. Equivalently, it is sufficient to look at the sparsity structure of the rigidity matrix in order to decide whether a framework is rigid with probability one.

Formally stated, we are concerned with the following decision problem.

Graph Rigidity. Given a graph G = (V, E) and an integer K > 0, is G generically (infinitesimally) rigid in K dimensions?

It should be clear that we can potentially use the rank of the rigidity matrix in order to solve the problem. Consider this algorithm:

1. sample a random realization x of G 2. compute the rank of R 3. if it is equal to Kn -K(K + 1)/2 then output YES 4. otherwise output NO. This algorithm runs in polynomial time, since matrix ranks can be computed in polynomial time [START_REF] Cheung | Fast matrix rank algorithms and applications[END_REF]. But this is not considered a "combinatorial characterization" since it involves computation with floating point numbers.

Moreover, it is a randomized algorithm in the Turing Machine (TM) computational model, since only finitely many rationals can be represented in the commonly used IEEE 754 standard floating point implementation: sampling a random realization x will yield a maximum rank rigidity matrix with practically high probability, but not with probability 1. Even with theoretical probability 1 assumptions, probability 1 is not the same as certainty: there is a possibility that this algorithm might output NO on a small fraction of YES instances. Re-running the algorithm sufficiently many times on the same instance will make the probability of error as small as desired, but this is not a deterministic algorithm.

An acceptable "combinatorial characterization" would limit its scope to decision algorithms that only employ the incidence structure of G, and perhaps integers bounded by a polynomial in |V | and |E|. Although the original meaning ascribed to "combinatorial characterization" did not call for algorithmic efficiency (in the sense of worst-case polynomial running time), the rigidity research community appears to feel that this would be a desirable characteristic [START_REF] Liberti | Proceedings of the DIMACS Workshop on Distance Geometry Theory and Applications (DGTA16)[END_REF].

Combinatorial characterization of rigidity on the line

For K = 1, a combinatorial characterization of generic rigidity is readily available: G is generically rigid if and only if it is connected. This holds because the only flexes in R 1 are translations. If a graph has a flex, say on vertex v, then all of its neighbours must undergo the same flex. If the graph is connected, then an induction argument shows that all of the vertices must undergo the same flex, showing that the flex is a congruence. If the graph is disconnected, then two connected components can undergo different flexes, which means different translations, the combination of which is not a congruence of the whole graph.

We remark that graph connectedness can be decided in polynomial time, for example by graph exploration algorithms [START_REF] Mehlhorn | Algorithms and Data Structures[END_REF].

Combinatorial characterization of rigidity in the plane

For K = 2, the situation becomes much more complicated. James Clerk Maxwell was using a degree of freedom calculus already in 1864 [START_REF] Maxwell | On reciprocal figures and diagrams of forces[END_REF] to the effect that if G is minimally rigid in the plane, then |E| = 2|V | -3 must hold. We remark that a graph is minimally rigid (also known as isostatic) when it is no longer rigid after the removal of any of its edges. Gerard Laman finally proved his celebrated theorem in 1970 [START_REF] Laman | On graphs and rigidity of plane skeletal structures[END_REF], namely that G = (V, E) with |V | > 1 is generically minimally rigid if and only if:

(a) |E| = 2|V | -3 (b) for each subgraph G = (V , E ) of G having |V | > 1, we have |E | ≤ 2|V | -3.
This was accepted as a purely combinatorial characterization of rigidity in the plane, since it immediately gives rise to the following brute force algorithm. Given any graph G, 1. list all subgraphs of G with at least two vertices 2. for each of them, test whether Laman's conditions (a) and (b) hold 3. if they do, output YES, otherwise NO.

Since there are exponentially many subgraphs of any graph, this algorithm is exponential time in the worst case. On the other hand, a polynomial time algorithm based on Laman's theorem was given in [START_REF] Lovász | On generic rigidity in the plane[END_REF].

Combinatorial characterization of rigidity in space

Although Maxwell did use the rank formula in 3D, namely |E| = 3|V | -6, in one of his papers [START_REF] Maxwell | On the calculation of the equilibrium and stiffness of frames[END_REF], all attempts to extend Laman's theorem along these lines for the case K = 3 have failed so far. In fact, Laman's conditions fail spectacularly when K = 3. The equivalent of condition (a) above would be |E| = 3|V | -6, but a well-contrived example [67, p. 2.14] (see Fig. 1, left) shows this to be false. The failure of the equivalent of condition (b) above, i.e. that every subgraph with |V | > 1 should have |E | ≤ 3|V |-6 is exhibited by the famous "double banana" graph (see Fig. 1, right), ascribed to Whiteley by [START_REF] Asimow | The rigidity of graphs II[END_REF].

Two ideas which might shed some light over the long-standing open question of finding a combinatorial characterization of 3D (generic) rigidity have been proposed by Meera Sitharam. In 2004, she and Y. Zhou have published a paper [START_REF] Sitharam | A tractable, approximate, combinatorial 3D rigidity characterization[END_REF] based on the concept of module rigidity (to replace Laman-style degree of freedom counts), according to which graphs like the double banana of Fig. 1 (right) would not be erroneously catalogued as rigid while being flexible. More recently, her talk (co-authored with J. Cheng and A. Vince) at the Geometric Rigidity 2016 workshop in Edinburgh bore the title "Refutation of a maximality conjecture or a combinatorial characterization of 3D rigidity?". We report the abstract from the workshop proceedings, since there appear to be no publications about this idea yet.

The talk will present an explicit, purely combinatorial algorithm that defines closure in an abstract 3D rigidity matroid (GEM, for graded exchange matroid). Strangely, rank in this matroid is an upper bound on rank in the 3D rigidity matroid, either refuting a well-known maximality conjecture about abstract rigidity matroids, (more likely) or giving a purely combinatorial characterization of 3D rigidity (less likely). In addition, we can show that rank of a graph G in the new GEM matroid is upper bounded by the size of any maximal (3, 6)-sparse subset. Although she does warn that the most likely possibility is that her result is not the sought-after characterization, we believe that explicitly and visibly displaying attempts to solve hard problems, such as this one, has the advantage of drawing attention (and hence further study and effort) towards their solution.

Global rigidity

A framework (G, x) is globally rigid in R K if it is rigid in R K and only has one possible realization up to congruences (including reflections). This case is very important in view of applications to clock synchronization protocols, wireless network realization, autonomous underwater vehicles, and, in general, whenever one tries to estimate a unique localization occurring in the real physical world.

By [START_REF] Gortler | Characterizing generic global rigidity[END_REF], global rigidity is a generic property, i.e. it depends only on the underlying graph G (rather than the framework) for almost all realizations x. For K = 1, G is (generically) globally rigid if and only if it is bi-connected (i.e. there are at least two distinct simple paths joining each pair of vertices in the graph). For K = 2, G is (generically) globally rigid if and only if it is 3-connected and redundantly rigid (i.e. it remains rigid after the removal of any edge) [START_REF] Jackson | Connected rigidity matroids and unique realization of graphs[END_REF]. No combinatorial characterization of global rigidity is known for K > 2.

Relevance

The combinatorial characterization of (generic) rigidity is important both because of applications -it helps to know whether a weighted graph is very likely to have finitely or uncountably many realizations -and because the problem has been open ever since Maxwell's times (mid-1800).

From a practical point of view, however, the computation of the rank of the rigidity matrix, coupled with Asimow and Roth's theorem (Eq. ( 7)-( 8)), appears to settle the question with high probability in polynomial (and practically acceptable) time. This "reduces" the problem to one of a mostly theoretical nature. As many theoretical problems, this one remains important also because, in trying to answer this question, researchers keep discovering interesting and practically relevant ideas (such as those about determining global rigidity, see Sect. 5.1.7). Specifically, however, this problem is very important because it has the merit of having shifted the study of rigidity from construction engineering to mathematics. Previously, definitions were rare, ideas informal and therefore ambiguously stated and often confused, and decision procedures almost completely empirical [START_REF] Grünbaum | Lectures on lost mathematics[END_REF]. Although construction engineers have been building truss structures (such as bridges) for a long time, lack of understanding of concepts such as minimal and redundant rigidity have caused ruptures and disasters throughout history. See the Wikipedia page en.wikipedia.org/wiki/List_of_ bridge_failures: truss-based bridges that collapsed due to "poor design" are likely suspects.

Computational complexity of matrix completion problems

A common way to define the EDMCP is: given a partially defined matrix, determine whether it can be completed to an sqEDM or not. This problem, introduced in Sect. 4.5, is almost like the DGP, except for the seemingly minor detail that K shifts from being part of the input (in the EDGP) to part of the output (in the EDMCP). This difference is only apparently minor, as we shall see. While the EDGP is NP-hard in the TM computational model, the EDMCP is not known to be hard or tractable for the class NP. From a purely computational point of view, the EDGP can only be solved by exponential-time algorithms, while the EDMCP can be solved efficiently, since it can be formulated exactly by the following feasibility-only Semidefinite Programming (SDP) problem [START_REF] Dias | Diagonally dominant programming in distance geometry[END_REF]:

∀{i, j} ∈ E B ii + B jj -2B ij = d 2 ij B 0. (9)
The notation B 0 indicates that we require that B is symmetric and positive semidefinite, i.e. all its eigenvalues must be non-negative. We recall that SDPs can be solved approximately to any desired error tolerance in polynomial time [START_REF] Alizadeh | Interior point methods in semidefinite programming with applications to combinatorial optimization[END_REF]. Unfortunately, no method is known yet to solve SDPs exactly in polynomial time, and membership in the complexity class P in the TM computational model is defined by exhibiting a polynomial-time algorithm which can provably tell all YES instances apart from NO ones.

With respect to the SDP formulation Eq. ( 9), we remark that, in general, SDP solvers can find solutions of any rank, although a theoretical result of Barvinok [START_REF] Barvinok | Problems of distance geometry and convex properties of quadratic maps[END_REF] shows that if Eq. ( 9) is feasible, then there must exist a solution of rank K = ( 8|E| + 1 -1)/2 . Another result of the same author [START_REF] Barvinok | Measure concentration in optimization[END_REF] also proves that, provided there exists a manifold X of solutions of rank K, in some sense the solution of Eq. ( 9) "cannot be too far" from X in some well defined but asymptotic sense (the latter result has been exploited computationally with some success [START_REF] Dias | Diagonally dominant programming in distance geometry[END_REF]). This begs the question that is the subject of this section, i.e. what is the complexity status of the EDMCP? Is it NP-hard? Is it in P? Is it somewhere between the two classes, provided P = NP? The rest of the section provides a tutorial towards understanding this question.

Complexity in the TM model

We first give a short summmary of complexity classes in the TM model. We limit our attention to classes of decision problems, i.e. problems to which the answer can be encoded in a single bit. For example, "given a graph G, is it complete?" is a valid decision problem. Note that the question is parametrized over the input (in this case, the graph G): strictly speaking, no solution can be provided until we know what G is. When we replace the symbol G by an actual graph (stored on the TM tape), we obtain an instance of the decision problem. Thus, decision problems are also seen as infinite sets of instances. The instances having answer bit 1 are known as YES instances, while the rest are known as NO instances.

An algorithm A solves a problem P when it is parametrized by the input ι of P such that, for each input ι of P , A(ι) = 1 if and only if the instance is YES. The worst-case running time of an algorithm is expressed as a class of functions of the input size |ι| = ν, i.e. the amount of bits that ι needs to be stored on the TM tape. Interesting classes of functions are constants, logarithms, polynomials and exponentials of ν. If the function is f (ν), the class is indicated as O(f (ν)), and contains all of the functions that are asymptotically upper bounded by g(ν)f (ν) + h(ν) where g, h are themselves asymptotically upper bounded by f . A function g is asymptotically upper bounded by a function f if there is ν 0 ∈ N such that for all ν > ν 0 we have g(ν) ≤ f (ν). For example, if an algorithm takes 36ν 2 + 15ν + 3 CPU cycles to run, then it belongs to the class O(ν 2 ).

For a given problem P , it makes sense to ask the asymptotic worst-case running time of the fastest algorithm that solves P (over all algorithms that solve P ). For example, answering the question "given a graph, is it complete?" admits a trivial Since the work of Cobham [START_REF] Cobham | The intrinsic computational difficulty of functions[END_REF] and Edmonds [START_REF] Edmonds | Paths, trees and flowers[END_REF] in 1965, we list problems that have a polynomialtime solution algorithm in a class called P: this is because any finer granularity would make the algorithm depend on the implementation details of the TM (number of heads, number of tapes and so on), whereas the class of all polynomials is an invariant. The class P is known as the class of "tractable" problems.

Another interesting class, called NP, includes all problems for which YES instances can be proved to be YES by means of a certificate that can be verified in polynomial time. In the case of the toy problem "given a graph, is it complete?", the certificate is the input itself: as we have seen, the graph can be checked to be complete in polynomial time. This particular feature, i.e. that the input is the certificate, is shared by all problems in P, since the definition of P is exactly that there is a polynomial algorithm that, on YES instances, can provide the answer YES in polynomial time. Hence P ⊆ NP. The question whether P = NP or not is the most important open question of all computer science and one of the most important in mathematics, and will not be discussed further here (see [START_REF] Johnson | The NP-completeness column: an ongoing guide[END_REF][START_REF] Aaronson | Is P versus NP formally independent[END_REF] for more information).

NP is an interesting class because it contains problems for which no polynomial time algorithm is currently known, but that are very relevant in practice, such as many packing, covering, partitioning, clustering, scheduling, routing problems, as well as many combinatorial problems with resource constraints: once a solution is given, checking that it solves the problem is generally a question of replacement of symbols by value, and function evaluation, all of which can usually be carried out in polynomial time. On the other hand, finding the solution usually takes exponential time, at least with the algorithms we know so far.

Since it contains so many seemingly hard problems, it makes sense to ask what problems are "hardest" in the class NP. A qualitative definition of the notion of "hardest" is based on the concept of polynomial reductions. A problem Q can be reduced to another problem P if there is a polynomial time algorithm α mapping YES instances of Q to YES instances of P and NO instances of Q to NO instances of P . Now suppose there is a reduction from any problem Q in NP to a given problem P . Suppose P were in P: then there would exist a polynomial time algorithm A(ι) to solve each instance ι of P . But then, given an instance η of Q, the algorithm A(α(η)) would provide an answer to η in polynomial time. In other words, if P were tractable, every problem in NP were tractable: even the hardest problems of NP. This means that P must be as hard as the hardest problems of NP. So we define hardest for the class NP as those problems for which every problem in NP can be reduced to them. We call NP-hard the class of the hardest problems for NP. Note that a problem need not be in NP itself in order to be NP-hard.

The first such problem was Satisfiability (SAT) [START_REF] Cook | The complexity of theorem-proving procedures[END_REF]: Stephen Cook used a reduction from a polynomial time bounded Turing Machine to a set of boolean constraints of SAT. Ever since, it suffices to reduce from an NP-hard problem Q to a new problem P in order to prove its NP-hardness. This can be informally seen as follows: suppose P were not NP-hard, but easier. Then we could combine the solution algorithm for P with the polynomial reduction to yield a proof that Q is not hardest for NP, which is a contradiction. The first researcher to spot this reasoning was Richard Karp [START_REF] Karp | Reducibility among combinatorial problems[END_REF] in 1972. Now hundreds of problems have been shown to be NP-hard [START_REF] Garey | Computers and Intractability: a Guide to the Theory of NP-Completeness[END_REF]. A problem is NP-complete if it is both NP-hard and belongs to NP.

We remark that coNP is the class of decision problems that have a polynomial-time verifiable certificate for all NO instances (or, in other words, a polynomial-time verifiable refutation). We remark that P is contained in NP ∩ coNP since the polynomial-time algorithm that decides whether the instance is YES or NO provides, with its own execution trace, a polynomial-time proof (when the instance is YES) as well as a polynomial-time refutation (when the instance is NO).

Complexity of Graph Rigidity

It is stated in [START_REF] Recski | Applications of combinatorics to statics -A second survey[END_REF] that the complexity of determining whether a given graph is (generically) infinitesimally rigid in R K is in NP, since, given a framework (G, x), where the realization x plays the role of certificate, it suffices to compute the rank of the rigidity matrix to establish rigidity according to Eq. ( 7)-( 8). This assertion is not false, but it should be made clear that it does not refer to the TM computational model. So far, to the best of our knowledge, there is no algorithm for computing the exact rank of a matrix, that is polynomial-time bounded in the TM computational model.

Investigations on the complexity of computing matrix rank do exist, but they are either based on different models of computation, such as real RAM or number of field operations [START_REF] Cheung | Fast matrix rank algorithms and applications[END_REF][START_REF] Bürgisser | Algebraic Complexity Theory[END_REF], or else they place the problem in altogether different complexity classes than P or NP. Specifically, computing (as well as verifying) the matrix rank over rationals appears to be related to counting classes. These classes catalog the complexity of the problems of counting the number of solutions of some given decision problems [START_REF] Allender | The complexity of matrix rank and feasible systems of linear equations[END_REF][START_REF] Hoang | On the complexity of some problems in linear algebra[END_REF][START_REF] Mahajan | On the complexity of matrix rank and rigidity[END_REF].

On the other hand, it should be clear from Sect. 5.1.4-5.1.5 that, in the case K ∈ {1, 2}, the problem of determining generic rigidity of a graph is in P.

NP-hardness of the DGP

It was shown in [START_REF] Saxe | Embeddability of weighted graphs in k-space is strongly NP-hard[END_REF] that the DGP is NP-hard. More specifically, the proof exhibits a reduction from the Partition problem (known to be NP-complete) to the EDGP with K = 1 (denoted EDGP 1 ) restricted to the class of graphs consisting of a single simple cycle.

The Partition problem is as follows. Given n positive integers a 1 , . . . , a n determine whether there exists a subset I ⊆ {1, . . . , n} such that

i∈I a i = i ∈I a i . (10)
We reduce an instance a = (

a i | 1 ≤ i ≤ n) of Partition to the simple cycle C = (V, E) where V = {1, . . . , n} and E = {{i, i + 1} | 1 ≤ i < n} ∪ {{1, n}}.
We weigh the edges of C with the integers in a, and let d be the edge weight function such that:

d 1,n = a 1 ∧ ∀1 < i ≤ n d i-1,i = a i .
Now suppose a is a YES instance of Partition: we aim to show that (C, d) is a YES instance of the EDGP 1 . Since a is YES, there is an index set I such that Eq. ( 10) holds. We construct a realization of (C, d) on the real line inductively as follows:

1.

x 1 = 0 2. for all 1 < i ≤ n, suppose x i-1 is known: then if i ∈ I let x i = x i-1 + d i-1,i , otherwise let x i = x i-1 -d i-1,i .
It is obvious by construction that this realization satisfies all of the distances d i-1,i for 1 < i ≤ n. It remains to be shown that |x 1 -x n | = d 1n . We assume without loss of generality that 1 ∈ I (the argument would be trivially symmetric in assuming 1 ∈ I). We remark that

d 1n + i∈I {1} (x i -x i-1 ) = d 1n + i∈I {1} d i-1,i = i∈I a i = i ∈I a i = i ∈I d i-1,i = i ∈I (x i-1 -x i ),
where the central equality holds by Eq. [START_REF] Babai | Automorphism groups, isomorphism, reconstruction[END_REF]. Now from the equality between LHS and RHS we have:

d 1n + i∈I {1} (x i -x i-1 ) = i ∈I (x i-1 -x i ) ⇒ 1<i≤n (x i-1 -x i ) = d 1n ⇒ (x 1 -x 2 ) + (x 2 -x 3 ) + • • • + (x n-1 -x n ) = d 1n ⇒ |x 1 -x n | = d 1n ,
as claimed.

The converse direction aims at showing that if a is a NO instance of Partition, then (C, d) is a NO instance of the EDGP 1 . We suppose, to aim at a contradiction, that (C, d) is a YES instance of the EDGP 1 instead, and hence that it possesses a realization x on the real line. The argument now traces x i (as i goes from 1 to n): we let I be the set of indices i such that x i+1 is on the right of x i , and claim that I is a solution of Partition. More specifically, we let

F = {{u, v} ∈ E | x u ≤ x v } ∧ F = {{u, v} ∈ E | x u > x v },
and let

I = {i < n | {i, i + 1} ∈ F }. We have: {u,v}∈F (x u -x v ) = {u,v}∈ F (x v -x u ) ⇒ {u,v}∈F |x u -x v | = {u,v}∈ F |x v -x u | ⇒ {u,v}∈F d uv = {u,v}∈ F d uv ⇒ i∈I a i = i ∈I a i ,
against the assumption that a is a NO instance of Partition.

The above argument shows that the subclass EDGP 1 of the DGP, restricted to simple cycle graphs, is NP-hard. Since it is contained in the whole DGP class, then the DGP itself must be NP-hard, for if it were not, then it would be possible to solve even the restricted subclass in an easier way.

Hardness for any complexity class is defined using appropriate reductions.

Is the DGP in NP?

In general, the DGP is not known to be in NP. The reason is that, in the TM model, inputs are always rational numbers, which means that Eq. ( 1) might have irrational solutions: in other words, the realizations of the given graph could involve irrational (though algebraic) numbers in the components. Although there are a few finitistic encodings of algebraic numbers, none of them is a good candidate to verify that the realization satisfies Eq. ( 1) exactly [START_REF] Beeker | Is the distance geometry problem in NP? In Mucherino et al[END_REF]. The EDMCP is not in NP for much the same reasons. Both, however, are in NP with respect to the real RAM computational model [START_REF] Blum | On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions, and universal machines[END_REF].

We remark that the EDGP 1 is in NP: any irrational realization can arbitrarily be translated to be aligned with a rational point for any vertex (say vertex 1). Since the distances are all rational (as they are part of the input), all of the other vertices will have rational points too. These rational points can be verified to satisfy the square of Eq. ( 1) exactly in polynomial time. Since the EDGP 1 is both NP-hard and in NP, it is NP-complete.

It is shown in [START_REF] Liberti | Distance geometry in linearizable norms[END_REF] that the DGP in 1 and ∞ norms belongs to NP independently of its dimension.

EDMs and PSD matrices

As mentioned in Sect. 3 above, EDMs and Positive Semidefinite (PSD) matrices are strongly related. Let D be a sqEDM, and assume without loss of generality that D is yielded by an n × K realization matrix that is centered, i.e. v≤n x v = 0 K (the all-zero K-vector). Then from the identity:

∀u, v ≤ n x u -x v 2 2 = x u 2 2 + x v 2 2 -2x u • x v , (11)
we obtain the matrix equation:

D = r 1 + 1 r -2B, ( 12
)
where B = x x is the Gram matrix of x, r is the column n-vector consisting of the diagonal element of x x , and 1 is the all-one n-vector.

We now consider the centering matrix J = I -1 n 1 1 , where I is the n × n identity matrix: when applied to an n × K matrix y, Jy is translation congruent to y such that i≤n (Jy) i = 0 K . We remark that J is symmetric, so J = J. From Eq. ( 12) we obtain:

- 1 2 J D J = - 1 2 (J r 1 J + J 1 r J) + J B J = - 1 2 (J r 0 n + 0 n r J) + B = B, whence B = - 1 2 J D J. ( 13
)
Note that J 1 = 0 n since centering the all-one vector trivially yields the all-zero vector, and that J B J = J x x J = x x = B since x was assumed centered at zero.

It is easy to see that a matrix is Gram if and only if it is PSD. If B is a Gram matrix, then there is an n × K realization matrix x such that B = x x . Let x be the n × n matrix obtained by padding x on the right with zero columns, then B = x x is a valid (real) factorization of B, which means that all eigenvalues of B are non-negative. Conversely, suppose B is PSD; the eigendecomposition of B is P Λ P , where Λ is a diagonal matrix with the eigenvalues along the diagonal. Since B is PSD, Λ ≥ 0, which means that √ Λ is a real diagonal matrix. Then by setting x = P √ Λ we have B = x x which proves that B is a Gram matrix.

These two results prove that D is a sqEDM if and only if B is a PSD matrix. By this equivalence, it follows that the EDMCP is in P if and only if the PSD Completion Problem (PSDCP) is in P. Given the wealth of applications that can be modelled using SDP, establishing whether the PSDCP is in P makes the same question for the EDMCP even more important.

In [START_REF] Laurent | Polynomial instances of the positive semidefinite and Euclidean distance matrix completion problems[END_REF], it is observed that the PSDCP belongs to NP if and only if it belongs to coNP, so the PSDCP cannot be either NP-complete or coNP-complete unless NP = coNP.

Relevance

Why is it important to determine the complexity of the EDMCP (or, equivalently, of the PSDCP)?

Similarly to what was said in Sect. 5.1.8, from a practical point of view, we can solve EDMCPs and PSDCPs in polynomial time to any desired accuracy using SDP solver technology. On the other hand, this is only a partial answer.

Theoretically speaking, the issue as to whether P = NP, P = NP or even whether the whole question might actually be independent of the ZFC axioms [START_REF] Aaronson | Is P versus NP formally independent[END_REF] dominates the field of theoretical computer science and much of discrete mathematics. Identifying a problem that is in NP P would obviously settle the question in the negative. Every such candidate is interesting until eliminated. Even though the EDMCP is not the perfect candidate on account of the uncertain status of its membership in NP, it is still one of the few known2 practically relevant problems with this status.

Another, and more practical reason is the bottleneck represented by current SDP solver technology: although the algorithm is polynomial-time, and notwithstanding the fact that existing implementations are of high quality [START_REF] Aps | The mosek manual[END_REF], solving SDPs with significantly more than thousands of variables and constraints is still a hurdle. It is hoped that research in complexity will drive a search for better SDP solution algorithms.

Number of solutions

The issue of finding, or estimating the number of solutions of a DGP instance prior to solving it was brought forward as a "major challenge in DG" by the scientific committee of the DGTA16 workshop [START_REF] Liberti | Proceedings of the DIMACS Workshop on Distance Geometry Theory and Applications (DGTA16)[END_REF] when putting together a (successful) NSF proposal to support the workshop.

Although counting solutions of DGP instances is related to establishing rigidity or flexibility of graphs and frameworks (see Sect. 5.1), the former is a finer-grained alternative to the latter. Rigidity results are qualitative insofar as they focus on three categories: unique solutions, a finite number of solutions, and infinitely many solutions. For some applications, this is not enough, and the exact or approximate number of solutions is required, or at least helps in the solution process. In this sense, counting solutions deserves the status of open research area independently of the studies on rigidity.

Either finite or uncountable

The first question that might arise is: can any DGP instance have an infinite, but countable number of solutions? The answer to this question is negative, and comes from both both topology and algebraic geometry.

The "topological" proof rests on an observation made by John Milnor in 1964 [START_REF] Milnor | On the Betti numbers of real varieties[END_REF]. If V ⊆ R m is the variety defined by the system of p polynomial equations

∀i ≤ p f i (x 1 , . . . , x m ) = 0 (14)
each of which has degree bounded above by the integer k ≥ 1, then the sum of the Betti numbers of V is bounded above by k(2k -1) m-1 .

A straight application of this result to the squared version of Eq. ( 1) encoding the DGP leads to k = 2, m = Kn, V being the set of realizations satisfying the given DGP instance, and the sum of the Betti numbers being bounded above by 2(3 Kn-1 ), which is O(3 Kn ). We now recall that the Betti numbers count, among other things, the connected components of a variety. This immediately yields that that there are finitely many connected components. It is well known from basic topology that connected components can either be uncountable sets or consist of an isolated point.

A second method of proof consists in invoking the cylindrical algebraic decomposition results in real algebraic geometry [START_REF] Benedetti | Real algebraic and semi-algebraic sets[END_REF][START_REF] Basu | Algorithms in real algebraic geometry[END_REF], which stem from Tarski's quantifier elimination theory [START_REF] Tarski | A decision method for elementary algebra and geometry[END_REF], to show that V consists of a finite number of connected components with a certain (cylindrical) structure. The result follows.

While the algebraic geometry result is quantitative, meaning that it provides an explicit description of the geometrical properties of each connected component, the topological method simply proves the finiteness of the number of connected components, which is really all that is required.

Loop flexes

An interesting observation about the "shape" of flexes in flexible graphs was made by Bruce Hendrickson in 1992 [70, Thm. 5.8]: if a graph is connected, (generically) flexible in R K and has more than K + 1 vertices, then for almost all edge weight functions the realization set contains a submanifold that is diffeomorphic to a circle. The situation is sketched graphically in [70, Fig. 7], reported in Fig. 2. A manifold is a topological set which is locally homeomorphic to a Euclidean space; a homeomorphism is a continuous function between topological spaces which also has a continuous inverse function. A diffeomorphism is a smooth invertible function that maps a differentiable manifold to another, such that the inverse is also smooth. A function is smooth if it has continuous derivatives of any order everywhere. And, lastly, a manifold is differentiable if the composition with a local homeomorphism with the inverse of any other local homeomorphism is a differentiable map. All of this differential topology definitions formalize the concept that, although none of the graph vertices might really move in a circle, the flex itself contains a closed loop that is topologically equivalent to a circle.

The proof proceeds by adding to the flexible graph G as many edges as are required to leave just one degree of freedom to the flex. It is then relatively easy to show that the flex is compact and that it is a manifold. A well known result3 in differential topology shows that compact one-dimensional manifolds are diffeomorphic to circles. This result was used by Hendrickson to prove that redundant rigidity is a necessary condition to solution uniqueness: if a graph is rigid but not redundantly so, then there is an edge {i, j} such that its removal yields a flex diffeomorphic to a circle. In almost all cases, there will be two points on this circle, corresponding to two incongruent realizations, that are compatible with the given edge distance d ij (in Fig. 2, the missing edge {a, f } has the same length x a -x f 2 in both the left and the right picture).

Solution sets of protein backbones

Proteins are organic molecules at the basis of life. They interact with other proteins and with cells and living tissues by chemical reaction of the atoms in their outside shell. For these reactions to happen, the protein must physically be able to "dock" to the prescribed sites, which involve it having a certain geometrical shape. This way, proteins activate and inhibit living processes in all animals. Proteins consist of a backbone together with some side chains [START_REF] Costa | Discretization orders for protein side chains[END_REF], the building block of which are a set of around twenty small atomic conglomerates called amino acids [START_REF] Wüthrich | Pseudo-structures for the 20 common amino acids for use in studies of protein conformations by measurements of intramolecular proton-proton distance constraints with nuclear magnetic resonance[END_REF]. The problem of finding the shape of the protein can be decomposed in finding the shape of the backbone and then placing the side chains correctly [START_REF] Santana | Side chain placement using estimation of distribution algorithms[END_REF][START_REF] Santana | Combining variable neighbourhood search and estimation of distribution algorithms in the protein side chain placement problem[END_REF].

The backbone itself has an interesting graph structure, in that it provides an atomic order with a very convenient geometric property: we can estimate rather precisely the distances between each atom having rank greater than two in the order and its two immediate predecessors. We know the distances d i-1,i for each i > 1 because they are covalent bonds; and, since we also know all of the covalent angles, we can also compute all of the missing sides from the consecutive triangles, which yields the distances d i-2,i . This yields a graph consisting of i -2 consecutive triangles adjacent by sides. Since most protein graphs need realizations in R 3 , the sides by which the triangles are attached provide some rotating hinges, which in turn means that we have uncountably many solutions. This is where Wüthrich's Nobel prize winning NMR based techniques come in: we can estimate most distances smaller than about 6 Å. Note that generally, the distances d i-3,i are smaller than this threshold. After adding these distances to our protein graph, we have a structure consisting of a sequence of consecutive tetrahedra adjacent by faces, which is clearly rigid in 3D, though not globally rigid, as shown in Fig. 3. From the point of view of the underlying graph, protein backbones are defined by containing a subgraph consisting of a sequence of consecutive 4-cliques adjacent by 3-cliques. When such a sequence consists of two 4-cliques it is also known as a 5-quasiclique, since it is a graph on 5 vertices with all edges but one.

Recall that NMR estimates distances up to 6 Å: while these contain those between atoms i and i -3, they may also contain other distances if the protein backbone folds back in space close to itself (see Fig. 4). So the edge set E of a typical protein backbone graph G = (V, E) also has these other distances. Figure 4: A 3D realization of an artificial protein backbone [START_REF] Lavor | On generating instances for the molecular distance geometry problem[END_REF].

We call these pruning distances (and the underlying edges pruning edges E P ), while the distances forming the clique sequence are called discretization distances (and the underlying edges discretization edges E D ).

The subset of the MDGP containing these instances is called the Discretizable MDGP (DMDGP) [START_REF] Lavor | The discretizable molecular distance geometry problem[END_REF]. This problem was shown to be NP-hard in [START_REF] Liberti | The discretizable molecular distance geometry problem seems easier on proteins[END_REF]. It can be solved using an algorithm called Branchand-Prune (BP) [START_REF] Liberti | A branch-and-prune algorithm for the molecular distance geometry problem[END_REF][START_REF] Mucherino | MD-jeep: an implementation of a branch-and-prune algorithm for distance geometry problems[END_REF], which works inductively as follows: suppose atom i -1 ≥ 3 has already been realized as x i-1 ∈ R 3 . Then, by trilateration [START_REF] Eren | Rigidity, computation, and randomization in network localization[END_REF], with probability 1 there will be at most two positions for x i . This can be seen e.g. in Fig. 3 using the order (1, 3, 4, 5, 2): once vertex 5 is realized, there are two positions for vertex 2, one close to vertex 1 (Fig. 3, right) and one further away (Fig. 3 center). The probability zero cases, ignored by the algorithm, are those where the distances are exactly right for vertex 2 to be realized coplanar with x 3 , x 4 , x 5 , in which case there is only one position for vertex 2. Another intuitive way of seeing this fact is that vertex i is at the intersection of the three spheres S(x i-3 , d i-3,i ), S(x i-2 , d i-2,i ), S(x i-1 , d i-1,i ). Such an intersection contains at most two points [START_REF] Coope | Reliable computation of the points of intersection of n spheres in R n[END_REF][START_REF] Lavor | Discretization orders for distance geometry problems[END_REF] (see Fig. 5). Once two positions have been found for vertex i, say x + i , x - i , the BP algorithm checks whether either, both or neither of these are compatible with any pruning distance which might be adjacent to vertex i: the incompatible positions are pruned (ignored). After this step, there may remain zero, one or two compatible positions. If there are none, this particular branch of the recursion is pruned, and the search backtracks to previous recursion levels. If there is only one position, it is accepted, and the search is called recursively. If there are two positions, the search is branched, and each branch yields a recursive call. When x n is placed (where n = |V |), a realization x has been found: this recursion path ends and x is stored in a solution set X. The search is then backtracked, until no more recursion calls are possible.

The BP algorithm yields a search tree of height n with several interesting properties.

(a) A necessary branching occurs at x 4 [START_REF] Lavor | The discretizable molecular distance geometry problem[END_REF] since no pruning edges involving predecessors of 4 can be adjacent to it.

(b) If the pruning edges contain all of the {i -4, i} pairs (for i > 4) then the only branching that occurs is the "4-th level branching" referred to in (a) above, and the BP runs in worst-case polynomial time.

(c) If the pruning edges contain {1, n} then the instance has only two realizations which are in fact reflections of each other through the symmetry induced by the 4-th level branching. Notwithstanding, BP does not necessarily run in polynomial time since extensive branching might occur, only to be pruned before or at the last (n-th) level.

(d) The worst-case running time of BP, in general, is exponential in n. In practice, however, it is very fast for considerably large instances, and very precise.

(e) The BP can be stopped (heuristically) based on the number of solutions found, to make it faster. But it is still NP-hard to find even one solution, so it could behave exponentially nonetheless.

(f) There is nothing special about three-dimensional spaces: the BP also works in arbitrary Euclidean spaces R K for any K ≥ 1.

(g) When run to completion, in general the BP finds all solutions modulo rotations and translations; if one of the two sides of the 4-th level branching is pruned, then X will contain all incongruent realizations for the given instance.

(h) The pruning edges induce a very elegant pattern of partial reflections over the backbone. Let T = X be the superposition in space of all of the realizations in X. It is shown in [START_REF] Liberti | On the number of realizations of certain Henneberg graphs arising in protein conformation[END_REF][START_REF] Liberti | The discretizable molecular distance geometry problem seems easier on proteins[END_REF] that the set T is invariant to a certain set of partial reflection operators g i , acting on realizations, that fix all of the vertex positions up to x i-1 , and then reflect x i , . . . , x n with respect to the affine subspace spanned by x i-1 , . . . , x i-K . Moreover, the partial reflection group can be computed a priori as

G P = g i | i > K∧ ∃{u, v} ∈ E P (u + K < i ≤ v) . (15)
(i) This symmetry structure makes it possible to compute a single realization x, and then generate X as the orbit G P x of x [START_REF] Mucherino | Exploiting symmetry properties of the discretizable molecular distance geometry problem[END_REF].

(j) More relevant to this open research area, this symmetry structure also allows the aprioristic computation of the exact number of partial realizations active each of the n levels of the BP search tree [START_REF] Liberti | Counting the number of solutions of k DMDGP instances[END_REF]. In particular, this allows the control of the width (i.e., the breadth) of the tree in function of the distribution of the pruning edges [START_REF] Liberti | The discretizable molecular distance geometry problem seems easier on proteins[END_REF].

(k) The estimation of the number of partial solutions at each level of the tree has yielded a crucial empirical observation: if protein backbones fold and the folds change direction only a logarithmic number of times in n, then the width of the tree is bounded above by a polynomial in n, which implies that the BP is a polynomial time algorithm on such instances.

The BP actually works on larger classes than the DMDGP: the largest class of instances that the BP can solve is called Discretizable DGP (DDGP) [START_REF] Mucherino | The discretizable distance geometry problem[END_REF] and consists of instances having a vertex order such that any vertex i is adjacent to at least three adjacent (not necessarily immediate) predecessors. In this setting, however, the results about partial reflection symmetries listed above are invalid. The BP was also extended to solve instances of the interval DDGP (iDDGP) problem, i.e. some of the distances in a DDGP instance are represented as intervals [START_REF] Lavor | The interval Branch-and-Prune algorithm for the discretizable molecular distance geometry problem with inexact distances[END_REF][START_REF] Cassioli | An algorithm to enumerate all possible protein conformations verifying a set of distance constraints[END_REF]. In this setting, the BP ceases to be an exact and exhaustive algorithm, but it can still find a number of incongruent solutions to the instance.

Clifford algebra

A particular type of geometric algebra, called Clifford algebra, is used to represent compactly and perform computations with various geometrical shapes in Euclidean spaces. It was recently used to provide a compact representation of the solution set of DDGP instances [START_REF] Lavor | Clifford algebra and the discretizable molecular distance geometry problem[END_REF]. Carlile Lavor's presentation at the DGTA16 workshop [START_REF] Liberti | Proceedings of the DIMACS Workshop on Distance Geometry Theory and Applications (DGTA16)[END_REF] focused on an interesting extension of this representation to those iDDGP 3 instance where, for each v > 3, at most one in three distances d uv where u is an adjacent predecessor of v is represented as an interval. In such cases, the intersection of three spheres shown in Fig. 5 becomes the intersection of two spheres and a spherical shell (see Fig. 6), which turns out to consist of two circular arcs with probability 1. Currently, efforts are under way to use these representations in order to do branching on circular arcs [START_REF] Alves | Adaptive branching in iBP with Clifford algebra[END_REF] rather than discretizations thereof [START_REF] Lavor | The interval Branch-and-Prune algorithm for the discretizable molecular distance geometry problem with inexact distances[END_REF].

Phase transitions between flexibility and rigidity

Consider a random process by which an initially empty graph is added edges with some probability p:

1. sample u, v randomly from V 2. if {u, v} ∈ E, add {u, v} to E with probability p

repeat.

At the outset, the graph is likely to consist of isolated edges (i.e. paths consisting of one edge), or pairs of adjacent edges (i.e. paths consisting of two edges), and is therefore flexible in R 2 . As more and more edges get added, some rigid components appear that can move flexibly with respect to one another, and finally the whole graph becomes rigid. What is the value of η =

2|E|

|V |(|V |-1) which marks the appearance of a single rigid component? Similar graph generation processes have been analysed with respect to the edge generation probability for the appearance of giant connected components in random graphs [START_REF] Erdős | On the evolution of random graphs[END_REF][START_REF] Bollobás | Random Graphs[END_REF].

In the case of rigidity, Duxbury and Thorpe independently (but in two papers published consecutively in Phys. Rev. Lett., in which one cites the other) proposed percolation analysis in 1995 [START_REF] Moukarzel | Stressed backbone and elasticity of random central-force systems[END_REF][START_REF] Jacobs | Generic rigidity percolation[END_REF] (also see [19, §4]). Essentially, they randomly add edges (with probability p) to an empty graph, and verify rigidity of clusters after each edge addition using the so-called "pebble game" (see linkage.cs.umass. edu/pg/pg.html). This is a graph labelling algorithm which identifies planar isostatisticity (by checking Laman's conditions (a)-(b) in Sect. 5.1.5) while flagging redundant rigidity, or determines flexibility. These simulations link the emergence of a giant rigid component to the parameters of the random edge addition process, such as e.g. the edge creation probability p.

In his lectures on rigidity given at the Institut Henri Poincaré in 2005 in Paris, Bob Connelly observes that on the type of triangular plane tessellation graphs used by Duxbury and Thorpe, the percolation simulations agree with the theoretical observation that the whole graph needs p ≥ 2 3 in order to be rigid, which is required to achieve |E| ≥ 2|V | -3 on average. An interesting open question about phase transitions is motivated by the following observation: while the DMDGP is NP-hard, the DGP K (where K = 3) on protein backbone graphs where the edge {i -K -1, i} has been added to the graph for all i > K + 1 can be solved efficiently using K-lateration (moreover, further increasing the number of edges helps, as the DGP can be solved efficiently on complete graphs too [START_REF] Dong | A linear-time algorithm for solving the molecular distance geometry problem with exact inter-atomic distances[END_REF]). What is the critical value of the parameter η (defined above) that determines the phase transition from NP-hardness to tractability?

Relevance

This open area is mostly motivated by applications. There are applications, such as clock synchronization, wireless networks, autonomous underwater vehicles and others, where one is interested in DGP instances with exactly one solution (modulo congruences). There are other applications, such as those to molecular conformation (be it proteins or nanostructures) where one is interested in all (finitely many) chiral isomers of the molecule in question. And there are areas such as robotics, where one is interested in the whole solution manifolds, including flexes. This is not all. Although we consider molecular graphs to be rigid, which helps with computation, it is well known that atoms vibrate in molecules according to many factors, including the temperature. This means that the molecules undergo internal movement. Although these are not all necessarily of the flex type (meaning that some of them may not preserve all pairwise distances), the strongest chemical bonds may well be (almost preserved). So there is an analysis of flexibility involved [START_REF] Sljoka | Algorithms in rigidity theory with applications to protein flexibility and mechanical linkages[END_REF]. Moreover, there are very few applications where the distances are known precisely. Mostly, distance errors are modelled as intervals, as in the iDGP (see Sect. 4.3). This necessarily introduces some flexibility in the frameworks.

In most of the situations where a DGP instance of interest has more than one solution, it helps to have an a priori estimation of the number of solutions. In the presence of flexes, it also helps to have an idea of the type of flex involved.

The unassigned DGP

The uDGP was briefly introduced in Sect. 4.6, but we formally state it here for clarity.

unassigned DGP (uDGP). Given a positive integer K > 0, a graph G = (V, E) and a sequence D of m = |E| positive real values (d i | i ≤ m), determine whether there exists an assignment function α : {1, . . . , m} → E and a realization x : V → R K such that:

∀{u, v} ∈ E ∃i ≤ m x u -x v = d α(i) .
In general, this is a problem schema valid for any norm; usually, the uDGP is of interest in the Euclidean norm.

The uDGP was previously studied only in the context K = 1 (see e.g. [START_REF] Lemke | Reconstructing sets from interpoint distances[END_REF][START_REF] Dakić | On the turnpike problem[END_REF]). It was formally introduced in the context of nanostructure determination (see Sect. 5.4.1) in [START_REF] Duxbury | The unassigned distance geometry problem[END_REF], as the optimization problem: min

α,x {u,v}∈E f ( x u -x v 2 -d α -1 (u,v) ), (16)
for any strictly convex univariate function f achieving its global minimum at 0.

Determining nanostructures from spectra

In his talk at the DGTA16 workshop [START_REF] Liberti | Proceedings of the DIMACS Workshop on Distance Geometry Theory and Applications (DGTA16)[END_REF], Simon Billinge jokingly explained that, while the crystal structure determination is largely a solved problem, on account of one giving it to one's grad student so she can push the "start" button on the X-ray machine, the nanostructure determination problem is far from being in the same class.

In crystals, the translational symmetry implies that X-ray experiments yield a periodic response signal, which can be decomposed using Fourier analysis. For nanostructures, one can get a response signal only from a large set of similar nanoparticles with unknown orientation. The output of such experiments is a Pair Distribution Function (PDF) g : R + → [0, 1], which is a function mapping a distance value d to the frequency with which d occurs in the nanostructure (see Fig. 7).

The specificity of the uDGP input coming from the application to nanostructure determination is that it allows the estimation of all of the inter-atomic distances [START_REF] Duxbury | The unassigned distance geometry problem[END_REF][START_REF] Billinge | Assigned and unassigned distance geometry: Applications to biological molecules and nanostructures. 4OR[END_REF] (so G is complete), and the output realization is required to be in R 3 . We recall that, although realizing complete graphs is a tractable problem (either using trilateration [START_REF] Dong | A linear-time algorithm for solving the molecular distance geometry problem with exact inter-atomic distances[END_REF] or matrix factoring via the connection between EDM and PSD matrices, see Sect. 5.2.5), the uDGP has the added difficulty of finding the assignment α at the same time as the realization, so it is not clear at all whether the uDGP on complete graphs might be tractable in full generality.

An algorithm for solving the uDGP on complete graphs, called tribond, was proposed in [START_REF] Duxbury | The unassigned distance geometry problem[END_REF] in full generality for any K, and shown in Alg. 1. It is claimed in [START_REF] Duxbury | The unassigned distance geometry problem[END_REF] that if the initial guess for D is good, and the subsequent choices of vertex subsets S (see Alg. 1) can always be extended to a full solution x, then this algorithm runs in polynomial time, since it does not incur the computational cost of looping over all subsets of cardinality K + 2 and K + 1. However, it is easy to notice that, if K is fixed, the tribond algorithm always takes polynomial running time. This is because K+2 n and K+1 n-| D| are polynomially bounded when K is fixed, as is the case for nanostructures (K = 3).

The tribond algorithm, however, requires precise distance data, while the distance data coming from experiments is noisy. The LIGA algorithm [START_REF] Billinge | Assigned and unassigned distance geometry: Applications to biological molecules and nanostructures. 4OR[END_REF] is a population-based heuristic designed to find realizations consistent with noisy distances or incomplete distance lists: it evaluates the fitness of each individual (partial) realization x by the mean square distance error, i.e.

( x u -x v 2 -d α -1 (u,v) ) 2 .
Given its practical importance, we believe this problem requires more work. Specifically, given that we possess theoretically and practically efficient methods for solving assignment problems [START_REF] Burkard | Assignment problems[END_REF] and some practically efficient methods for solving the iDGP [START_REF] Lavor | The interval Branch-and-Prune algorithm for the discretizable molecular distance geometry problem with inexact distances[END_REF], the approach consisting in decomposing these two subproblems has not been sufficiently explored.

Protein shape from NOESY data

The NMR experiments that allow the estimation of inter-atomic distances in proteins are of the Nuclear Overhauser Effect (NOE) type: they are collectively called "NOE spectrometry", or NOESY for short. The actual NOESY output looks like a two dimensional surface with some peaks at some positions on the plane, which has axes labelled by chemical shift, a relative frequency measured in part-per-million (ppm). The peak intensity is related with the distance value arising in atoms within atomic groups that resonate at the given ppm values.

We formalize this problem as follows [109]. Let V be a set of atoms, and I = {I p ⊂ V | p < r} be a given system of r subsets of V (representing the atomic groups resonating at a given chemical shift), so that p<r I p ⊆ V.

In general, I may not be a cover, i.e. the above containment relation might be strict. Let F = {{u, v} | ∃p, q ≤ r (u ∈ I p ∧ v ∈ I q )} be all of the possible edges between atoms in the atomic groups. Let B be the set of pairs {u, v} of atoms where the distances d uv are known (fairly) precisely -because, e.g., they arise from covalent bonds and covalent angles.

The set system I is a proxy to the chemical shift value that index the axes of the NOE spectrum density distribution. The densitiy peak at coordinates (I p , I q ) is contained in the interval [ρ L pq , ρ U pq ], which is what the NOESY experiments measure (for all p < q ≤ r). Consider the system:

∀p < q ≤ r ρ L pq ≤ u∈Ip v∈Iq β uv d 6 uv ≤ ρ U pq (17) ∀{u, v} ∈ F ∪ B x u -x v 2 = d uv , (18)
where β uv are given constants. We remark that, in Eq. ( 17)-( 18), the symbols d uv are decision variables rather than given constants.

The constants β uv are usually computed as averages over time of functions of angles between x u and x v , but since β uv all converge to zero exponentially fast, it suffices to consider a discretization of [0, β U uv ] to derive a sampling for β. Thus β can be assumed to be a constant (given) parameter tensor.

Finding solutions (x, d) to Eq. ( 17)- [START_REF] Berger | Reconstructing a three-dimensional model with arbitrary errors[END_REF] for each slice of the tensor β is the problem behind the NOESY assignment. This assumes that the "sequential assignment problem" has already been solved -in other words, it assumes that we know what atoms (type and multiplicity) constitute the molecule. As far as we know, this is the first time that the problem has been formalized in this way. This formalization was reached in collaboration with two bioinformaticians of the structural biology group at Institut Pasteur, Dr. T. Malliavin and Dr. B. Worley. This problem is an interesting hybrid between DGP and uDGP: each distance value arises in correspondence to two chemical shift values, which in turn indicate a group of atoms. Moreover, distance data is measured by intervals, rather than precisely. More precisely, the intervals have an inverse sixth-power relationship with the distance values themselves, as shown in Eq. [START_REF] Benedetti | Real algebraic and semi-algebraic sets[END_REF].

The problem of protein structure determination from 2D NOESY spectra has traditionally been solved using metaheuristics, specifically simulated annealing and variants thereof [START_REF] Dekkers | Global optimization and simulated annealing[END_REF][START_REF] Locatelli | Simulated annealing algorithms for global optimization[END_REF][START_REF] Nilges | Determination of three-dimensional structures of proteins from interproton distance data by hybrid distance geometry-dynamical simulated annealing calculations[END_REF]. More modern approaches employ convex optimization and graph decomposition into rigid components [START_REF] Cucuringu | Asap -an eigenvector synchronization algorithm for the graph realization problem[END_REF][START_REF] Cucuringu | Eigenvector synchronization, graph ridigity and the molecule problem[END_REF]. Differently than for nanostructures (Sect. 5.4.1), however, all currently existing methods appear to consider the problem as already decomposed into well distinguished "assignment" and "realization" phases [START_REF] Khoo | Protein structural calculation from NMR spectroscopy[END_REF][START_REF] Donald | Algorithms in Structural Molecular Biology[END_REF]. We believe that a fresh look at the integrated problem (e.g. in the formulation Eq. ( 17)-( 18) might suggest new methods, or at least new ways of decomposing the problem.

Relevance

The uDGP is relevant because of the importance of its applications. The determination of nanostructures is crucial for material sciences, specifically for new, synthetic materials with exceptional properties in strength, stiffness or even auxeticity [START_REF] Borcea | Geometric auxetics[END_REF]. Interesting, hybrid problems between DGP and uDGP arise in another fundamentally important problem, that of estimating the geometrical shape of proteins from information obtained in 2D NOESY experiments [START_REF] Havel | An evaluation of the combined use of nuclear magnetic resonance and distance geometry for the determination of protein conformations in solution[END_REF].

Conclusion

We have surveyed the field of distance geometry from the point of view of some open research areas which we think are very important: the search for a purely combinatorial characterization of three-dimensional rigidity, the determination of the complexity status of the Euclidean distance matrix completion problem, an investigation on techniques for estimating the number and type of solutions of various distance geometry problems, and progress on solution techniques for unassigned distance geometry problems.

Figure 1 :

 1 Figure 1: Counterexamples for Laman's conditions in 3D. On the left, a rigid graph with fewer than 3|V | -6 edges. On the right, a flexible graph satisfying the 3D adaptation of Laman's condition (b): the dotted line shows a hinge around which the two "bananas" can rotate.

  algorithm in time O(|V | 2 ): for each pair of distinct vertices in V , check that they are adjacent to an edge. Since there are |V |(|V | -1) pairs, the time is proportional to |V | 2 -|V |, which belongs to O(|V | 2 ). We do not know whether this is the best algorithm, but any better algorithm will have running time asymptotically upper bounded by the function |V | 2 , and so it will belong to the class O(|V | 2 ).

Figure 2 :

 2 Figure 2: Each flex is diffeomorphic to a circle.

Figure 3 :

 3 Figure 3: Two realizations of a quasiclique in R 3 (the missing edge is dotted on the left, bold on the center and on the right).

Figure 5 :

 5 Figure 5: The intersection of three spheres in R 3 contains at most two points.

Figure 6 :

 6 Figure 6: Intersection of two spheres with a spherical shell: at most two circular arcs.

Figure 7 :

 7 Figure 7: Toy example of a PDF. PDFs arising from experimental data are noisy and look like continuous wiggly curves with peaks corresponding to observed distances. Algorithm 1 The tribond algorithm. Input: an integer K > 0, a graph G = (V, E), a sequence of m = |E| values D = (d 1 , . . . , d m ).for each subsequence D of K + 2 distances in D do if D can be realized by a partial realization x then for K + 2 < i ≤ n do for each subsequenceS of K + 1 distances in D D do if ∃ x i ∈ R K such that (x, x i ) is a realization for ( D, S) then break else x ← (x, x i ), D ← ( D, S) if i = nthen return x end if end if end for end for end if end for return infeasible

Direct problems may not be all that easy: see Erdős' unit distances and distinct distances problems[START_REF] Garibaldi | The Erdős Distance Problem[END_REF].

Another, and possibly better, candidate is the Graph Isomorphism problem[START_REF] Babai | Automorphism groups, isomorphism, reconstruction[END_REF][START_REF] Babai | Graph isomorphism in quasipolynomial time[END_REF].

See e.g. en.wikipedia.org/wiki/Classification_of_manifolds.

Acknowledgments

We are grateful for Ana Flavia Lima for helping to check the manuscript prior to submission. LL was partly supported by the ANR "Bip:Bip" project n. ANR-10-BINF-03-08. CL was partly supported by the Brazilian research agencies FAPESP, CNPq, CAPES.