1 Introduction

A requirement to determine extrema in the separation between satellites and times of their occurrence arises in many contexts, from the avoidance of collisions to the establishment of communications or other types of cross-links. An important subset are cases of co-periodic orbits. For purely Kepler motion, when only a single epoch of input data is available, errors in the predicted extrema due to real world perturbations will grow with time from the epoch to the predicted times of the extrema. However, large numbers of satellites are in systems under centralized command and control. Two examples are the Global Positioning System (GPS) of thirty satellites in 12 h orbits, and the Tracking and Data Relay Satellite System (TDRSS) of geosynchronous satellites, some of which may be collocated. A specialized treatment of any system must take advantage of available resources, which may include tracking data collection hardware, orbit determination methodology, operational simulation software to generate filtered high fidelity estimates of future orbital states, station keeping strategies, and Monte Carlo representations of data collection errors. State variables estimated by numerical integration of state transition matrices are variance/covariance uncertainty measures, and several forms of six parameters describing the best estimate (having maximum likelihood) of the position and velocity, or their equivalents, of the center of mass of each satellite at any time. The simple Kepler model employed here can be added to the operational software (OS) of these systems. To limit the growth of errors in the predicted extrema due to perturbations, the OS states of motion would determine algorithm inputs for an early epoch, and the algorithm’s initial estimates of the times of the extrema during the next period would be used by the OS to simulate states of motion in neighborhoods of those times. An iterative process, again using this algorithm, would lead to predictions of extrema and of the conditioning of the algorithm for the case considered, reflecting the fidelity of the OS.

In contrast the problem of non co-periodic two-satellite relative motion is of interest in studies of the increasing risk of collisions among debris and functional satellite assets (Klinkrad 2006). Several examples will illustrate the powerful methods that have been applied to this more general problem.

A two dimensional invariant manifold, embedded in three dimensional configuration space, to which any solution is confined for the general problem of two arbitrary Kepler elliptical orbits is determined by Gurfil and Kholshevnikov (2006). The manifold is invariant because any solution starting on it will remain and evolve on it. Five examples are explicated. The first illustrates the construction of a relative motion manifold, while others determine separation extrema. The square of the separation function is expressed in terms of the leader satellites’s eccentric anomaly at which a relative extreme separation is reached. These anomalies are determined from the roots of a trigonometric polynomial of degree 8. In each of these examples degenerate features allow reduction of the order of the polynomial, and solutions are straightforward. For general cases in which the full 8 degree polynomial must be solved the reader is referred to Vassiliev and Kholshevnikov (1999).

A trigonometric polynomial representation of the square of the separation function, of order no less than 8 in the angular variable determining position on one ellipse, is derived by Vassiliev and Kholshevnikov (1999). The roots of this polynomial are the critical points (angular variable values). Reference is made to an earlier article by one of them (Vassiliev) in which a polynomial with this property was found of degree 16. Imposing the critical condition on the separation function is shown to be equivalent to the vanishing of three trigonometric polynomials in the sine and cosine of the critical angular variable. These polynomials are identified as elements of a ring of polynomials with real coefficients depending on the orbital elements. Using the MAPLE system of computer algebra a Gröbner basis is constructed for the ideal consisting of the polynomials of the ring which vanish. Of the 21 polynomials comprising this basis only one is independent of the follower’s angular variable, which proves that it coincides with the candidate trigonometric polynomial. A property of the Gröbner basis shows that its leading term is of eighth order. This establishes a range for the number of real roots from 4 to 16. The authors experimented with different orbits, were not able to find a case in which the number of real roots is as high as 16, and assert that the upper bound is still to be determined. Some degenerate cases were considered and proved consistent with simpler interpretations admitted by the degeneracy. The authors claim that unlike traditional iterative schemes this method is insensitive to the occurrence of close multiple roots.

Maruskin (2010) derives a closed form for the distance function in a topology in which two spheres constitute the configuration manifold for the space of bounded orbits of constant energy. The topology is that of a cone passing through the direct product of the two spheres, and results in a five-dimensional manifold embedded in \(R^{6}\). Analytic steps lead to an expression for the separation function in terms of orbital elements. See also Kholshevnikov (2008) for development of the topology and properties of another abstract space representation of the general solution.

The methods of Gurfil and Kholshevnikov (2006), Vassiliev and Kholshevnikov (1999), Maruskin (2010) and Kholshevnikov (2008) are algebraically determinate, and involve no explicit dependence on iterative or sampling processes. A treatment of the general case of two arbitrary closed or open Keplerian orbits is that of Armellin et al. (2010). A global optimizer (COSY-GO) based on Taylor model methods results in a “rigorous enclosure of the global minimum of the objective function[s]”, and is applied effectively to the Potentially Hazardous Asteroid (PHA) Apophis. A pair of nonlinear equations for the critical point anomalies is derived, and orbital parameters are treated as interval sets to allow consideration of orbit determination uncertainties and osculation of the elements. Future work planned by the authors will increase the rigor of the analysis by taking account of the interval part of the Taylor model, a further challenge, given the necessity of implementation in floating point arithmetic, which does not have uniform intervals. These authors provide a generous set of references on this subject.

This study is conventional, involves a sampling strategy to locate initial estimates of the critical points, and the Newton–Raphson method to converge on final estimates. Analytical forms for the first and second derivatives of the squared separation are required. The literature relating to this approach is too vast, long-established, and well-known to readers of this journal to describe.

The objective is a methodology to determine the number of digits justified for any co-periodic case. This generality bespeaks a treatment to determine the conditioning of the algorithm rather than a detailed treatment of an actual satellite system’s uncertainties. The condition number estimate is a measure of the sensitivity of the solution to the data upon which the predictions depend. For example, an estimated condition number on the order of \(10^9\) would reduce by nine the number of significant digits of the solution compared to the maximum number expected in the absence of ill-conditioning. The effect of perturbations on the condition numbers is beyond the scope of this article. The Kepler motion model leads to ill-conditioning in those cases for which some Kepler elements become indeterminate, i.e., those in which the inclination and/or eccentricity vanish. A possible similar algorithm based on equinoctial elements (Battin 1999) (p. 490) should achieve better conditioning in some of those cases, and may be the subject of a future study to complement this one.

Convenience will be served by reference to proper local extrema: “A function \(f\): \(\mathbf {R}\rightarrow \mathbf {R}\) is said to have a proper (or strict) local maximum at \(p\) in \(\mathbf {R}\) provided there exists \(\epsilon >0\) such that if \(0<\mid {x-p}\mid <\epsilon \), then \(f(x)<f(p)'' \) (Posey and Vaughan 1986). This definition differs from that of local extrema for which \(f(x)\le f(p) \). It is a functional definition because in a series of cases, as one of constant separation is approached the number of proper relative extrema vanishes instead of becoming infinite by definition. In what follows “proper relative extrema” often will be shortened to “extrema”.

