In a previous work we used a simpler algorithm to compute the time evolution of an Earth crossing asteroids without removal of the singularities of collision [Milani and Gronchi 1999], but the procedure was not reliable, depending in an unstable way upon the nodal distance at each Runge-Kutta substep. Thus it was possible to compute proper elements only for one asteroid at a time, and with comparatively frequent human interventions in the computational procedure. To compute proper elements for hundreds of NEA's we need numerically stable algorithms and fully automated, reliable software.
The method of Kantorovich, besides being an essential tool in the theoretical proof of the existence of the generalized solutions, is employed in this work in the numerical integration algorithm when an orbit is very close to a node crossing. This stabilizes the computation even when the nodal distance is small and the averaging integrals are ``almost improper'', that is with very sharp extrema.
When the node crossing point is reached within the required precision, the integration needs to restart from there for the next step. In the implicit Runge-Kutta schemes the following step restarts the iterations (to solve the implicit equations) from a first guess, obtained by polynomial extrapolation, of the values used in the previous step. This would fail in this case, because of the discontinuous jump of the right-hand side of (3); we apply to the first guess, extrapolated from values computed before the jump, a correction computed by means of the explicit analytical formula for the jump of the derivatives of (see Appendix).
There are a number of technicalities involved in the regula falsi method to arrive at the node crossing line exactly at the end of one integration step. The main problem is that, the right hand side being discontinuous on the node crossing line, the integration steps need to be controlled to be rather shorter than longer than the exact time span to node crossing, to avoid running into the discontinuous behavior. The regula falsi iterations can start only when a change in the sign of the nodal distance takes place between the last intermediate point of the step and the beginning of the next step (with the symbols used in Figure 3, the node crossing line must be between the last cross and the next circle). If a change of sign already occurs in the intermediate points, the stepsize is halved. Even when no change of sign occurs in the current step, an extrapolation algorithm is used to predict whether a node crossing could take place in the next step. For this purpose, the stepsize to crossing is computed in two ways, by regula falsi, that is by a linear extrapolation, and by polynomial extrapolation; the minimum of the two is taken as a prudent estimate of the stepsize to crossing. If the stepsize to crossing is less than the stepsize used in the non crossing portion of the integration, the stepsize of the integration is adjusted to this prediction, to avoid ``overshooting'' of the node crossing line.
A separate regula falsi algorithm is used to compute the value of the orbital elements solution of the averaged equations exactly at the symmetry lines (which are ); the computation of the proper elements requires, at least for the circulation and symmetric libration cases (see Section 5), to compute the solution of the averaged equations between two successive crossings of the symmetry lines. The complete secular evolution is obtained by means of the symmetries and .
The computation of the proper frequencies requires some additional
comment. Let us suppose we have, from the output of the numerical
integration of the averaged equations, the times
and at which
and
,
respectively, and the
corresponding values
and
of the longitude
of the node. The secular frequency of the argument of perihelion is
computed taking into account that in this case
must be
circulating: because of the symmetries, the period of this
circulation must be four times the time interval required by an
increase by :
The symmetric libration cases are different in that
returns
to the same multiple of
after a time interval ,
while in the same time span
has changed by
.
Then
is not a proper frequency (its secular part is by
definition zero), and by arguments similar to the ones above, the
libration frequency
and the secular frequency of the node
can
be computed by
In the asymmetric libration case the procedure to terminate the numerical integration and to compute the proper frequencies would have to be different, but, as discussed in Section 5, this case did not occur in the proper elements catalogs we have computed so far.