In mathematics, a Euclidean distance matrix is an n×n matrix representing the spacing of a set of n points in Euclidean space. For points in kdimensional space ℝ^{k}, the elements of their Euclidean distance matrix A are given by squares of distances between them. That is
where denotes the Euclidean norm on ℝ^{k}.
In the context of (not necessarily Euclidean) distance matrices, the entries are usually defined directly as distances, not their squares. However, in the Euclidean case, squares of distances are used to avoid computing square roots and to simplify relevant theorems and algorithms.
Euclidean distance matrices are closely related to Gram matrices (matrices of dot products, describing norms of vectors and angles between them). The latter are easily analyzed using methods of linear algebra. This allows to characterize Euclidean distance matrices and recover the points that realize it. A realization, if it exists, is unique up to rigid transformations, i.e. distancepreserving transformations of Euclidean space (rotations, reflections, translations).
In practical applications, distances are noisy measurements or come from arbitrary dissimilarity estimates (not necessarily metric). The goal may be to visualize such data by points in Euclidean space whose distance matrix approximates a given dissimilarity matrix as well as possible — this is known as multidimensional scaling. Alternatively, given two sets of data already represented by points in Euclidean space, one may ask how similar they are in shape, that is, how closely can they be related by a distancepreserving transformation — this is Procrustes analysis. Some of the distances may also be missing or come unlabelled (as an unordered set or multiset instead of a matrix), leading to more complex algorithmic tasks, such as the graph realization problem or the turnpike problem (for points on a line).^{[1]}^{[2]}
By the fact that Euclidean distance is a metric, the matrix A has the following properties.
In dimension k, a Euclidean distance matrix has rank less than or equal to k+2. If the points are in general position, the rank is exactly min(n, k + 2).
Distances can be shrunk by any power to obtain another Euclidean distance matrix. That is, if is a Euclidean distance matrix, then is a Euclidean distance matrix for every 0<s<1.^{[3]}
The Gram matrix of a sequence of points in kdimensional space ℝ^{k} is the n×n matrix of their dot products (here a point is thought of as a vector from 0 to that point):
In particular
Thus the Gram matrix describes norms and angles of vectors (from 0 to) .
Let be the k×n matrix containing as columns. Then
Matrices that can be decomposed as , that is, Gram matrices of some sequence of vectors (columns of ), are well understood — these are precisely positive semidefinite matrices.
To relate the Euclidean distance matrix to the Gram matrix, observe that
That is, the norms and angles determine the distances. Note that the Gram matrix contains additional information: distances from 0.
Conversely, distances between pairs of n+1 points determine dot products between n vectors (1≤i≤n):
(this is known as the polarization identity).
For a n×n matrix A, a sequence of points in kdimensional Euclidean space ℝ^{k} is called a realization of A in ℝ^{k} if A is their Euclidean distance matrix. One can assume without loss of generality that (because translating by preserves distances).
Theorem^{[4]} (Schoenberg criterion,^{[5]} independently shown by Young & Householder^{[6]}) — A symmetric hollow n×n matrix A with real entries admits a realization in ℝ^{k} if and only if the (n1)×(n1) matrix defined by
is positive semidefinite and has rank at most k.
This follows from the previous discussion because G is positive semidefinite of rank at most k if and only if it can be decomposed as where X is a k×n matrix.^{[7]} Moreover, the columns of X give a realization in ℝ^{k}. Therefore, any method to decompose G allows to find a realization. The two main approaches are variants of Cholesky decomposition or using spectral decompositions to find the principal square root of G, see Definite matrix#Decomposition.
The statement of theorem distinguishes the first point . A more symmetric variant of the same theorem is the following:
Corollary^{[8]} — A symmetric hollow n×n matrix A with real entries admits a realization if and only if A is negative semidefinite on the hyperplane , that is
Other characterizations involve Cayley–Menger determinants. In particular, these allow to show that a symmetric hollow n×n matrix is realizable in ℝ^{k} if and only if every (k+3)×(k+3) principal submatrix is. In other words, a semimetric on finitely many points is embedabble isometrically in ℝ^{k} if and only if every k+3 points are.^{[9]}
In practice, the definiteness or rank conditions may fail due to numerical errors, noise in measurements, or due to the data not coming from actual Euclidean distances. Points that realize optimally similar distances can then be found by semidefinite approximation (and low rank approximation, if desired) using linear algebraic tools such as singular value decomposition or semidefinite programming. This is known as multidimensional scaling. Variants of these methods can also deal with incomplete distance data.
Unlabeled data, that is, a set or multiset of distances not assigned to particular pairs, is much more difficult to deal with. Such data arises, for example, in DNA sequencing (specifically, genome recovery from partial digest) or phase retrieval. Two sets of points are called homometric if they have the same multiset of distances (but are not necessarily related by a rigid transformation). Deciding whether a given multiset of n(n1)/2 distances can be realized in a given dimension k is strongly NPhard. In one dimension this is known as the turnpike problem; it is an open question whether it can be solved in polynomial time. When the multiset of distances is given with error bars, even the one dimensional case is NPhard. Nevertheless, practical algorithms exist for many cases, e.g. random points.^{[10]}^{[11]}^{[12]}
Given a Euclidean distance matrix, the sequence of points that realize it is unique up to rigid transformations – these are isometries of Euclidean space: rotations, reflections, translations, and their compositions.^{[1]}
Theorem — Let and be two sequences of points in kdimensional Euclidean space ℝ^{k}. The distances and are equal (for all 1≤i,j≤n) if and only if there is a rigid transformation of ℝ^{k} mapping to (for all 1≤i≤n).
Proof


Rigid transformations preserve distances so one direction is clear. Suppose the distances and are equal. Without loss of generality we can assume by translating the points by and , respectively. Then the (n1)×(n1) Gram matrix of remaining vectors is identical to the Gram matrix of vectors (2≤i≤n). That is, , where X and Y are the k×(n1) matrices containing the respective vectors as columns. This implies there exists an orthogonal k×k matrix Q such that QX=Y, see Definite symmetric matrix#Uniqueness up to unitary transformations. Q describes an orthogonal transformation of ℝ^{k} (a composition of rotations and reflections, without translations) which maps to (and 0 to 0). The final rigid transformation is described by . 
In applications, when distances don't match exactly, Procrustes analysis aims to relate two point sets as close as possible via rigid transformations, usually using singular value decomposition.
The ordinary Euclidean case is known as the orthogonal Procrustes problem or Wahba's problem (when observations are weighted to account for varying uncertainties).
Examples of applications include determining orientations of satellites, comparing molecule structure (in cheminformatics), protein structure (structural alignment in bioinformatics), or bone structure (statistical shape analysis in biology).