Section 2 summarizes Kepler solution formulae for the one fixed center problem, in which the mass of a satellite is negligible compared to a point mass at the origin of the inertially non-rotating reference frame (Battin 1999) (p. 109, footnote). In Sect. 3 an equation of constraint between two parameters is derived. Either of these may be considered among the eight defining a case and is included to facilitate applications to geosynchronous orbits. Section 4 derives formulae for the square of the separation function and its first two derivatives with respect to the time-like mean argument of latitude of satellite number 1. Section 5 expresses the form taken by the Newton–Raphson method. In Sect. 6 a baseline is established, the condition number estimation method is expressed, and test results are reported. Conclusions are in Sect. 7. Appendix A describes two arbitrarily chosen cases. Electronic Supplementary Material consisting of the following are linked to the online version of this article: The first file is a “pseudo-code”, intended to show the architecture of the coded algorithm. The other files contain input files, the gfortran code source file, and an output file all suitable to be downloaded and merged with user codes.

2 Kepler’s laws

Since the motion of a single satellite in the fixed center problem requires 6 classical orbital elements (or their equivalents), the relative motion of two satellites requires 12. Imposing the co-periodic condition reduces this to 10, first because the two semi major axes become one, and second, because the difference between the mean anomalies must be constant at all times, implying that only the single difference between the mean anomalies at the epoch is required. Furthermore, only the magnitude of the separation vector is needed. Since this is invariant under rotations of the reference frame, only the difference between the right ascensions of the nodes is required, which reduces the number of parameters to 9. While this is true when the separation distance is expressed in conventional units, the semi-major axis is a scaling factor, and later will be chosen as the unit of length. By dividing out this scaling factor and understanding that it is the unit of length, the algorithm will depend on eight independent parameters. Seven are straightforward orbital elements or differences between them. The eighth can be either of two parameters, subject to a constraint.

This algorithm will be tested by approaching one case known to cause certain classical elements to become indeterminate: that of co-orbital circular motion. This is a region of the domain of the algorithm’ s inputs for which ill-conditioning should occur. Here no greater effort is made to characterize the behavior of this condition number estimator over the eight dimensional domain of inputs.

Because the motion is periodic, the number of proper relative extrema in one period will always be even, and in the form of minimum/maximum pairs.

Conventional symbols for the orbital elements are used, except that the symbol for the semi major axis will be \(r_{c}\) instead of \(a\). The symbols for the right ascension of the ascending node, inclination, argument of perigee, eccentricity and true anomaly are, respectively, \(\varOmega _{j},\;i_{j},\; \omega _{j},\; e_{j}\), and \(\nu _{j}\), where the \(j (=1,2)\) index distinguishes satellites 1 and 2. The mean argument of latitude is the sum of the mean anomaly and the argument of perigee. For example, the mean argument of latitude of satellite 2 is \(M_{2}+\omega _{2}\), where \(M_{2}\) is the mean anomaly of satellite 2. Summarizing: the derivation identifies seven of the independent parameters as: the difference between the right ascensions of the ascending nodes, \(\delta \varOmega =\varOmega _{2}-\varOmega _{1}\), the two inclinations, the two arguments of perigee, and the two eccentricities. The eighth parameter is either the difference between the mean arguments of latitude, called \(\delta \), or the difference between the mean equator crossing longitudes, which will be called \(\delta \xi _{0}\).

The separation function and its derivatives are expressed in terms of well-known explicit functions of the true anomalies and arguments of latitude, \(u_{j}=\nu _{j}+\omega _{j}\). Since the method requires the derivatives of the separation function with respect to time, and since the true anomalies and arguments of latitude are related to the time-like mean anomalies by Kepler’s transcendental equation, this equation, the method for its solution and other necessary classical element results will be stated next in terms of these symbols.

Kepler’s second law expresses the orbit as an ellipse with one focus at the center of attraction, and polar coordinates \(r\) and \(\nu \). In this section the \(j\) subscripts will not be needed since only one satellite is involved. However, subscripts will return temporarily to indicate the order of corrections for the iterative process.

Standard texts such as (Moulton 1956) derive the following equation relating the true anomaly to \(E\), the eccentric anomaly:

$$\begin{aligned} \tan {\nu /2}=\sqrt{(1+e)/(1-e)}\tan {E/2}. \end{aligned}$$
(1)

This determines the true anomaly once the eccentric anomaly is known. Given a time and corresponding mean anomaly, Kepler’s equation,

$$\begin{aligned} M=E-e\sin {E} \end{aligned}$$
(2)

allows the calculation of \(E\). Of the many methods available for solving Kepler’s equation, that of Lagrange (Battin 1999) (p. 202, equation (5.17)) is used to find an initial approximation to \(E\) in terms of \(M\), which includes terms to the seventh power in the eccentricity. While for eccentricities greater than 0.6624.., the Lagrange series is known not to converge for some values of \(M\), this is not a problem here since only an initial estimate is needed, only the first seven terms are retained, and the following iterative procedure will provide convergence.

To this first approximation to \(E,\; E_{0}\), there corresponds a value of \(M\), called \(M_{0}\), which is determined by Kepler’s equation as \(M_{0}=E_{0}-e\sin {E_{0}}\). The remaining steps are described in reference (Moulton 1956) (p. 162), where a Taylor series expansion of \(M\) about \(M_{0}\) in powers of \(E-E_{0}\) leads to the iterative procedure for improving the estimate of \(E\) until the correction satisfies a smallness tolerance criterion called \(\tau _{k}\) at which the iterations stop.Footnote 1

Two final standard results required in what follows in Sect. 4 are the second integral of the motion expressing the conservation of (specific) orbital angular momentum as

$$\begin{aligned} r^{2}d\nu /dt=\sqrt{r_{c}\mu (1-e^{2})}, \end{aligned}$$
(3)

and Kepler’s harmonic law expressing the mean orbital angular speed as

$$\begin{aligned} dM/dt=\sqrt{\mu /r_{c}^{3}}, \end{aligned}$$
(4)

where \(\mu \) is the product of the mass at the center of attraction and the universal gravitational constant.

3 Equation of constraint

An equation of constraint exists between the difference of the mean equator crossing longitudes and the phase angle, or difference of the mean arguments of latitude. It can be derived as follows. Let the Earth be the center of attraction and consider a right handed Earth centered reference frame called the C-frame, which rotates with respect to inertial space at the mean orbital rate about the Earth’s polar axis. The \(Z_{C}\) axis is toward the north celestial pole, and, at the epoch, the \(X_{C}\) axis is toward the zero longitude point on the equator. For geosynchronous orbits this frame is identified with the conventional Earth-fixed frame in which the \(X_{C}\) axis is toward the zero longitude point on the equator at all times. Let \(H\) be the angle between the \(X_{C}\) axis and the direction of the vernal equinox. For geosynchronous orbits H is the Greenwich hour angle of the vernal equinox. Let the longitude-like coordinate be called \(\xi \). For geosynchronous orbits \(\xi \) is the longitude. Let \(\xi _{0j}\) represent the mean equator crossing \(\xi \) coordinate of the jth satellite. That is, if \(\xi _{\uparrow _j}\) and \(\xi _{\downarrow _j}\) are, respectively, the \(\mathbf {\xi }\) coordinates of satellite j when it crosses the equatorial plane from south to north and from north to south during one orbital period, then

