1 Introduction

The central problem in distance geometry [10] is the determination of a spatial configuration of points based on their given mutual distances. As a mathematical puzzle, it was originated by Menger [11]. The field has practical applications for detecting molecular structure of proteins, since nuclear magnetic resonance techniques exist to determine distances between neighboring atoms [1].

As a start to an algorithmic solution to this puzzle, simplifications have been made. It is for instance assumed that bond lengths and angles along the protein carbon backbone are known exactly (unit lengths, and 120 degree angles). Furthermore, in the Discretizable Molecular Distance Geometry Problem (DMDGP) [8], it is assumed that a few more distances between neighboring atoms along the chain are known as intervals [7]. For a set of vertices of the molecular graph, one can then provide a distance matrix such as this one from [2] and [6]:

$$\begin{aligned} \left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} 0 &{} 1 &{} \sqrt{3} &{} 2.15 &{} [2.45,2.55] &{} * \\ 1 &{} 0 &{} 1 &{} \sqrt{3} &{} [2.2,2.6] &{} * \\ \sqrt{3} &{} 1 &{} 0 &{} 1 &{} \sqrt{3} &{} [2.4,2.6] \\ 2.15 &{} \sqrt{3} &{} 1 &{} 0 &{} 1 &{} \sqrt{3} \\ {[}2.45,2.55{]} &{} [2.2,2.6] &{} \sqrt{3} &{} 1 &{} 0 &{} 1 \\ * &{} * &{} [2.4,2.6] &{} \sqrt{3} &{} 1 &{} 0 \end{array} \right] , \end{aligned}$$

where entry (ij) is the distance d(ij) (or a distance interval), between atom \(v_i\) and atom \(v_j\) and \(*\) denotes an unknown distance. The known exact distances restrain relative positions between atoms to spheres. Two such given distances then determine a circle, and three distances a possible point pair of admissible positions. The interval distances determine spherical shells of possible positions, which combine with the circles to restrain possible positions to arcs (for an example see Fig. 1). As one propagates from an initial triangle \((v_1,v_2,v_3)\) along the molecular chain, the uncertainties combine to arcs of arcs of possible positions, etc.

Fig. 1
figure 1

Exact distances of the unknown point \(X_4\) to \(X_2\) and \(X_3\) constrain the possible positions to an exact circle. In an example from [6], an interval distance of \(X_4\) to \(X_1\) constrains the possibilities for \(X_4\) to two arcs

Because of the prevalence of spheres and their intersections in this problem, [1, 2] and [6] have addressed the problem by conformal geometric algebra (CGA). This is the geometric algebra of a vector space whose vectors can be interpreted as spheres, whose 2D subspaces can be interpreted as circles, and whose 3D subspaces are point pairs (the intersection of three spheres). Its elements can be given an orientation, which is convenient to denote the orientation of circles and arcs. CGA has a compact way to represent rotations and translations of arbitrary elements through spinors.

Starting from the first few vertices with interval distances, the DMDGP problem is one of combining circular arcs in space. However, conformal geometric algebra has no natural element to represent such arcs, and so the authors of [2, 6] used the motion representation provided by the spinors to generate discretely sampled points (in [2]) or continuously parametrized orbits (in [6]) as their arc representation.

In the present paper, we show that there is a way to represent arcs in CGA by means of orthogonal spheres to the circle they reside on. This leads to a compact specification of their relative positions, and to a compact computation of the Boolean combinations of those arcs (such as the required intersections). That solves the first few steps along the molecular backbone in DMDGP. We end the paper with a suggestion of how a similar characterization based on a decomposition into orthogonal spheres (from [4]) may be employed for the ‘arcs of arcs’, ‘arcs of arcs of arcs’ et cetera that one encounters further down the backbone, albeit in a probabilistic manner.

The paper starts with a very brief summary of conformal geometric algebra in Sect. 2. Then we introduce the orthospheres, both real and imaginary, that characterize a spatial arc in Sect. 3. The different relative positions of these arcs can be determined in terms of their real orthospheres and this informs the results of their Boolean operations. In Sect. 4, we specify these operations for both minor and major arcs, using the orientability properties of the conformal elements. In Sect. 5, we treat the first steps in the processing of the distance matrix above. We then indicate how this deterministic representation of arcs is a special case of the probabilistic representation of more general manifolds like ‘arcs of arcs’ that will be encountered further down the protein backbone, and how those might then be processed conformally.

2 An Algebra of Spheres

Our solution to the arc intersection is cast in terms of conformal geometric algebra. That algebra is very well suited to deal with n-D spheres, their orthogonality and intersection.Footnote 1 A sphere in 3D Euclidean space, with center at Euclidean position vector \(\mathbf{c}\) and radius \(\rho \), is represented homogeneously by a vector

$$\begin{aligned} \sigma = o+ \mathbf{c}+ {\frac{1}{2}}(\mathbf{c}^2 -\rho ^2) \,\infty \equiv \text{ CGA }({\mathbf{c}}) - {\frac{1}{2}}\rho ^2 \,\infty , \end{aligned}$$
(1)

in a space with two additional dimensions (orthogonal to the three Euclidean dimensions), which are here denoted by the additional basis vectors \(o\) and \(\infty \). This augmented space is given a metric for which \(\mathbf{x}\cdot o= \mathbf{x}\cdot \infty = o\cdot o= \infty \cdot \infty =0\), while \(o\cdot \infty = -1\); the Euclidean part (denoted by bold font) retains its usual dot product. With that metric, the dot product between two sphere representatives is:

$$\begin{aligned} \sigma _1 \cdot \sigma _2 = -{\frac{1}{2}}\,\left( \Vert \mathbf{c}_1-\mathbf{c}_2\Vert ^2 - \rho _1^2 -\rho _2^2 \right) . \end{aligned}$$

Spheres that intersect orthogonally thus have a zero dot product. As a special case, a point is a zero radius sphere and it has zero dot product with any sphere it lies on; we denote the normalized vector representative of a point at Euclidean location \(\mathbf{c}\) by \(\text{ CGA }({\mathbf{c}})\), as in Eq. (1). The dot product \(c_1 \cdot c_2\) between two normalized points \(c_1\) and \(c_2\) gives (minus one half times) their squared Euclidean distance \(d^2(c_1,c_2)\). ‘Normalized’ means that the homogeneous representation weight of the sphere (or point) is chosen so that the coefficient of \(o\) equals 1; this implies that \(-\infty \cdot \sigma =1\). The additional basis vectors \(o\) and \(\infty \) can be interpreted as the point at the (arbitrary) origin, and the point at infinity, respectively.

