Once upper and lower bounds are known for all interatomic distances in the system, a matrix of actual distances chosen between those bounds must be created in order to calculate coordinates. This is done for each pair of atoms in the system with a uniform distribution of random values. Since the initial upper and lower bounds matrices are consistent with all possible conformations of the molecule, interatomic distances chosen independently of each other are, in general, inconsistent with any particular conformation.
The process of calculating coordinates from the resulting actual distance matrix is called embedding. Briefly, the distance matrix is converted to a metric matrix of distances centered around their collective centroid, as described by Crippen and Havel (1988). If the three largest eigenvalues of this metric matrix are all positive, their corresponding eigenvectors contain the x, y, and z coordinates of all the atoms. If the three largest eigenvalues are not positive, the chosen distances are too inconsistent to be embedded. The MMDG statement declares a symbol $EMBEDDED of type string that is set to ``TRUE" if the embedding was successful and otherwise to ``FALSE".