$$\begin{aligned} \xi _{0j}=1/2(\xi _{\uparrow _j}+\xi _{\downarrow _j}). \end{aligned}$$
(5)

Given the definition of \(H\), the \(\xi \) coordinates of the ascending and descending nodes can be written

$$\begin{aligned} \begin{aligned} \xi _{ANj}(t)&=\varOmega _{j}-H(t),\\ \xi _{DNj}(t)&=\pi +\varOmega _{j}-H(t). \end{aligned} \end{aligned}$$
(6)

Let the time dependence of \(H\) and \(M_{1}\) be expressed as \(H(t)=H(0)+\dot{u'}t\) and \(M_{1}(t)=M_{1}(0)+\dot{u'}t\), where \(\dot{u'}\) represents both the common mean orbital rate of the satellites (identified by Eq. 4 as \(\sqrt{\mu /r_{c}^{3}}\)), and the rate at which the C-frame rotates about the north polar axis. Solving the second equation for \(\dot{u'}t\) and substituting into the first yield \(H(t)=H(0)+M_{1}(t)-M_{1}(0)\) which allows Eqs. 6 to become

$$\begin{aligned} \begin{aligned} \xi _{ANj}(t)&=\varOmega _{j}-H(0)+M_{1}(0)-M_{1}(t),\\ \xi _{DNj}(t)&=\pi +\varOmega _{j}-H(0)+M_{1}(0)-M_{1}(t). \end{aligned} \end{aligned}$$
(7)

Representing the times of ascending and descending nodal passages by \(t_{\uparrow {j}}\) and \(t_{\downarrow {j}}\), Eqs. 7 imply that

$$\begin{aligned} \begin{aligned} \xi _{\uparrow {_j}}&=\xi _{ANj}(t_{\uparrow _{j}})=\varOmega _{j}-H(0)+M_{1}(0)-M_{1}(t_{\uparrow {_j}}),\\ \xi _{\downarrow {_j}}&=\xi _{DNj}(t_{\downarrow _{j}})=\pi +\varOmega _{j}-H(0)+M_{1}(0)-M_{1}(t_{\downarrow {_j}}) \end{aligned} \end{aligned}$$
(8)

By the definition of \(\delta ,\; M_{1}(t_{\uparrow {_2}})\) and \(M_{1}(t_{\downarrow {_2}})\) in Eq. 8 can be replaced by \(M_{2}(t_{\uparrow {_2}})+\omega _{2}-\omega _{1}-\delta \) and \(M_{2}(t_{\downarrow {_2}})+\omega _2-\omega _{1}-\delta \), respectively, resulting in

$$\begin{aligned} \begin{aligned} \xi _{\uparrow {_2}}&=\varOmega _{2}-H(0)+M_{1}(0)-M_{2}(t_{\uparrow {_2}})-\omega _{2}+\omega _{1}+\delta ,\\ \xi _{\downarrow {_2}}&=\pi +\varOmega _{2}-H(0)+M_{1}(0)-M_{2}(t_{\downarrow {_2}})-\omega _{2}+\omega _{1}+\delta . \end{aligned} \end{aligned}$$
(9)

At \(t_{\uparrow {j}}\) or \(t_{\downarrow {j}}\) the arguments of latitude become \(0\) or \(\pi \), and the true anomalies \(-\omega _{j}\) or \(\pi -\omega _{j}\). Equation 1 yields the corresponding eccentric anomalies, and Eq. 2 the mean anomalies on the right of the \(j=1\) case of Eqs. 8 and on the right of Eq. 9. Substituting from the \(j=1\) case of Eqs. 8 and from Eqs. 9 into Eq. 5 yields:

$$\begin{aligned} \xi _{01}&= \pi /2+\varOmega _{1}-H(0)+M_{1}(0)-[M_{1}(t_{\uparrow 1})+M_{1}(t_{\downarrow 1})]/2.\\ \xi _{02}&= \pi /2+\varOmega _{2}-H(0)+M_{1}(0) -[M_{2}(t_{\uparrow 2})+M_{2}(t_{\downarrow 2})]/2-\omega _{2}+\omega _{1}+\delta . \end{aligned}$$

Since \(\delta \xi _{0}=\xi _{02}-\xi _{01}\), the last two equations lead to the constraint:

$$\begin{aligned} \delta \xi _{0} = \delta +\delta \varOmega -\omega _{2}+\omega _{1} -[M_{2}(t_{\uparrow 2})+M_{2}(t_{\downarrow 2})-M_{1}(t_{\uparrow 1})-M_{1}(t_{\downarrow 1})]/2. \end{aligned}$$
(10)

For geosynchronous motion \(\delta \xi _{0}\) can be chosen as the eighth given parameter, and Eq. 10 can be solved for \(\delta \). This constraint is not meaningful for vanishing eccentricities and/or inclinations.

Each satellite’s equatorial plane crossings’ \(\xi \) coordinates (longitudes) are required to be within that satellite’s assigned “longitude box”. Substituting from the \(j=1\) case of Eq. 8 and from Eq. 9 the differences are \(\delta \xi _{j}=\xi _{{\downarrow }j}-\xi _{{\uparrow }j} =\pi -M_{j}(t_{{\downarrow }j})+M_{j}(t_{{\uparrow }j})\). To second order in the eccentricities, this becomes \(\delta \xi _{j}=4e_{j}\sin {\omega _{j}}\).

4 Separation function and derivatives

Let \(\rho \) be the separation distance between satellites 1 and 2. Then,

$$\begin{aligned} \displaystyle \left( \rho /r_{c}\right) ^2=(\mathbf {r}_{2} -\mathbf {r}_{1})\cdot (\mathbf {r}_{2} -\mathbf {r}_{1})/r_{c}^2, \end{aligned}$$

where \(\mathbf {r}_{j}\) are the position vectors relative to the center of attraction. Let the unit of length be \(r_{c}\) by redefining the symbols for the magnitudes, \(r_{j}\), to represent the ratio of the magnitudes to \(r_{c}\). Then the last equation can be rewritten as \(\rho ^2 = r_{2}^2+r_{1}^2-r_{2}r_{1} 2\hat{\mathbf {r}}_{2} \cdot \hat{\mathbf {r}}_{1}\), where the hats signify unit vectors. To simplify the notation, let

$$\begin{aligned} \begin{aligned} A&=r_{2}^2+r_{1}^2,\\ B&=r_{2}r_{1}, \\ C&= 2\hat{\mathbf {r}}_{2} \cdot \hat{\mathbf {r}}_{1}, \end{aligned} \end{aligned}$$
(11)

so that \(\rho ^2\) becomes

$$\begin{aligned} \rho ^2=A-B{\cdot }C. \end{aligned}$$
(12)

Recall that the independent variable is time, and that for any time the mean anomalies are known. Therefore, as shown in Sect. 2, the true anomalies and arguments of latitude are to be considered implicit functions of time. The radial coordinates are implicit functions of time by virtue of the equation of the ellipse expressed in units of \(r_{c}\) as