Planes are also included in this model, as elements of the form \(\pi = \mathbf{n}+ \delta \,\infty \); it is easy to verify that a point represented by vector \(x = \text{ CGA }({\mathbf{x}}) = o+ \mathbf{x}+ {\frac{1}{2}}\mathbf{x}^2\infty \) is on a plane iff \(x \cdot \pi = 0\), since this is equivalent to \(\mathbf{x}\cdot \mathbf{n}= \delta \). Since \(\infty \cdot \pi = 0\), a plane is actually just a sphere containing the point at infinity.

The Grassmann algebra of the \((3+2)\)-dimensional space gives the intersection (‘meet’) of spheres: \(\sigma _1 \wedge \sigma _2\) represents the common intersection circle of \(\sigma _1\) and \(\sigma _2\), in the sense that \(x \cdot (\sigma _1 \wedge \sigma _2) =0\) for a point x evaluates to “\(x \cdot \sigma _1=0\) and \(x \cdot \sigma _2=0\)” (so the point lies on both spheres), and vice versa.

The representation of spheres can be dualized, through division by the volume element of the \((3+2)\)-dimensional space, which converts a vector into an 4-dimensional hyperplane. This dualization is denoted by a \({~}^*\), as in \(X \mapsto {X}^*\); its inverse dualization is denoted by \(X \mapsto {X}^{-*}\). In 3D, \({X}^{-*} = -{X}^*\). This duality swaps a sphere from its vector representation by center and radius to the four-vector description as the element that orthogonally hits 4 points (this was dubbed the ‘plunge’ operation in [5], Chapter 15). Dualization of the 2D element \(\sigma _1 \wedge \sigma _2\) representing the meet of two spheres is to the 3D element \({(\sigma _1 \wedge \sigma _2)}^*\), representing the common circle directly, in a form that can alternatively be written as the plunge of three points p, q and r on the circle: \(p \wedge q \wedge r\). Dualization raises the required techniques in the representational space from those of Grassmann algebra (spanning vectors) to those of Clifford algebra (allowing dot products and division by vectors and subspaces). Using the Clifford geometric product, the square of a normalized sphere is the square of its radius, and the square of a plane is the squared norm of its normal vector. The dualization moreover permits conversion between dot and outer products:

$$\begin{aligned} X \cdot {Y}^* = {(X \wedge Y)}^* \text{ and } X \wedge {Y}^* = {(X \cdot Y)}^*, \end{aligned}$$

which allows flexible switching between ‘meet’ and ‘plunge’ of elements and their duals.

The intersection operation is closed: it always gives a result in the algebra, which moreover can be interpreted geometrically. That is how we can use the intersection of spheres (and planes) to produce circles, lines, point pairs, and more. When spheres do not intersect in a real circle, they always still intersect in an imaginary circle (or, exceptionally, a 2D tangent element at a point). In the conformal model, this is simply an element of which the square (employing the geometric product) is negative (or zero in the exceptional case). Complex numbers are not required for this, since only squared radii occur in the CGA representation. In fact, analyzing the dot product of the \((3+2)\)-D representational space, we find that it is \(\mathbb {R}^{4,1}\), a space with a Minkowski metric in which an orthogonal basis can be given with 4 vectors with a positive square, and 1 with a negative square. Geometric points are represented by null vectors of this space.

This brief summary of the essence of the conformal model is the bare minimum required to interpret the equations in this paper. If you have not seen this before, the compact but expressive results of the paper may inspire further reading. An accessible introduction at the geometrical level is the tutorial book [5], which comes with interactive software to familiarize yourself with this powerful language for interacting spheres. All equations in this paper can be easily typed in, and are automatically visualized, producing graphics like Fig. 2.

3 Characterization of Circular Arcs in Space

An arc is a segment of a circle; that circle can be given a natural orientation relative to the orientation of the plane it resides in. The arc can be characterized by the carrier circle and the oriented point pair of its end points. The orientation of the point pair then determines whether it represents the minor or the major arc.

In the context of the distance geometry puzzle, we need to be able to combine arcs on the same circle: determining whether or not they overlap, and if they do, find a smaller arc representing their intersection. That is rather involved to execute in the direct point pair representation; this led the authors of [9] to represent the arc by sampled points, and later in [2, 6] to introduce rotors whose motion is the arc. In the present paper, we show that arc combination becomes easily tractable when we factorize the point pair in terms of spheres; and subsequent computations are easier when those spheres are orthogonal to the circle, and to each other. So ‘orthogonal factorization’ will be our approach to associate unique spheres with arcs.

3.1 Support and Surround of a Circle

First, the circle K on which an arc is defined is typically determined through the intersection (meet) of two dual spheres \(\sigma _i\) and \(\sigma _j\), as \(K = {(\sigma _j \wedge \sigma _i)}^{-*}\) (in the protein example, the spheres are determined by the two previous exact distances from the current atom \(v_i\) to the previous atoms \(v_{i-1}\) and \(v_{i-2}\); this represents the known angles and distances along the protein backbone).

The value of K is given in this form by the data. When we need to do any computations with K, it is better to characterize this given K not as the meet of the two original specific non-orthogonal spheres, but as an orthogonal factorization of a plane and a sphere. This was treated in [5], Chapter 15, and plane and sphere were called ‘support’ and ‘surround’ of the circle, respectively. It is slightly easier to compute with duals, so we define \(\kappa = {K}^* = \sigma _j \wedge \sigma _i\). The (dual) circle \(\kappa \) can be then factorized through:

$$\begin{aligned}&\text{(dual) } \text{ support } \quad \pi \equiv \infty \cdot \kappa , \\&\text{(dual) } \text{ surround } \quad \sigma _{\!\perp }\equiv \kappa /\pi . \end{aligned}$$

Consequently \(\kappa = \sigma _{\!\perp }\,\pi \) and \(\pi \cdot \sigma _{\!\perp }= 0\) (and of course \(\infty \cdot \pi =0\)), so this indeed achieves the orthogonal factorization of the dual circle \(\kappa \) by the (dual) plane \(\pi \) and the (dual) orthogonal sphere \(\sigma _{\!\perp }\).

3.2 The Real Orthosphere of an Arc

When an additional interval distance to a third atom is known, the circle determined by the two first distances is cut by the spheres corresponding to the upper and lower bound. Admissible solutions should be inside the upper bound and outside the lower bound, which produces spatial arcs of possible positions.

Algebraically, an arc of the circle K is determined by a point pair \(P = p_- \wedge p_+\) constructed from its end points \(p_-\) and \(p_+\) (with \(p_-\cdot \kappa = p_+\cdot \kappa = 0\), since they are on the circle K dually represented as \(\kappa \)). We can factorize this point pair on K (or more conveniently its dual 3-blade) by means of the geometric product in an orthogonal manner. We expose two ways of doing so, the first more natural for the processing of arcs on the same circle, the second (in Sect. 3.4) an extension which will generalize in Sect. 5.3 to the representation of ‘arcs of arcs’ etc.

The circle on which the arc resides is characterized as the intersection of its surround \(\sigma _\perp \) and its support plane \(\pi \). For the arc, we compute the unique sphere \(\sigma \) orthogonal to the support \(\pi \) that cuts the surround \(\sigma _\perp \) perpendicularly to produce the point pair P (see Fig. 2). So we desire, with an unspecified proportionality factor:

$$\begin{aligned} P \sim {(\sigma _\perp \wedge \pi \wedge \sigma )}^* = {(\kappa \wedge \sigma )}^*, \text{ with } \sigma \cdot \kappa = 0. \end{aligned}$$

(We will denote proportionality by \(\sim \) rather than \(\propto \) since the latter’s resemblance to an \(\alpha \)-symbol makes equations hard to parse visually.) The solution is that \(\sigma \) is positively proportional to \(-P\cdot K\):

$$\begin{aligned} \sigma \sim -P \cdot K. \end{aligned}$$
(2)

The derivation of Eq.  (2) is: \(P \sim {(\kappa \wedge \sigma )}^* = {(\sigma \wedge \kappa )}^* = -\sigma \cdot K = -\sigma \,K\), so \(\sigma \sim -P \,K^{-1} = -P \cdot K^{-1}\), which is (positively) proportional to the above (since below we show that in \(K^{-1} = K/K^2\), the factor \(K^2\) is non-negative). Let us call \(\sigma \) the ‘orthosphere’ of the circular arc.

We will use the sign of the point pair P to distinguish minor and major arcs later on; we therefore need to be careful about the sign of its representing orthosphere \(\sigma \) as well, so as not to lose that interpretation. To be specific, we take the circle K as characterized positively proportional to \(p_- \wedge r \wedge p_+\), for a point pair \(p_- \wedge p_+\) with a distance smaller than the diameter of K, and a normalized point r between the normalized points \(p_-\) and \(p_+\) when traveling along the circle in its positive orientation direction. Then:

$$\begin{aligned} -\infty \cdot \sigma= & {} \infty \cdot \big ( P \cdot K) = (\infty \wedge P) \cdot K, \\= & {} \left( \infty \wedge p_- \wedge p_+ \right) \cdot (p_- \wedge r \wedge p_+), \\= & {} (p_-\cdot p_+) \,\big (-p_- \cdot r - p_+ \cdot r + p_- \cdot p_+), \\= & {} {\frac{1}{4}}\,d^2(p_-,p_+) \,\big (d^2(p_-,p_+) - d^2(p_-,r) - d^2(p_+,r) \big ) ,\\\ge & {} 0, \end{aligned}$$

so as defined in Eq. (2), the sphere \(\sigma \) has non-negative weight. Equality to zero only occurs when the point pair forms a diameter of \(\kappa \) (which is clearly the ambiguous case), since only then do \(p_-\), r and \(p_+\) form a right-angled triangle (for which Pythagoras’ theorem cancels the second factor).

It makes sense, from dimensional analysis, to define \(\sigma ' = -P/K\) or even use its inverse \(1/\sigma '\) as the characterization of the orthosphere. Since those differ from the above by positive factors (because \(K^2 = -2 (p_-\cdot p_+)(p_-\cdot r)(p_+\cdot r) = {\frac{1}{4}}\,d^2(p_-,p_+) \,d^2(p_-,r) \,d^2(p_+,r) > 0\)), this is permitted without changing our sign conventions. We have not found a fully satisfactory set of dimensional scaling conventions for our objects; but as long as we use scaling invariant interpretations of their geometrical parameters (provided in [5], Table 14.1), this is not a major concern. Instead, we typically normalize any sphere s through dividing by \(-\infty \cdot s\), to force its coefficient of \(o\) to be equal to 1.

We can rewrite the orthosphere in terms of the dual circle \(\kappa = {K}^*\) as:

$$\begin{aligned} \sigma = \kappa \cdot {P}^*. \end{aligned}$$

This is a simple rewriting: \(-P \cdot K = -P \cdot {\kappa }^{-*} = -{\big ( P \wedge \kappa \big )}^{-*} = -{\big ( \kappa \wedge P \big )}^{-*} = -\kappa \cdot {P}^{-*} =\kappa \cdot {P}^*\).

But \(\sigma \) can also be expressed in other ways, revealing different aspects of its geometry:

$$\begin{aligned} \sigma= & {} \kappa \cdot {P}^*, \\= & {} (\sigma _\perp \,\pi ) \cdot {P}^*, \\= & {} {(\sigma _\perp \,\pi \,P)}^*, \\= & {} (\sigma _\perp \,P) \cdot {\pi }^*,\\= & {} (\sigma _\perp \,P) \cdot {(\infty \cdot \kappa )}^*,\\= & {} -(\sigma _\perp \,P) \cdot (\infty \wedge K),\\\sim & {} (\sigma _\perp \wedge P) \cdot (\infty \wedge \sigma _\perp \wedge P),\\\sim & {} \text{ surround }(\sigma _\perp \wedge P). \end{aligned}$$

In the final rewriting, \(\sigma _{\!\perp }\wedge P\) is the circle through P, perpendicular to \(\sigma _{\!\perp }\), and \(\sigma \) is thus proportional to its (dual) surround. In the penultimate step, \(\infty \wedge K\) is the support plane, and \(\infty \wedge \sigma _{\!\perp }\wedge P\) is another form of that same plane. Equivalence is easily established by looking at its dual: \({(\infty \wedge \sigma _{\!\perp }\wedge P)}^* = (\infty \wedge \sigma _{\!\perp }) \cdot ({P}^*) \sim -(\infty \wedge \sigma _{\!\perp }) \cdot (\kappa \,\sigma ) = (\infty \cdot \sigma ) \,(\sigma _{\!\perp }\cdot \kappa ) = - \sigma _{\!\perp }\cdot (\sigma _{\!\perp }\,\pi ) \sim \pi = \infty \cdot \kappa = {(\infty \wedge K)}^*\). Spatially, the situation is as in Fig.  2.

Fig. 2
figure 2

Characterization of a point pair P (denoted by the blue halter) on a circle K (in red) in a support plane \(\pi \) cut by a surround sphere \(\sigma _{\!\perp }\), by two algebraically orthogonal spheres (in yellow): \(\sigma \) (real) and \(\overline{\sigma }\) (imaginary) (color figure online)

3.3 Minor and Major Arcs by Oriented Point Pairs on Oriented Circles

The previous treatment and depictions used arcs that consist of points between the endpoints along the shortest (minor) circular arc; we could also wish to characterize major arcs that run along the longest (major) connection between the points.