$$\begin{aligned} r_{j}=(1-e_{j}^2)/(1+e_{j}\cos {\nu _{j}}). \end{aligned}$$
(13)

Both position unit vectors are expressed in the conventional right-handed Earth-centered inertial frame, the I-frame, in which the \(X_{I}\) axis is toward the vernal equinox, and the \(Z_{I}\) axis is toward the north celestial pole. The result is (Battin 1999 Problem 3-21 page 125):

$$\begin{aligned} \hat{\mathbf {r}}_{j}^{(I)}&= \left( \begin{array}{c}\;\cos {\varOmega _{j}}\cos {u_{j}}-\cos {i_{j}}\sin {\varOmega _{j}}\sin {u_{j}}\\ \sin {\varOmega _{j}}\cos {u_{j}}+\cos {i_{j}}\cos {\varOmega _{j}}\sin {u_{j}}\\ \sin {i_{j}}\sin {u_{j}}\end{array}\right) . \end{aligned}$$
(14)

The first step is to differentiate A, B and C as defined by Eq. 11 each, twice, with respect to time. Then the Newton–Raphson procedure is used to find the extrema of \(\rho \) as those values provided by Eq. 12 at the times when the first time derivative of \(\rho ^2\) vanishes.

Since the semi-major axes are the same, the mean anomalies, \(M_{j}\), have the same proportionality to time, and can be treated as equivalent stand-ins for time. Specifically, given Eq. 4 for the mean orbital rate the time differentiation operator can be written:

$$\begin{aligned} d/dt=(dM_{j}/dt)(d/dM_{j})=\sqrt{\mu /r_{c}^3}d/dM_{j}, \end{aligned}$$
(15)

Therefore, common factors of \(dM_{j}/dt\) can be divided out of any result of differentiation with respect to time. Given the redefinition of \(r_{j}\) stated in the first paragraph of this section an expression for \(du_{j}/dM_{j}\) follows from Eq. 3. Dividing that expression throughout by \(r_{c}^{2}\) and recalling Eq. 4 yield the following form in length units of \(r_{c}\):

$$\begin{aligned} r_{j}^{2}d\nu _{j}/dM_{j}=r_{j}^{2}du_{j}/dM_{j}=\sqrt{1-e_{j}^2}. \end{aligned}$$
(16)

It will be convenient to introduce a special symbol, \(u'\), for the mean argument of latitude of satellite 1Footnote 2:

$$\begin{aligned} u'=M_{1}+\omega _{1}. \end{aligned}$$

Since \(\delta \) is the difference between the mean arguments of latitude (\(\delta =(M_{2}+\omega _{2})-u'\)),

$$\begin{aligned} d/dM_{1}=d/dM_{2}=d/du'. \end{aligned}$$
(17)

The choice of \(u'\) as the time-like independent variable implies that the true anomalies are determined by solving Kepler’s equation. Consider A. By the first of Eqs. 11:

$$\begin{aligned} dA/du'=2 \left[ r_{2}dr_{2}/du'+r_{1}dr_{1}/du'\right] . \end{aligned}$$
(18)

By Eqs. 13 and 16 the \(dr_{j}/du'\) factors in the last result become

$$\begin{aligned} dr_{j}/du'=e_{j}\sin {\nu _{j}}\Big /\sqrt{1-e_{j}^2}. \end{aligned}$$
(19)

Substituting into Eq. 18 yields

$$\begin{aligned} dA/du'=2\left[ r_{2}e_{2}\sin {\nu _{2}}\Big /\sqrt{1-e_{2}^2}+r_{1}e_{1}\sin {\nu _{1}}\Big /\sqrt{1-e_{1}^2}\right] . \end{aligned}$$
(20)

The result for the first derivative of B is

$$\begin{aligned} dB/du'=r_{2}e_{1}\sin {\nu _{1}}\Big /\sqrt{1-e_{1}^2}+r_{1}e_{2}\sin {\nu _{2}} \Big /\sqrt{1-e_{2}^2}. \end{aligned}$$
(21)

Differentiation of Eq. 20 yields (again using Eqs. 13 and 16):

$$\begin{aligned} d^{2}A/du'^{2}=2\left( \left[ \frac{e_{2}\sin {\nu _{2}}}{\sqrt{1-e_{2}^{2}}}\right] ^{2}+\left[ \frac{e_{1}\sin {\nu _{1}}}{\sqrt{1-e_{1}^{2}}}\right] ^{2}+\frac{e_{2}\cos {\nu _{2}}}{r_{2}}+\frac{e_{1}\cos {\nu _{1}}}{r_{1}}\right) . \end{aligned}$$
(22)

Similar use of Eqs. 16, 17 and 19 applied to the result of differentiating Eq. 21 yields:

$$\begin{aligned} d^{2}B/du'^{2}=\frac{r_{2}}{r_{1}^{2}}e_{1}\cos {\nu _{1}}+\frac{r_{1}}{r_{2}^{2}}e_{2}\cos {\nu _{2}}+2\frac{e_{2}e_{1}\sin {\nu _{2}}\sin {\nu _{1}}}{\sqrt{1-e_{2}^{2}}\sqrt{1-e_{1}^{2}}}. \end{aligned}$$
(23)

Using Eq. 14 in \(C=2\hat{\mathbf {r}}_{1} \cdot \hat{\mathbf {r}}_{2}\) yields a sum of four terms each of which contains one of the following four forms as a common factor: \(\sin {u_{2}}\sin {u_{1}},\sin {u_{2}} \cos {u_{1}}, \cos {u_{2}}\sin {u_{1}},\cos {u_{2}} \cos {u_{1}}\). The products of sines and cosines of the nodes appear in forms like \(\sin {\varOmega _{2}}\sin {\varOmega _{1}}+\cos {\varOmega _{2}}\cos {\varOmega _{1}}\), and by trigonometric identities become sines and cosines of \(\delta \varOmega =\varOmega _{2}-\varOmega _{1}\). Trigonometric identities such as \(\sin {u_{2}}\cos {u_{1}}=[\cos {(u_{2}+u_{1})}+\cos {(u_{2}-u_{1})}]/2\) lead to a new expression with four new terms, each involving a factor of a sine or cosine of either the difference \(u_{2}-u_{1}\), or the sum \(u_{2}+u_{1}\). With the following definitions,

$$\begin{aligned} \begin{aligned} g&= -(\cos {i_{2}}+\cos {i_{1}})\sin {\delta \varOmega }, \\ h&= (1+\cos {i_{2}}\cos {i_{1}})\cos {\delta \varOmega }+\sin {i_{2}}\sin {i_{1}}, \\ m&= -(\cos {i_{2}}-\cos {i_{1}})\sin {\delta \varOmega }, \\ n&= (1-\cos {i_{2}}\cos {i_{1}})\cos {\delta \varOmega }-\sin {i_{2}}\sin {i_{1}}, \end{aligned} \end{aligned}$$
(24)

the result is

$$\begin{aligned} C=g\sin {(u_{2}-u_{1})}+h\cos {(u_{2}-u_{1})} +m\sin {(u_{2}+u_{1})}+n\cos {(u_{2}+u_{1})}. \end{aligned}$$
(25)

Note that \(C\) is form invariant for co-periodic and non co-periodic orbits. Differentiating Eq. 25 and using Eqs. 15 and 16 yield

$$\begin{aligned} dC/du'&= (g\cos {(u_{2}-u_{1})}-h\sin {(u_{2}-u_{1}}))\left[ \sqrt{(1-e_{2}^{2})}/r_{2}^{2}-\sqrt{(1-e_{1}^{2})}/r_{1}^{2}\right] \nonumber \\&+(m\cos {(u_{2}+u_{1})}-n\sin {(u_{2}+u_{1})})\left[ \sqrt{(1-e_{2}^{2})}/r_{2}^{2}+\sqrt{(1-e_{1}^{2})}/r_{1}^{2}\right] .\nonumber \\ \end{aligned}$$
(26)

Differentiation of the last expression and substitution from Eqs. 16 and 19 yield

$$\begin{aligned} d^{2}C/du'^{2}&= -2(g\cos {(u_{2}-u_{1})}-h\sin {(u_{2}-u_{1}}))\left[ e_{2}\sin {\nu _{2}}/r_{2}^{3}-e_{1}\sin {\nu _{1}}/r_{1}^{3}\right] \nonumber \\&-2(m\cos {(u_{2}+u_{1})}-n\sin {(u_{2}+u_{1})})\left[ e_{2}\sin {\nu _{2}}/r_{2}^{3}+e_{1}\sin {\nu _{1}}/r_{1}^{3}\right] \nonumber \\&-(g\sin {(u_{2}-u_{1})}+h\cos {(u_{2}-u_{1}}))\left[ \sqrt{1-e_{2}^{2}}/r_{2}^{2}-\sqrt{1-e_{1}^{2}}/r_{1}^{2}\right] ^{2}\nonumber \\&-(m\sin {(u_{2}+u_{1})}+n\cos {(u_{2}+u_{1})})\left[ \sqrt{1-e_{2}^{2}}/r_{2}^{2}+\sqrt{1-e_{1}^{2}}/r_{1}^{2}\right] ^{2}\!.\nonumber \\ \end{aligned}$$
(27)

5 The Newton–Raphson method

The nine functions derived in the last section for \(A\), \(B\), and \(C\) and their first and second derivatives with respect to \(u'\), (the first two of Eq. 11, and Eqs. 202122232526 and 27) will be used in applying the classical Newton–Raphson method to locating the relative extrema of \(\rho ^{2}\). Equation 12 implies that

$$\begin{aligned} \begin{aligned} \rho ^{2}&=A-B{\cdot }C,\\ d\rho ^{2}/du'&=dA/du'-C{\cdot }dB/du'-B{\cdot }dC/du',\\ d^{2}\rho ^{2}/du'^{2}&=d^{2}A/du'^{2}-2dB/du'{\cdot }dC/du'- d^{2}B/du'^{2}{\cdot }C- B{\cdot }d^{2}C/du'^{2}. \end{aligned} \end{aligned}$$
(28)

The Newton–Raphson method requires initial approximations to the values of \(u'\) for which \(\frac{d\rho ^{2}}{du'}\) passes through zero. As noted in Sect. 1 branch-and-bound optimizers utilizing domain reduction methods (Armellin et al. 2010) and employing the techniques of interval analysis (Moore et al. 2009) also have been used to locate these critical points. The author has chosen instead to rely upon the conventional sampling method described in this section. It is simple and fails only if the limit of the arithmetic precision of the host software is approached either while locating the neighborhood of \(u'\) in which the sign of \(\frac{d\rho ^{2}}{du'}\) changes or in estimating a proper relative extreme separation. Before describing this sampling method the limiting case of near circular motion will be mentioned. In that case the above formulae imply that a solution is

$$\begin{aligned} u'_{10} = 1/2\left( \arctan (m/n)-\delta \right) , \end{aligned}$$

where \(m\) and \(n\) are given by Eqs. 24. This results because for circular orbits \(r_{1}=r_{2}=1\) and \(C\) reduces to \(g\sin {\delta }+h\cos {\delta }+m\sin {(2u'+\delta )}+n\cos {(2u'+\delta )}\). Equating the derivative of the resulting form for \(\rho ^{2}\) to zero implies that \(m\cos {(2u'+\delta )}= n\sin {(2u'+\delta )}\) and leads to this estimate of one of the critical points. Since the orbits are circular the approximations to the other three critical points differ from this approximation by \(\pi /2\), \(\pi \), and \(3\pi /2\) radians.

Initial approximations are found by sampling the values of \(\frac{d\rho ^{2}}{du'}\), and identifying those \(u'\) at which this rate of change changes sign. The sampling is at intervals of 1/8 degree of the true anomaly of satellite 1 and over the 360 degree range of \(\nu _{1}\). To each such initial approximation to the true anomaly at which the sign of \(\frac{d\rho ^{2}}{du'}\) changes there corresponds a value of \(u'\). Let the initial approximations to \(u'\) found in this way be called \(u'_{k0}\), where \(k=1,2,3,...k_{max}\).

Consider a Taylor series expansion of \(d\rho ^{2}/du'\) about any one of these points:

$$\begin{aligned} \left. d\rho ^{2}/du'\displaystyle \right] _{u'=u'_{k}}= \left. d\rho ^{2}/du'\displaystyle \right] _{u'=u'_{k0}}+\left. d^{2}\rho ^{2}/du'^{2}\displaystyle \right] _{u'=u'_{k0}}(u'_{k}-u'_{k0})+..., \end{aligned}$$

where \(u'_{k}\) represents the correct location of the \(k\)th zero of \(\frac{d\rho ^{2}}{du'}\). The classical Newton–Raphson method proceeds by dropping the terms of second and higher order in \(u'_{k}-u'_{k0}\), setting the left side to zero, letting \(u'_{k1}\) be the new estimate of \(u'_{k}\) on the right, and solving for \(u'_{k1}\), which yields:

$$\begin{aligned} u'_{k1}=u'_{k0}-\left. \frac{d\rho ^{2}}{du'}\displaystyle \Big / \frac{d^{2}\rho ^{2}}{du'^{2}}\right] _{u'=u'_{k0}}. \end{aligned}$$
(29)

Equation 28 now can be reevaluated at \(u'=u'_{k1}\), and a second correction calculated by Eq. 29, where \(u'_{k1}\) and \(u'_{k0}\) are replaced, respectively, by \(u'_{k2}\) and \(u'_{k1}\). This is repeated until the absolute value of the correction becomes smaller than the tolerance, \(\tau _{n}\). The choice of \(\tau _{n}\) and \(\tau _{k}\) (see footnote 1) will be discussed in the next section.

6 Conditioning estimates

Following a description of the condition number formulation, coded equations are derived, and a baseline and strategy are developed for estimating the accuracy of solutions. Two tests demonstrate the strategy: In the first the limit of a sequence of decreasingly eccentric cases is that of co-planar circular orbits with \(\delta =1\) degree. In a second sequence \(\delta =0\). The second test involves highly eccentric orbits.

Adopting the conventions of Higham, (cf. pp. 462 ff) (Higham 2002) the input data vector is called \(d_{j},j=1,..8\) , where

$$\begin{aligned} d^{T}=(d_{1},d_{2},..,d_{8})^{T}=(\delta ,\delta \varOmega ,i_{1},i_{2},\omega _{1},\omega _{2},e_{1},e_{2})^{T}. \end{aligned}$$
(30)

Because the conditioning of the \(u'_{k}\) and \(\rho _{k}\) \((k=1,..,k_{max})\) differ two solution vectors are defined as

$$\begin{aligned} f^{T}_{u'}(d)&= (f_{u'1}(d),...f_{u'k_{max}}(d))^{T}=(u'_{1},...,u'_{k_{max}})^{T}\nonumber \\ f^{T}_{\rho }(d)&= (f_{\rho 1}(d),...f_{{\rho }k_{max}}(d))^{T}=(\rho _{1},...,\rho _{k_{max}})^{T}. \end{aligned}$$
(31)

In the spirit of Higham functions \(F_{u'}(x_{u'};d)\) and \(F_{\rho }(x_{\rho };d)\) are defined as

$$\begin{aligned} \begin{aligned}&F_{u'}(x_{u'};d)=x_{u'}-f_{u'}(d) \\&F_{\rho }(x_{\rho };d)=x_{\rho }-f_{\rho }(d), \end{aligned} \end{aligned}$$
(32)

where \(F_{u'}(x_{u'};d)=0\) and \(F_{\rho }(x_{\rho };d)=0\) are satisfied by \(x_{u'}^{*}=f_{u'}(d)\) and \(x_{\rho }^{*}=f_{\rho }(d)\) respectively. Higham concludes that the condition numbers are [his equation (25.11)]:

$$\begin{aligned} \begin{aligned}&cond(F_{u'},x_{u'}^{*};d)=||F_{u'x}(x_{u'}^{*};d)^{-1}F_{u'd}(x_{u'}^{*};d)||(||d||/||x_{u'}^{*}||) \\&cond(F_{\rho },x_{\rho }^{*};d)=||F_{\rho x}(x_{\rho }^{*};d)^{-1}F_{\rho d}(x_\rho ^{*};d)||(||d||/||x_{\rho }^{*}||), \end{aligned} \end{aligned}$$
(33)

where \(F_{u'x}\) and \(F_{\rho x}\) are Jacobians of partial derivatives of components of \(F_{u'}\) and \(F_{\rho }\) with respect to components of \(x_{u'}\) and \(x_{\rho }\), and \(F_{u'd}\) and \(F_{\rho d}\) are Jacobians of partial derivatives of components of \(F_{u'}\) and \(F_{\rho }\) with respect to the components of \(d\). Therefore, by Eqs. 32 each of \(F_{u'x}\) and \(F_{\rho x}\) is the \(k_{max}\times {k_{max}}\) identity matrix. Let \(J^{u'}\) and \(J^{\rho }\) represent \(F_{u'd}(x_{u'}^{*};d)\) and \(F_{\rho d}(x_{\rho }^{*};d)\) so that the last two equations become

$$\begin{aligned} \begin{aligned} cond(F_{u'},x_{u'}^{*};d)&=||J^{u'}||(||d||/||x_{u'}^{*}||)\\ cond(F_{\rho },x_{\rho }^{*};d)&=||J^{\rho }||(||d||/||x_{\rho }^{*}||). \end{aligned} \end{aligned}$$
(34)

Explicitly, the elements of the Jacobians are

$$\begin{aligned} \begin{aligned} J^{u'}_{ ij}&=\left. \partial {F_{u'i}}/\partial {d_{j}}\displaystyle \right] _{x_{u'}=x_{u'}^{*}}=-\left. \partial {f_{u'i}(d)}/\partial {d_{j}}\displaystyle \right] _{x_{u'}=x_{u'}^{*}} \\ J^{\rho }_{ ij}&=\left. \partial {F_{\rho i}}/\partial {d_{j}}\displaystyle \right] _{x_{\rho }=x_{\rho }^{*}}=-\left. \partial {f_{\rho i}(d)}/\partial {d_{j}}\displaystyle \right] _{x_{\rho }=x_{\rho }^{*}}. \end{aligned} \end{aligned}$$
(35)

The“2-norm” or Euclidean length is chosen for the norms of \(d\), \(x^{*}_{u'}\) and \(x^{*}_{\rho }\). Therefore,

$$\begin{aligned} \begin{aligned}&\Vert d||=\left[ \sum _{j=1}^{8}|d_{j}|^{2}\right] ^{1/2}, \\&\Vert x_{u'}^{*}||=\left[ \sum _{i=1}^{k_{max}}|x_{u'i}^{*}|^{2}\right] ^{1/2},\\&\Vert x_{\rho }^{*}||=\left[ \sum _{i=1}^{k_{max}}|x_{\rho i}^{*}|^{2}\right] ^{1/2}. \end{aligned} \end{aligned}$$
(36)

Using Frobenius norms, i.e.: \(||J^{u'}||_{F}=[trace(J^{u'*}J^{u'})]^{1/2}\) and \(||J^{\rho }||_{F}=[trace(J^{\rho *} J^{\rho })]^{1/2}\) in Eq. 34 results in

$$\begin{aligned} \begin{aligned}&cond(F_{u'},x_{u'}^{*};d)=[trace(J^{u'*}J^{u'})]^{1/2}||d||/||x_{u'}^{*}||, \\&cond(F_{\rho },x_{\rho }^{*};d)=[trace(J^{\rho *}J^{\rho })]^{1/2}||d||/||x_{\rho }^{*}||. \end{aligned} \end{aligned}$$
(37)

The matrices \(J^{u'}\) and \(J^{\rho }\) of Eqs. 35 are determined by differencing the results of executing the algorithm with sequential offsets of each element of the data vector, \(d\). Centered finite differencing for the partial derivatives involves the following steps: Invoke the Kronecker delta symbol and define the \(j\)th element of the data vector for positive and negative offsets of the \(l\)th element of the data vectors as

$$\begin{aligned} \begin{aligned}&pd^{l}_{j}=d_{j}+\epsilon _{d}\delta ^{l}_{j} \\&md^{l}_{j}=d_{j}-\epsilon _{d}\delta ^{l}_{j}, \end{aligned} \end{aligned}$$
(38)

Let the \(i\)th element of the resulting solution vectors be

$$\begin{aligned} \begin{aligned}&pf^{l}_{u'i}=f_{u'i}(pd^{l}), \\&mf^{l}_{u'i}=f_{u'i}(md^{l}), \\&pf^{l}_{\rho i}=f_{\rho i}(pd^{l}),\\&mf^{l}_{\rho i}=f_{\rho i}(md^{l}). \end{aligned} \end{aligned}$$
(39)

By Eqs. 35 the centered finite difference approximations to the Jacobians become (Abramowitz and Stegun 1964) (p. 883, formula 25.3.21)

$$\begin{aligned} \begin{aligned} J^{u'}_{ij}&=-\partial {f_{u'i}}/\partial {d_{j}}=-\left( pf^{j}_{u'i}-mf^{j}_{u'i}\right) /2\epsilon _{d},\\ J^{\rho }_{ij}&=-\partial {f_{\rho i}}/\partial {d_{j}}=- \left( pf^{j}_{\rho i}-mf^{j}_{\rho i}\right) /2\epsilon _{d}. \end{aligned} \end{aligned}$$
(40)

These Jacobians have \(k_{max}\) rows and 8 columns.

The choice of \(\epsilon _{d}\) is half the square root of the Fortran numeric inquiry function called EPSILON. On an IEEE compliant iMac in double-precision that is about \(7.45\times 10^{-9}\). This is a good strategy in this case because differences are required of almost equal quantities. The estimates of the condition numbers should be of the correct order of magnitude and can afford to lose many significant digits. Substitutions from Eqs. 40 for the Jacobians, and from Eqs. 36 for \(||d||,\; ||x^{*}_{u'}||\) and \(||x^{*}_{\rho }||\) into Eqs. 37 yield the condition numbers of \(f_{u'}\) and \(f_{\rho }\).

Higham (2002) states that “\(Accuracy\) refers to the absolute or relative error of an approximate quantity. \(Precision\) is the accuracy with which the basic arithmetic operations +,-,*,/ are performed, and for floating point arithmetic is measured by the unit roundoff u”. Since the unit roundoff is half the EPSILON intrinsic function introduced in the last paragraph, about \(1.1\times 10^{-16}\) on the iMac in double precision, the number of significant digits in the data may be taken as 16, and neither tolerance can be chosen smaller than \(10^{-16}\). Because there is no reason to impose a smaller tolerance on the stopping of the Kepler equation solver than on the stopping of the Newton–Raphson iterator the same choice is made for \(\tau _{k}\) and \(\tau _{n}\). The solutions will have fewer than sixteen significant digits because they are generated by the algorithm, and it is characterized by less than perfect conditioning. (Perfection would mean the condition number estimates would be one.) A baseline case for identifying the highest accuracy possible is necessary. It involves the important parts of the code, presents no special difficulty in converging on solutions, and is determined by the data in Table 1, which also includes the tolerances, “earth rate factor”, initially sampled satellite 1 true anomaly and sampling interval. The rate factor, \(perf\), multiplies the earth rate physical constant, \(\omega _{\oplus }\), and determines the scale factor \(r_{c}\). For example setting \(perf\) to unity results in

$$\begin{aligned} r_{c}=\left[ \mu /(perf\cdot \omega _{\oplus })^{2}\right] ^{1/3}=42164.174420503\ \mathrm {km}, \end{aligned}$$

where \(\omega _{\oplus }\) and \(\mu \) are:

$$\begin{aligned}&\omega _{\oplus }=7.292115145999999\times {10^{-05}}\ \mathrm {rad/s},\\&\mu =398600.5 \ \mathrm {km^{3}/s^{2}}. \end{aligned}$$

These physical parameters only determine the scale factor. The accuracy estimates are based on the normalized units in which the angles and separations are respectively in radians and \(r_{c}\) units. In this sense the accuracy estimates do not depend on \(perf\), \(\omega _{\oplus }\), or \(\mu \).

Table 1 Baseline case data vector, tolerances, rate factor, sat 1 initial true anomaly, and sampling interval

Only one pair of proper relative extrema were found for the baseline \((k_{max}=2)\). A second run exchanged the roles of the satellites and, therefore, required changes of the signs of \(\delta \) and \(\delta \varOmega \). The results of the two runs were compared, and the smallest number of common most significant digits was confirmed to be 14 for both solutions. The small condition numbers were 2.13 and 7.24 respectively. Let \(\left. N_{u'}\displaystyle \right] _{d.p.}\) and \(\left. N_{\rho }\displaystyle \right] _{d.p.}\) represent double precision accuracies based on condition numbers. The baseline then implies that in general

$$\begin{aligned} \begin{aligned} \left. N_{u'}\displaystyle \right] _{d.p.}&=14-\log {[cond(F_{u'},x_{u'}^{*};d)]},\\ \left. N_{\rho }\displaystyle \right] _{d.p.}&=15-\log {[cond(F_{\rho },x_{\rho }^{*};d)]}, \end{aligned} \end{aligned}$$
(41)

since both formulae provide the 14 significant digits in the baseline case, when the logarithms are rounded to nearest integers.

A second test was performed. Creating single precision codes allowed another two solutions to be found and compared by interchanging satellite labels. This showed that the smallest number of most significant digits held in common by both solutions was six. Using logic similar to that just applied to the double precision baseline results in the following formulae for single precision condition number accuracy estimates:

$$\begin{aligned} \begin{aligned}&\left. N_{u'}\displaystyle \right] _{s.p.}=&6-\log {[cond(F_{u'},x_{u'}^{*};d)]} \\&\left. N_{\rho }\displaystyle \right] _{s.p.}=&7-\log {[cond(F_{\rho },x_{\rho }^{*};d)]}, \end{aligned} \end{aligned}$$
(42)

Between the single- and double-precision results the condition numbers themselves were in agreement to 5 places for \(cond(F_{u'},x_{u'}^{*};d)\) and 3 for \(cond(F_{\rho },x_{\rho }^{*};d)\). In the tests reported later in this section the last four formulae will allow accuracy estimate comparisons for stressing cases.

The number of data vectors involved in a case totals seventeen. One of these determines the nominal solution, eight correspond to offsets by \(+\epsilon _{d}\) to each data vector element, and eight to offsets by \(-\epsilon _{d}\). Each calculation first finds the \(k_{max}\) initial approximations to the mean arguments of latitude, \(u'_{k0}\), in a sequence monotone increasing in the angles over the (0,360) degree range. Each code resorts the extrema found by the filter and leaves them monotone increasing in the \(u'_{k0}\) and starting with the smallest.

With these conventions established the first sequence of cases for the first stress test will be considered. Six data elements are common to all cases in the sequence and are given in Table 2, where it should be understood that for runs involving the interchange of identities the sign of \(\delta \) must be reversed.

Table 2 Vector elements held constant for the first stress test sequence 1a

In each precision and for each case, a straight run, with the larger eccentricity considered \(e_{1}\), is followed by a second with the identities interchanged. As in the baseline case, visual inspection of the solutions allows identification of the number of left-most digits held in common. These estimates are called \(N^{vis}_{u'}\) and \(N^{vis}_{\rho }\). The condition number-based estimates of accuracy are as defined by Eqs. 41 and 42, where the subscripts distinguish the two precision models. The subscripts will be dropped unless needed. For each \(x^{*}_{u'}\) solution some correspondence is to be expected among the \(-\)log\((\tau _{k})\), \(N_{u'}\), and \(N^{vis}_{u'}\) measures of accuracy, and for each \(x^{*}_{\rho }\) solution some correspondence is expected between \(-\hbox {log}({\tau _{k}})\) and \(N_{\rho }\). In this sequence the visual inspections show very high agreement in the \(N^{vis}_{\rho }\) measure. The co-planar and near circular nature of the motion renders the separation extremely close to constant, and this agreement is not a meaningful measure of accuracy for these cases. In the double precision estimates as the first derivative of the square of the separation is sampled through zero, the calculated separation is unchanged to 17 significant digits over a range of \(u'\) on the order of 1/8th degree, and results from taking the square root of \(\rho ^{2}\), which cannot be accurate to 17 significant digits.

In both sequences of the first test the smaller of the two eccentricities is set to \(\epsilon _{d}\). This ensures that negative eccentricities will not occur in constructing the Jacobians. Specifically, \(md_{7}^{7}=e_{1}-\epsilon _{d}\) and \(md_{8}^{8}=e_{2}-\epsilon _{d}\) (cf. Eqs.  38) are prevented from becoming negative.

Under an interchange of satellite identities the \(N_{u'}\) will not be in exact agreement because the \(u'_{k}\) solutions are then those of the other satellite. They are in agreement to within three significant digits. The \(N_{\rho }\) are in excellent agreement as expected.

Based upon the data in Table 2, Fig. 1 shows accuracy estimates for which the larger eccentricity, \(e_{larger}\), ranges from \(5\times {10^{-8}}\) to \(10^{-1}\) for sequences 1a (left) and 1b (right). Attempts to drop below the smallest value considered for \(e_{larger}\) caused the filter to fail. The rate became so negligible that its absolute value approached the unit roundoff, and the filter was unable to detect changes of sign in \(\frac{d\rho ^{2}}{du'}\). For \(\delta =1\) degree (left), in both precisions, \(N_{u'}\) drops sharply at a largest eccentricity of \(1.19\times {10^{-2}}\), where the number of extrema changes from 2 to 4 as the log of the largest eccentricity increases. In this same neighborhood of the abscissa the double precision \(N_{\rho }\) starts improving from about 12–13 and the single precision from 4 to 5 at \(e_{larger}=10^{-1}\). For \(\delta =0\) (right) in both precisions the condition number estimates (in dot-dashes for \(N_{u'}\) and dots for \(N_{\rho }\)) are superimposed. Also, in the double precision results the tolerance-based estimates (in solid) and the straight and interchanged identity estimates (in dashes) are consistently higher than the condition number estimates by about one significant digit, while that is not true of the single-precision results. In sequence 1b \(k_{max}\) remains unchanged at 4.

Fig. 1
figure 1

Accuracy estimates are shown as a non-zero constant separation is approached [\(\delta =1\) degree (left)] and as the separation vanishes [\(\delta =0\) (right)]. In both sequences the upper curves are double- and the lower single-precision estimates. Solid are \(-log(\tau _{k})\), dot-dashed \(N_{u'}\), dots \(N_{\rho }\), and dashes are \(N^{vis}_{u'}\). The single precision codes could not converge on solutions for abscissae less than \(-4\)

In each sequence the coplanar decreasingly eccentric orbits’ condition results in the separation of the limiting case (of smallest larger eccentricity) becoming \(2r_{c}\sin {\delta /2}\). In units of \(r_{c}\) this is 0.017 for sequence 1a, and near vanishing for sequence 1b.

In sequence 1b, for the smallest value of \(e_{larger}\), \(5\times {10^{-8}}\), the code calculates the function \(\rho ^{2}(u')\) displayed in left panel of Fig. 2. This results from the classical cancellation effect of subtracting almost equal numbers and losing significance. Because the first and second derivatives of this function are much smoother and do not suffer from cancellation the Newton–Raphson method is successful in taming this so well that the proper extrema estimates are correct to 6 significant digits. The double precision results for that case are in Table 3.

Fig. 2
figure 2

Separation squared versus \(u'\) is shown for the limiting case of sequence 1b (left). Note the effects of approaching the limit in the number of significant digits. The rate of change of the separation squared versus \(u'\) is shown for the high eccentricity test (right)

Table 3 Solutions and accuracies for \(e_{larger} = 5 \times 10^{-8}\) and \(\delta = 0 \, \text{ deg }\) from sequence 1b

High Eccentricity Test: Again six elements of the data vector are unchanged and are as described in Table 2, except that \(\delta \) is again 0 degree. Table 4 shows the accuracy estimates and solution elements in conventional units. The right panel of Fig. 2 displays the behavior of the rate of change of \(\rho ^{2}\) for this test.

Table 4 High eccentricity test: input tolerance(s) and eccentricities, and resulting accuracies and extrema for geosynchronous orbits

7 Conclusions

Using an unperturbed Kepler model of relative motion for co-periodic satellites, three methods were compared to determine the number of significant digits in estimating separation function extrema. One is based on the minimum tolerances for the numerical processes that allow convergence, a second on the symmetry expected in the separation function when satellite labels are interchanged, and the third on the formalism of condition number estimation. Two tests’ results suggest that the latter is a reliable measure of conditioning. More extensive testing of the algorithm is beyond the scope of this article because the domain of the eight input parameters is too large. The range of the output function is a case-dependent even number, \(k_{max}\), of timed relative extrema, where a small change in an input parameter can cause a change in \(k_{max}\). It is likely that uncertainties caused by ill-conditioning will be gratifyingly negligible compared to those caused by real world input uncertainties and modeling errors in physically meaningful cases.

The ideal case of Kepler motion can be represented to any accuracy by this algorithm provided the precision of the arithmetic is high enough.

This study is most applicable to common period systems of satellites. However, similar algebra and logic are easily applied to the more general ten parameter problem of not-necessarily-equal period relative motion extrema, the subject of a future study.

8 Appendix A: Example cases

Table 5 shows the data vector, tolerances and rate factor for collocated satellites in geosynchronous orbits. Extrema solutions and accuracy estimates for this case are in Table 6.

Table 5 Case 3: Collocated geosynchronous satellites’ data vector, tolerances and rate factor
Table 6 Case 3: Solutions and accuracy estimates

The last example, case 4, is one of extreme collocation for highly eccentric 12 h orbits described in Table 7. Solutions and accuracy estimates are in Table 8. For this case \(r_{c}=\left[ \mu /(perf\cdot \omega _{\oplus })^{2}\right] ^{1/3}=26561.765451915278 \, \text{ km }\). In this case \(N_{u'}\) and \(N_{\rho }\) are on the order of 9 and 8, respectively. However, \(N_{u'}^{vis}\) and \(N_{\rho }^{vis}\) are 5 and 3. Accordingly, the \(u'\) and \(\rho \) entries in Table 8 are shown to those 5 and 3 digits, respectively. This discrepancy is surprising, and an explanation is being sought. There is consistency between the tolerance- and condition number-based estimates.

Table 7 Case 4: Collocated highly eccentric 12 h satellites’ data vector, tolerances and rate factor
Table 8 Case 4: Extrema solutions and accuracy estimates