When the points are united in a point pair by the outer product, they naturally acquire an order; and reversing that order changes the sign. Letting an arc run always from the first point in a point pair to the second, along the orientation of the circle, we can therefore encode both types of arcs. We establish a unique point order associated with a point pair element P using the point pair decomposition from [5] pg. 427. A point pair P can be decomposed into its constituent normalized points \(p_-\) and \(p_+\) by:

$$\begin{aligned} p_\pm = \frac{P \pm \sqrt{P^2}}{\infty \cdot P} . \end{aligned}$$
(3)

Then \(P \sim p_- \wedge p_+\), modulo a positive scalar factor.

For a point pair P whose points reside on an oriented circle K, we have fixed the orientation sign for the associated orthosphere by relating them through \(\sigma = -P \cdot K = - P \,K\). As a consequence, we can retrieve a properly oriented point pair from its orthosphere:

$$\begin{aligned} P = -\sigma / K, \end{aligned}$$

or, if one wants to avoid the inverse, P is positively proportional to \(-\sigma \cdot K\). Let us verify that the signs of the minor and major arcs indeed correspond to orthospheres with positive and negative weight, respectively. We express the circle K by means of the two elements of the point pair, plus a third: \(K = p_- \wedge r \wedge p_+\). If r is inside the orthosphere of \(p_- \wedge p_+\), this orients the circle from \(p_-\) to \(p_+\) as we desire. If the point r has negative weight, the orientation of K is that of \(p_- \wedge p_+ \wedge r\), so traversed in the order \(p_-\), then \(p_+\) then r. Let us now conform the sign of the weight of \(\sigma = c -{\frac{1}{2}}\rho ^2 \infty \):

$$\begin{aligned} \sigma \cdot (p_- \wedge r \wedge p_+) = 0-(p_- \wedge (\sigma \cdot r) \wedge p_+) + 0 = {\frac{1}{2}}\big (\rho ^2 - d^2(c,r)\big ) \,(-P). \end{aligned}$$

So indeed when r is inside the orthosphere of \(p_- \wedge p_+\), the proportionality factor between \(\sigma \cdot K\) and \((-P)\) is positive. And when r is outside that orthosphere, and hence used to produce a major arc for the same point pair P, then \(\sigma \) changes its sign.

3.4 The Imaginary Orthosphere

In the 3D space we are considering, one can make many choices for an orthogonal basis of its 5D conformal geometric algebra. It makes sense to pick a basis adapted to the objects one wants to describe. For our circular arc, we have already introduced three mutually orthogonal conformal vectors: the plane \(\pi \) of the circle, its surrounding sphere \(\sigma _\perp \), and the orthosphere \(\sigma \). Another obvious vector is the plane of symmetry of the arc, which is \(\pi _\Vert \equiv \infty \cdot P = p_+-p_-\) (the midplane of the two points). These four conformal vectors have positive squares; the fifth orthogonal vector should therefore be an imaginary sphere \(\overline{\sigma }\), see [15]. We show below that it is proportional to:

$$\begin{aligned} \overline{\sigma }= (\infty \cdot P)/P \sim {\frac{1}{2}}(p_-+p_+). \end{aligned}$$
(4)

Orthogonality with the other vectors is easily established. When drawn in the support plane of the circle K (see Fig.  3), the sphere \(\overline{\sigma }\) is seen to contain the chord of the arc as its diameter. And indeed, the squared radius is \(\overline{\sigma }^2 = {\frac{1}{2}}(p_+\cdot p_-) = - \big ( d(p_-,p_+)/2 \big )^2\), so that the associated diameter of \(\overline{\sigma }\) is equal to the chord length of the arc. The imaginary orthosphere \(\overline{\sigma }\) is algebraically orthogonal to the real orthosphere \(\sigma \) in the manner of imaginary spheres: \(\overline{\sigma }\) is intersected by \(\sigma \) in a great circle on \(\overline{\sigma }\) (see [5], Chapter 14) and it also cuts the other real basis vectors \(\pi \), \(\sigma _\perp \) and \(\pi _\Vert \) equatorially.

A simple derivation of the expression Eq. (4) for \(\overline{\sigma }\) is to write the volume element of the representational space as \(\pi _\Vert \wedge \sigma _\perp \wedge \pi \wedge \sigma \wedge \overline{\sigma }= \pi _\Vert \,\sigma _\perp \,\pi \,\sigma \,\overline{\sigma }\) (due to orthogonality, all outer products are geometric products). This gives \(\overline{\sigma }\sim {(\pi _\Vert \,\sigma _\perp \,\pi \,\sigma )}^* = {(\pi _\Vert \,\kappa \,\sigma )}^* \sim {\big ((\infty \cdot P) \,{P}^{-*}\big )}^* = (\infty \cdot P) \,P \sim (\infty \cdot P)/P\).

In Sect.  3.3, we related the sign of \(\sigma \) to that of the point pair, so that we could represent minor and major arcs; let us do the same for \(\overline{\sigma }\). The definition Eq. (4) is insensitive to the sign (and even to the weight) of P. We can fix a sign explicitly by requiring that \((\infty \cdot \sigma ) \,(\infty \cdot \overline{\sigma }) > 0 \), or implicitly by picking the appropriate order of terms in defining the pseudoscalar of the whole space in the derivation above.

An alternative rewriting of \(\overline{\sigma }\) is:

$$\begin{aligned} \overline{\sigma }\sim \text{ surround }(\sigma \wedge \sigma _{\!\perp }) = (\sigma \wedge \sigma _{\!\perp })/(\infty \wedge \sigma \wedge \sigma _{\!\perp }). \end{aligned}$$
(5)

Deriving this form is done through:

$$\begin{aligned} \overline{\sigma }\sim & {} P/(\infty \cdot P), \\= & {} {P}^{-*}/{(\infty \cdot P)}^{-*}, \\= & {} {P}^{-*}/(\infty \wedge {P}^{-*}), \\= & {} (\sigma \,\kappa )/(\infty \wedge (\sigma \,\kappa ), \\= & {} (\sigma \,\sigma _{\!\perp }\,\pi )/\big (\infty \wedge (\sigma \,\sigma _{\!\perp }\,\pi ) \big ), \\= & {} (\sigma \,\sigma _{\!\perp })/\big (\infty \wedge (\sigma \,\sigma _{\!\perp }) \big ), \end{aligned}$$

where we used \(\pi \cdot \infty = 0\) to provide \(\infty \wedge (\sigma \,\sigma _{\!\perp }\,\pi ) = {\frac{1}{2}}(\infty \,\sigma \,\sigma _{\!\perp }\pi - \sigma \,\sigma _\perp \pi \,\infty ) = {\frac{1}{2}}(\infty \,\sigma \,\sigma _{\!\perp }\pi + \sigma \,\sigma _\perp \infty \,\pi ) = \big ((\infty \wedge (\sigma \,\sigma _{\!\perp }) \big ) \,\pi \), so that \(\pi \) can be factored out of numerator and denominator.

Geometrically, \(\sigma \wedge \sigma _{\!\perp }\) is an imaginary point pair (dual to the real circular intersection of \(\sigma _{\!\perp }\) and \(\sigma \)); then \(\overline{\sigma }\) is its (dual) surround. In a visualization, these two spheres \(\sigma \) and \(\overline{\sigma }\) appear to intersect in the real circle \({(\sigma \wedge \sigma _{\!\perp })}^*\), even though the imaginary sphere \(\overline{\sigma }\) does not contain any real points. (A more exact way to state this is to first convert \(\overline{\sigma }\) into a real sphere with the same center and radius, which is done by \(\overline{\sigma }\mapsto \overline{\sigma }\,(\overline{\sigma }\wedge \infty )\).)

Note that the imaginary orthosphere \(\overline{\sigma }\) is actually independent of the circle K, a fact which is better seen in Eq. (4) than in Eq. (5). It is therefore less descriptive of the arc than the real orthosphere \(\sigma \), which does involve the carrier circle K.

Fig. 3
figure 3

A sketch of the plane \(\pi \) of the circle \(\kappa \) containing a minor arc. The thick red arc on the red circle \(\kappa \) can be characterized by the dashed green imaginary sphere \(\overline{\sigma }\) related to the inner chord, and by the solid blue sphere \(\sigma \) related to the outer chord (the real orthosphere). The two spheres \(\sigma \) and \(\overline{\sigma }\) are mutually algebraically orthogonal, and both algebraically orthogonal to the red circle \(\kappa \). Since that makes them orthogonal to the carrier plane as well, we can show both of them cut through an equator in this plane \(\pi \), giving this 2D drawing (color figure online)

3.5 The Chords of an Arc

Figure 3 illustrates that the orthospheres \(\sigma \) and \(\overline{\sigma }\) to the circular arc have a radius that is simply related to basic properties of the arc. Let us first define the (inner) chord as usual, and the outer chord as the broken segment composed of the two tangents to the circular arc at its end points. Then the squared radius of the normalized \(\overline{\sigma }\), computed as \(\overline{\sigma }^2\), is minus the squared size of half the inner chord of the arc (which is \(\rho /\sin (\phi /2)\) for an arc of \(\phi \)). The squared radius of the normalized \(\sigma \), computed as \(\sigma ^2\), is the squared size of half of the outer chord (which is \(\rho /\tan (\phi /2)\)). The centers of those spheres are the location of the center of the inner chord, and the vertex of the outer chord. Two orthospheres \(\sigma \) and \(\overline{\sigma }\) thus encode the inner and outer chord to the arc, though they are not specific on the plane of the arc.

The surround sphere of the arc’s circle K (but not its support plane) can be determined from \(\sigma \) and \(\overline{\sigma }\). We observe (see below) that its imaginary equator is \(K = {(\sigma \wedge \overline{\sigma })}^*\), and then use that to determine the sphere as the surround of the equator: \(\sigma _{\!\perp }= K/(\infty \wedge K)\). We show the equatorial nature of \(K = {(\sigma \wedge \overline{\sigma })}^*\) by computing its squared radius from its dual \(\kappa \) as \(-(\kappa \,\widehat{\kappa })/(\infty \cdot \kappa )^2\) according to [5], Table 14.1. First, defining \(\rho ^2 = \sigma ^2\) and \(\overline{\rho }^2 = \overline{\sigma }^2\),

$$\begin{aligned} \kappa \widehat{\kappa } = (\sigma \wedge \overline{\sigma }) (\sigma \wedge \overline{\sigma }) = \sigma \,\overline{\sigma }\,\sigma \,\overline{\sigma }= -\sigma ^2 \overline{\sigma }^2 = \rho ^2 {\overline{\rho }}^2. \end{aligned}$$

Then

$$\begin{aligned} \big ( \infty \cdot \kappa \big )^2 = \big ( \infty \cdot (\sigma \,\overline{\sigma }) \big )^2 = (\sigma - \overline{\sigma })^2 = \rho ^2 - {\overline{\rho }}^2. \end{aligned}$$

Hence the reciprocal of the squared radius \(-r^2\) of the imaginary circle K satisfies:

$$\begin{aligned} \frac{1}{r^2} + \frac{1}{\rho ^2} = \frac{1}{{\overline{\rho }}^2}. \end{aligned}$$

This is the ‘reciprocal Pythagorean theorem’, the relationship in a right triangle between the magnitudes of the sides r and \(\rho \) and its altitude \({\overline{\rho }}\) on the hypotenuse [12]. Inspecting Fig.  3, this implies that \(r^2 = \sigma _{\!\perp }^2\), and therefore \(r^2\) is indeed equal to the squared radius of the circle of the arc.

4 Combining Arcs using Orthospheres

4.1 Establishing Relative Positions of Arcs

The reason for using orthospheres to the circle K is that the overlapping and containment conditions of the spheres completely coincide with those of the arcs they represent, simply because they intersect the circle K containing the arcs perpendicularly; non-orthospheres (such as the surround of the end points) would not provide this equivalence. In this section, we first treat the case of ‘inner arcs’ (minor arcs) of the point pairs to focus our explanation; we can then easily expand this to major arcs by incorporating the point pair signs afterwards.

The meet of two real orthospheres \(\sigma _1\) and \(\sigma _2\) is a circle (like that of any two spheres).

  • When this circle is real (so its square is positive and the square of its dual is negative), there is a maximal smaller sphere orthogonal to K that is contained in both. This is the orthosphere representing the intersection of the arcs of \(\sigma _1\) and \(\sigma _2\) (see Fig.  4, top row).

  • When this circle is imaginary (so its square is negative and the square of its dual is positive), the real spheres do not really meet. This could be because their arcs are not overlapping, or because one arc is fully contained in the other. In the former case, we can eliminate this incidence of arcs from consideration; in the latter, the smallest orthosphere should remain. The discrimination between these two cases is the sign of the inner product of the orthospheres: it is positive for containment, and negative for exclusion (see Fig.  4, bottom row).

  • When the common circle squares to zero, it has degenerated to a point (actually a tangent 2-vector). The arcs are now touching; one could return the common point, or report lack of overlap (see Fig.  4, middle row).

Fig. 4
figure 4

The various situations for the relative positions of circular arcs are detectable by the signs of two scalars computed from their orthospheres: \((\sigma _1 \wedge \sigma _2)^2\) and \(\sigma _1 \cdot \sigma _2\)

The dual representation of the intersection circle is \(\sigma _1 \wedge \sigma _2\), and we thus can specify the cases simply in terms of the signs of \((\sigma _1 \wedge \sigma _2)^2\) and of \(\sigma _1 \cdot \sigma _2\). The correspondence may be established by expressing those quantities in terms of the radii \(\rho _1\) and \(\rho _2\), plus the distance between the centers \(\delta \equiv d(c_1,c_2)\), for normalized orthospheres \(\sigma _1 = c_1 - {\frac{1}{2}}\rho _1^2 \infty \) and \(\sigma _2 = c_2 - {\frac{1}{2}}\rho _2^2 \infty \):

$$\begin{aligned} (\sigma _1 \wedge \sigma _2)^2= & {} (\sigma _1 \cdot \sigma _2)^2 - \sigma _1^2\sigma _2^2 = {\frac{1}{4}}(\rho _1^2 + \rho _2^2 -\delta ^2)^2 - \rho _1^2\rho _2^2, \end{aligned}$$
(6)
$$\begin{aligned} \sigma _1 \cdot \sigma _2= & {} (c_1 \cdot c_2) + {\frac{1}{2}}(\rho _1^2 + \rho _2^2) = {\frac{1}{2}}(\rho _1^2 + \rho _2^2 - \delta ^2). \end{aligned}$$
(7)

The former is zero when \(\delta = |\rho _1 \pm \rho _2|\), so at tangency (with equal-radius spheres at zero distance as special case). The latter is zero when \(\delta ^2 = \rho _1^2 + \rho _2^2\), which is when the real spheres intersect perpendicularly (but for the classification of arc intersections, the discrimination which the dot product offers on the acuteness of the angle of intersection is irrelevant). The signs for the situations on either side of zero are easily established. When containment occurs, one can compare the squared radii \(\sigma _1^2\) and \(\sigma _2^2\) to decide which of the two orthospheres is contained in the other.

We have used only the real orthospheres to classify all the cases. One might wonder whether the imaginary orthospheres could also play a role. However, considering Eqs. (6) and (7) with \(\rho _1^2\) and \(\rho _2^2\) replaced by \(-\rho _1^2\) and \(-\rho _2^2\) shows that the imaginary spheres \(\overline{\sigma }_1\) and \(\overline{\sigma }_2\) have uninteresting signs for \(\overline{\sigma }_1 \cdot \overline{\sigma }_2\) (always negative) and \((\overline{\sigma }_1 \wedge \overline{\sigma }_2)^2\) (always positive except when \(\rho _1^2=\rho _2^2\) and \(\delta =0\), so in the case of fully coincident arcs). Only the characterization of the coincident case is mildly interesting in arc processing, but highly unlikely to occur in practice. Moreover, it could already be detected with real orthospheres only, by checking equality of \(\sigma _1^2\) and \(\sigma _2^2\) within the ‘tangent inside’ case of “\((\sigma _1\wedge \sigma _2)^2 = 0\) while \(\sigma _1 \cdot \sigma _2 > 0\)”.

4.2 The Four Tangent Orthospheres

The cases as distinguished in Fig. 4 will produce new arcs with new orthospheres as a result of arc intersection. These are usually composed from endpoints of the existing arcs. We will show how this is done in Sect. 4.3; let us decide on a consistent labeling beforehand, so that we can refer to those new potential orthospheres.

We will have to form new arcs representing the intersection from the endpoints of the input arcs. We visualize the cases that occur, independently of the circle K they occur on, by a simple conformal trick: we perform an inversion in a well chosen sphere that turns the circle K into a line. Any sphere \(\sigma _I\) composed as \(\sigma _I = \kappa _- \cdot (\kappa _+ \wedge \infty )\) from an anti-polar point pair \(\kappa _- \wedge \kappa _+\) of K will do; the anti-polar point pair can be made through intersection of K with any (non-carrier) plane through the center of K.

When K becomes a straight line \(K' = -\sigma _I \,K /\sigma _I\) under this inversion, the two orthospheres of course remain orthospheres to this line (since spherical inversion is conformal). Now along this line \(K'\), introduce 1-D coordinates in its direction \(\mathbf{e}\). Let the centers and radii of the transformed orthospheres \(\sigma '_p\) and \(\sigma '_q\) be \(\mathbf{p}\), \(\mathbf{q}\), \(\rho _p\) and \(\rho _q\), respectively. (These can be determined as the Euclidean parts of \(-\sigma '_p \,\infty /\sigma '_p\) and \(-\sigma '_q \,\infty /\sigma '_q\), and from \(\rho _p^2 = (\sigma '_p)^2\) and \(\rho _q^2 = (\sigma '_q)^2\).) Then the four tangent spheres have centers at:

$$\begin{aligned} \mathbf{c}_{\pm \pm } = {\frac{1}{2}}(\mathbf{p}\pm \rho _p \mathbf{e}) + {\frac{1}{2}}(\mathbf{q}\pm \rho _q \mathbf{e}), \end{aligned}$$

(where the index signs are in the same order as in the equation, so select the corresponding top or bottom sign). The radii of the new orthospheres are, respectively:

$$\begin{aligned} \rho _{\pm \pm } = \left\| {\frac{1}{2}}(\mathbf{p}\pm \rho _p \mathbf{e}) - {\frac{1}{2}}(\mathbf{q}\pm \rho _q \mathbf{e}) \right\| . \end{aligned}$$

Now construct the resulting normalized orthospheres as

$$\begin{aligned} \sigma '_{\pm \pm } = \text{ CGA }({\mathbf{c}_{\pm \pm }}) - {\frac{1}{2}}\rho ^2_{\pm \pm } \infty , \end{aligned}$$

(where \(\text{ CGA }({\cdot })\) produces the conformal point vector at a Euclidean location). Then just re-invert the situation relative to \(\sigma _I\) to retrieve the four desired orthospheres tangent to the original \(\sigma _p\) and \(\sigma _q\). Besides the original arcs, four additional arcs are thus part of our vocabulary of solutions to the arc intersection problem.

Fig. 5
figure 5

After inversion, the circle K becomes the blue line \(K'\), the orthospheres \(\sigma _p\) and \(\sigma _q\) become orthospheres \(\sigma '_p\) and \(\sigma '_q\) to that line (in red). The parameters of the four blue tangent orthospheres are read off easily (the direction vector \(\mathbf{e}\) of the line \(K'\) is taken to the right, so a label like \(+-\) can be read as: connects axis point to the right (\(+\)) of \(\mathbf{p}\) with that to the left (−) of \(\mathbf{q}\)). There are three main situations: the red orthospheres intersect, one is contained in the other, or they are fully separate (color figure online)

In actual practice, one does not compute the spheres \(\sigma _{\pm \pm }\) from this inversion and re-inversion, but simply from the conformal points \(p_-\) and \(p_+\) derived directly from P (or from \(P = -\sigma _p/K\)) by decomposing it according to Eq. (3), and similarly for the points related to the point pair \(Q = -\sigma _q/K\). Then for a chosen sphere, say \(\sigma _{+-}\), those points are recomposed to a point pair \(P_{+-} = p_+ \wedge q_-\), and that is made into the desired orthosphere relative to the original circle K as \(\sigma _{+-} = -P_{+-} \cdot K\). The inversion above was just done to easily depict the relationships between the labelled orthospheres, in terms which are invariant under that conformal transformation.

Incidentally, the inversion in \(\sigma _I\) makes the imaginary orthosphere \(\overline{\sigma }\) of a point pair look coincident with the corresponding real orthosphere \(\sigma \), since both the real and imaginary spheres are orthogonal to the same ‘flat’ element (the line \(K'\)) that contains their common point pair.

4.3 Boolean Operations on Arcs

Even though the sign of an orthosphere \(\sigma \) was related to the arc orientation in Sect. 3.3, we note that the classification of the relative situation of the orthospheres as in Fig. 4 mostly involves squares, and is therefore not too dependent on the signs. Only when one orthosphere represents a minor arc, and the other a major arc, should we modify the label of the classification of the columns (since it is based on the dot product).

The orthosphere we should return as a result of a Boolean combination of arcs should have the correct sign, to represent the resulting arc appropriately. We characterize the results by the signs of the point pairs (and hence of the orthospheres relative to the circle K). And while we are at it, we might as well not only state the result of intersection of the point pairs, but also of their union (even thought we do not really need that in the DMDGP problem).

With the labeling as in Fig. 5, we can specify what the outcome should be of the various Boolean operations on the arcs represented by the orthospheres \(\pm \sigma _p\) and \(\pm \sigma _q\). In Fig. 6, we list the outcomes following the order in Fig. 4 (from bottom left upwards, then down at the right). Usually, the outcome is a single arc; but when the original arcs are completely separated or contained, the result of their Boolean combination may be a pair of arcs.

In the situations where \(\sigma _p\) and \(\sigma _q\) are tangent, only two extra orthospheres are generated, one of which degenerates to a point; this is indicated in those columns as ‘(pt)’.

Fig. 6
figure 6

The outcome of Boolean operations on arcs, as encoded by their real orthospheres

Clearly if one would label p and q conversely, all index signs also swap, so the difference between \(\sigma _{-+}\) and \(\sigma _{+-}\) is not independent of this order, though the symmetrical combinations \(\sigma _{--}\) and \(\sigma _{++}\) are fine. However, in all relevant cases we can simply compute both \(\sigma _{+-}\) and \(\sigma _{-+}\), and specify an order-independent manner of deciding between them by computing their squares. Where the orthosphere is a point, that square is zero, and this resolves the ‘tangent in’ and the ‘tangent out’ columns. The column ‘contained’ was designed for \(\sigma _q \subset \sigma _p\), so read the entries as ‘smallest (here \(\sigma _q\))’ or ‘largest (here \(\sigma _p\))’, which can be determined from \(\sigma _p^2\) and \(\sigma _q^2\) (for normalized \(\sigma _p\) and \(\sigma _q\)). The column ‘separated’ has two-arc entries that appear to require disambiguation, but those entries can simply be rewritten in terms of the original \(\sigma _p\) and \(\sigma _q\), and is then symmetric in those arguments. Of most interest to our DMDGP application is the ‘intersect’ column. Referring to Fig. 4, we see that \(\sigma _{+-}\) is the smaller, and \(\sigma _{-+}\) the larger of the two, so their squares disambiguate them; and the other entries \(\sigma _{--}\) and \(\sigma _{++}\) are independent of the order anyway.

5 Application: Discretizable Molecular Distance Geometry

The distance matrix in the example of a molecular distance geometry problem from [6] and [2] is:

$$\begin{aligned} \left[ \begin{array}{cccccc} 0 &{} 1 &{} \sqrt{3} &{} 2.15 &{} [2.45,2.55] &{} * \\ 1 &{} 0 &{} 1 &{} \sqrt{3} &{} [2.2,2.6] &{} * \\ \sqrt{3} &{} 1 &{} 0 &{} 1 &{} \sqrt{3} &{} [2.4,2.6] \\ 2.15 &{} \sqrt{3} &{} 1 &{} 0 &{} 1 &{} \sqrt{3} \\ {[}2.45,2.55{]} &{} [2.2,2.6] &{} \sqrt{3} &{} 1 &{} 0 &{} 1 \\ * &{} * &{} [2.4,2.6] &{} \sqrt{3} &{} 1 &{} 0 \end{array} \right] \end{aligned}$$

It is clear that the backbone of the protein chain has an angle of 120\(^\circ \) between subsequent atoms, as expressed by the distances 1 and \(\sqrt{3}\) just off the diagonal. The rotation around the backbone edges are to be determined from the other distances, which are mostly uncertain interval distances.

5.1 Arcs

We treat the first few nodes of this example by the orthosphere method. Relative to an initial ‘triangle’ of atoms \(v_1\), \(v_2\), \(v_3\), there is a circle of possibilities for atom \(v_4\) (swept out by a rod of length 1 making a 120 degree angle with the rod connecting \(v_2\) and \(v_3\)). A measured exact distance \(d(1,4) = 2.15\) restricts this circle of possibilities to a point pair. For both of the points \(v_4\), we should study the circle of possibilities for \(v_5\); but in the example this is now limited by two interval distances of d(1, 5) and d(2, 5). So at this point, we apply the arc intersection by means of orthospheres, to constrain the possibilities for \(v_5\).

Figure 7 shows the processed example. There are two possibilities for \(v_4\); each of those generate two times two arcs from the interval distances of \(v_5\) to the atoms \(v_1\) and \(v_2\) (indicated by blue point pairs connecting their end points, with their orthospheres in yellow). But after combinations of the arcs according to Fig. 4 and the intersection table, only one possible arc remains for each of the cases—their orthospheres are drawn in green, and labeled \(v_{50}\) and \(v_{51}\), and shown connected by a chord edge for clarity.

Fig. 7
figure 7

The example from [2] worked out up to atom \(v_5\) by the methods of the present paper, using GAviewer (see text). The oriented point pairs of the arcs are indicated by an orientated connection, for clarity, and their orthospheres are in yellow. The orthospheres of the resulting valid arc intersections are green (color figure online)

5.2 Arcs of Arcs

For the next node \(v_6\) in the example, the choice of one of the two discrete point solutions for \(v_4\) makes the treatment still rather precise: the given exact distance d(4, 6) constrains the possibilities to lie onto the sphere \(\sigma _{4,6} \equiv v_4 - {\frac{1}{2}}d^2(4,6) \infty \). For each point on the arc of possibilities for \(v_5\), the interval distance d(3, 6) allows an arc of possibilities on this sphere, bounded by two circles for the lower and upper bound, parallel to the circle of \(v_5\) possibilities.

But here we actually enter into the realm of probabilities, for along this band of possibilities the distribution is not uniform: the extreme possibilities can be reached by only one choice of the \(v_5\) location, but in the middle of the band various combinations of assumed positions of atom \(v_5\) with a distance from the interval range d(3, 6) can result in the same outcome. So even when the interval distances indicate uniform possibilities (and it is unlikely that this is how the NMR measurement noise should be characterized anyway), a convolution-like combination of those interval distributions has now taken place, within the band of possibilities on the sphere \(\sigma _{4,6}\).

5.3 Principal Sphere Decomposition

If we sample the possibilities, we thus get distributions of 3D points; those were sampled in [2], and parametrized by rotors in [6]. Such distributions of points in 3D could be characterized by their classical covariance matrix. This would specify the second order variation by means of a quadratic from, and by diagonalization would effectively produce an orthonormal basis of directions around the centroid allowing to specify the variances. An alternative interpretation of this classical covariance is that it specifies the best plane on which the data lies, the orthogonal next best plane (together giving the best line), et cetera. So classical covariance is related to optimal plane fitting [13].

With this in mind, it should be no surprise that in CGA there is a better possibility for characterizing covariance, which is a consequence of results from optimal sphere fitting [4]. We can set up a quadratic form for the ‘conformal covariance’, which leads to a conformal orthonormal basis of spheres: the best sphere fitting the data, the next best orthogonal sphere (together giving the best circle) and the next best orthogonal sphere (with all three then providing the best point pair to describe the data). There is also an orthogonal imaginary sphere describing centroid and overall covariance.

In the paper [4], we solved the problem of fitting k-dimensional rounds (spheres, circles, etc.) to a cloud of points, in a total least squares sense (in n-D, though 3D suffices here). We determined the best sphere to pass through a cloud of conformal points \(p_i\), in least square sense: minimizing the quadratic cost function \(C[x] = \sum _i \,(p_i\cdot x)^2/x^2\) (which is a very good approximation to the unbiased sum of squared distances of the points \(p_i\) to an unknown sphere x). That best sphere is the conformal vector of smallest real eigenvalue of the symmetric linear operator (the ‘conformal inertia tensor’)

$$\begin{aligned} P[x] \equiv \sum _i p_i \wedge (p_i \cdot x). \end{aligned}$$

Moreover, the best circle is the intersection of that best sphere and the sphere of the next eigenvector of \(P[\cdot ]\) (with the next smallest eigenvalue); and the best point pair involves the next eigensphere. The local eigenspheres form a \((3+2)\)-dimensional orthogonal basis, adapted to the set of points; much like a principal component analysis provides a locally orthogonal basis in 3D, describing the principal directions in a point cloud. There is one imaginary eigensphere for any point cloud, since in 3-D only 4 real spheres can be orthogonal (see [15]).

The ascending eigenvalues of the real spheres indicate the decreased accuracy of the subsequent fits, since they are the sum of squared distances of the points to the corresponding eigensphere. So if the points are exactly on a sphere \(\sigma _1\) (as is the case in our particular molecular example for \(v_6\)), then \(\lambda _1=0\); if within \(\sigma _1\) they lie almost on a circle \({(\sigma _1 \wedge \sigma _2)}^*\), then \(\lambda _2\) indicates the sum of squared errors to that circle, which is (to good approximation) the spread of the points perpendicular to the circle within the spherical surface of \(\sigma _1\). And the third smallest real eigenvalue \(\lambda _3\), giving the sum of squared errors to the third eigensphere \(\sigma _3\), indicates the spread of the point distribution relative to the best fitting point pair (the intersection of the first three eigenspheres). The one negative eigenvalue \(\lambda _0\), corresponding to the imaginary eigensphere, is (minus) the total variance of the point distribution. The fourth real eigenvalue \(\lambda _4\) is simply \(\lambda _4 = |\lambda _0| -\lambda _1 - \lambda _2 - \lambda _3\), since \(P[\cdot ]\) is a traceless operator. The corresponding fourth eigensphere is also fully determined by its orthogonality to the other eigenspheres, and so less interesting.

We have computed analytically the sphere decomposition for a uniform distribution along an arc of angle \(\phi \); the result is, in good polynomial approximation in \(\phi \), that \(\lambda _0 = -\frac{5}{3}\phi ^2 + \frac{4}{3}\phi ^4\), \(\lambda _1 = \lambda _2 =0\) and \(\lambda _3 = \frac{1}{3}\phi ^2\). The corresponding orthospheres are drawn in Fig. 8. They are clearly smaller than those computed for the end points, since the variance of a uniform distribution is smaller than the square of its radius.

5.4 Arcs (of Arcs (of Arcs)) as Distributions

In the current problem, this ‘conformal covariance’ manner of describing the possibilities is highly attractive, since the distribution of possibilities is actually exactly on a sphere (the sphere \(\sigma _{4,6}\)). We could have used that description for the \(v_5\) computations, even if the intervals were not uniform, since then the data (after a discrete choice was made for \(v_4\)) lies exactly on a circle. And looking back even further, the possibilities for \(v_4\) were exactly on a point pair.

Looking forwards down the backbone, if we had interval distances to a further atom \(v_7\), the set of possibilities of ‘arcs of arcs of arcs’ would no longer be exactly on a sphere; but the point sets of possible locations are still rather curved, and the local sphere basis for covariance should still be more effective than the classical plane-based characterization of second order variation (see also [14]).

Fig. 8
figure 8

The characterizing spheres for a uniform arc (denoted by dots). The best fit sphere \({\sigma _2}^*\), circle \({(\sigma _1 \wedge \sigma _2)}^*\) and point pair \({(\sigma _1 \wedge \sigma _2 \wedge \sigma _3)}^*\) in red; the imaginary eigensphere \(\sigma _0\) is denoted in green. The blue sphere is \(\sigma _3\). The eigenplane \(\sigma _1\) fills the image as a blue background. The eigenplane \(\sigma _4\) is not denoted to unclutter the figure; it is orthogonal to all others (color figure online)

This conformal covariance description would be especially effective if we could work out how to perform natural combinations of incoming distributions (such as the interval arcs of \(v_5\) and the spread caused by d(4, 6)) to produce a resulting distribution in an algebraic formulation of the probabilistic intersection of possibilities. So this raises some natural questions for further research:

  • How to intersect two spheres with probabilistic shells, using their conformal covariance to characterize both input and output of this operation?

  • What distributions are suitable to work with? We expect that the Von Mises distribution might be a good choice.

Presumably, the combination laws are similar to those of the classical covariance matrices and their natural link to Gaussian distributions, though the conformal approach should allow a simultaneous update of the (conformal) centroid as well as of the spherical directional aspects. We are looking forward to seeing this algebra of principal sphere decompositions, and to see it applied to the molecular distance geometry problem.