Keywords

1 Introduction

In libration point missions, spacecraft are sent to orbits that stay close to the fixed points of the circular, spatial, restricted three-body problem (RTBP) with primaries the Sun and a planet, or a planet and a moon. The RTBP model describes the motion of an infinitesimal particle under the attraction of two massive bodies known as primaries, that are assumed to revolve uniformly in circles around their center of mass. In rotating coordinates, this model has five equilibrium points: three of them, L 1, L 2, L 3, also known as collinear, were discovered by Euler, and two more, L 4, L 5, also known as triangular, were discovered by Lagrange. Compared to orbits around the Earth or other planets, orbits around the collinear libration points provide ideal locations for space observation. Among their advantages are the absence of shadow of a celestial body, thus providing a more stable thermal environment, and continuous access to the whole celestial sphere, except for a direction, that is not fixed but rotates with the primaries. Also, the instability of the collinear libration points gives rise to a very rich dynamical structure, that can be exploited not only to search for operational nominal orbits but also to find low-energy passageways between them. These operational orbits could be either of the libration point type or around celestial bodies.

Four examples of libration point missions of different kinds are:

  • SOHO, launched in Dec. 1995, to an Halo orbit around the collinear point L 1 of the Earth-Sun system. Its goal is to provide continuous observations of the Sun, and is still operational.

  • WMAP, launched in June 2001, to a Lissajous orbit around the collinear point L 2 of the Earth-Sun system. Its goal was to map the temperature fluctuations of the cosmic microwave radiation.

  • Genesis, launched in Aug. 2001, to an Halo orbit around the collinear point L 1 of the Earth-Sun system. Its goal was to collect solar wind samples and deliver them to Earth in daylight. For this, an additional excursion close to the collinear point L 2 of the Earth-Sun system was necessary.

  • Artemis, started in Jan. 2009 as an extension of the mission of two of the spacecrafts of the Themis mission, that, using the remaining fuel, were sent from high, eccentric Earth orbits to lunar orbits using L 1 and L 2 Earth-Moon dynamics.

Illustrations of the trajectories of these four missions are shown in Fig. 1.

Fig. 1
figure 1

Trajectories of the missions: (a) SOHO, (b) Genesis, (c) WMAP, (d) Artemis

The nominal trajectories of these four missions can be identified among the families of periodic orbits and invariant tori related to the collinear libration points of the RTBP. In the case of SOHO and Genesis, the nominal trajectory is part of the Halo family of periodic orbits. In the case of WMAP, it is part of the Lissajous family of invariant tori. In the case of Artemis, the nominal trajectories would be the final lunar ones, but invariant tori of the L 1 and L 2 Lissajous family play a fundamental role in the transfer from Earth to lunar orbits. The invariant stable (resp. unstable) manifolds of all these periodic orbits and tori can be used to arrive to (resp. depart from) them. In the case of the P1 spacecraft of Artemis, an heteroclinic connection is closely followed in order to go from the Lissajous torus around L 2 to the Lissajous torus around L 1. Such connections are obtained as intersections of the stable manifold of the arriving object and the unstable manifold of the departing object. An heteroclinic connection is also outlined by the Genesis mission.

The preliminary mission design of these kind of missions is based in being able to compute families of trajectories, in order to be able to select the one that best satisfies the requirements of the mission. The goal of this lecture is to review some of the numerical and semi-analytical techniques available in the literature that can be used in order to compute families of periodic orbits and invariant 2D tori of the RTBP as a dynamical system, as well as their invariant stable and unstable manifolds. Some discussion will be done also on the computation of homoclinic and heteroclinic connections. Although preliminary mission design is the main motivation for this lecture, all the techniques that will be described can be used for the numerical computation of invariant objects in other conservative dynamical systems. Many of them can be directly used in or easily adapted to the dissipative case as well.

The methods that will be described can be divided in two classes: numerical and semi-analytical. Semi-analytical methods provide expansions around a base object that must be previously known. They are more convenient than numerical methods for parametric studies of trajectory features, since a single expansion covers a family or many families of trajectories. They have as a drawback that the expansions provide a good approximation of the dynamics in a neighborhood of the base object, but not outside this neighborhood. Numerical methods are able to compute individual objects anywhere in phase space, but parametric studies with them are more tedious, since they require the previous generation of a large database of trajectories obtained by numerical continuation of one or many families of trajectories. This does not mean that parametric studies are not feasible: an example of systematic continuation families of periodic orbits and invariant tori in order to cover large regions of phase space is given in Sect. 3.9.

The numerical method chosen for the computation of the 2D tori of the RTBP is based on looking for the Fourier series of a curve in the torus invariant by the time-T flow, being T one of the periods of the quasi-periodic trajectories inside the torus [6, 14]. It is a well-established method that has proven to be among the most adequate in this context (see [3] for a review of several methods). Since its use requires starting from the normal part of periodic orbits that need to be previously obtained by continuation, this lecture also includes a discussion on the numerical computation of fixed points and periodic orbits, and develops explicit formulation of the linear approximation of their normal dynamics. On the semi-analytical side, this lecture will cover a technique based on the parameterization method [20, 21], that produces Taylor expansions of the center manifold of a collinear point and the corresponding reduction of the vector field. In the reduced field, the collinear libration point is no longer unstable, so the trajectories in a neighborhood of it can be obtained by direct numerical integration. An earlier technique known as reduction to the center manifold [15, 25] produces the same results. There is another technique (not covered here), known as the Lindstedt-Poincaré method [25, 29], which is still more convenient for parametric studies because it produces expansions of the trajectories instead of the center manifold, at the expense of a slightly smaller neighborhood of validity of the expansions.

The lecture is structured as follows. Section 2 reviews some of the common nomenclature in dynamical systems and, in doing so, introduces the relevant features of the RTBP. After that, Sect. 3 describes numerical techniques for the computation of periodic orbits and invariant tori, whereas Sect. 4 explains how to compute the same objects semi-analytically using the parameterization method. Attention is then focused on the computation of the stable and unstable manifolds of periodic orbits and tori. Section 5 reviews numerical techniques to compute their linear approximation, whereas Sect. 6 explains how to obtain trajectories in these manifolds semi-analytically via the parameterization method. Finally, Sect. 7 addresses the computation and continuation of homoclinic and heteroclinic connections.

2 Dynamical Systems and the RTBP

This section recalls some notions from the theory of dynamical systems and also introduces the circular, spatial Restricted Three-Body Problem (RTBP). Although most readers will probably be familiar with these notions, recalling them will allow us to introduce notations that will be used in the rest of the lecture.

2.1 Continuous Dynamical Systems

The theory of dynamical systems provides an abstract framework for the mathematical study of systems that evolve with time in a deterministic manner. Continuous dynamical systems are those in which time is considered a continuous variable, this is, \(t\in \mathbb R\). They are usually defined in terms of a system of autonomous (time-independent) Ordinary Differential Equations (ODE)

$$\displaystyle \begin{aligned} \left\{ \begin{array}{rcl} \dot x_1 &=& X_1(x_1,x_2,\dots,x_n), \\ \dot x_2 &=& X_2(x_1,x_2,\dots,x_n), \\ &\vdots& \\ \dot x_n &=& X_n(x_1,x_2,\dots,x_n), \\ \end{array} \right. \end{aligned}$$

or, in short,

$$\displaystyle \begin{aligned} \boldsymbol{\dot x}=\boldsymbol{X}(\boldsymbol{x}),\quad \mathrm{for}\quad \boldsymbol{x}\in\mathbb R^n, \quad \boldsymbol{X}:\mathbb R^n\rightarrow\mathbb R^n. \end{aligned}$$

Assuming that this system of ODE can be integrated for all time, for \(t\in \mathbb R\) the time-t flow, \( \boldsymbol {\phi }_t:\mathbb R^n\longrightarrow \mathbb R^n, \) is defined by the initial value problem

$$\displaystyle \begin{aligned} \left. \begin{array}{rcl} \frac{d}{dt}\boldsymbol{\phi}_t(\boldsymbol{x}) &=& \boldsymbol{X}\bigl(\boldsymbol{\phi}_t(\boldsymbol{x})\bigr) \\ \boldsymbol{\phi}_0(\boldsymbol{x}) &=& \boldsymbol{x} \end{array} \right\} . \end{aligned}$$

It can be thought as a map that “flows” initial conditions along the corresponding trajectories for t time units. The subscript notation for t is in order to stress this fact. It is also common to refer to a continuous dynamical system as “a flow”.

Given an initial condition x 0, the corresponding orbit is \(\{\boldsymbol {\phi }_t(\boldsymbol {x}_0)\}_{t\in \mathbb R}\). A fixed point of a continuous dynamical system is a point whose orbit is itself, that is, \(\boldsymbol {\phi }_t(\boldsymbol {x})=\boldsymbol {x},\ \forall t\in \mathbb R\). This can only happen if f(x) = 0. An orbit \(\{\boldsymbol {\phi }_t(\boldsymbol {x})\}_{t\in \mathbb R}\) is said to be periodic if there is T > 0 such that

$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{\phi}_T(\boldsymbol{x}) &=& \boldsymbol{x}, \\ \boldsymbol{\phi}_t(\boldsymbol{x}) &\neq& \boldsymbol{x},\quad \mathrm{for}\quad 0<t<T. \end{array} \end{aligned}$$

Then T is said to be its period. A set of initial conditions \(A\subset \mathbb R^n\) is said to be an invariant set if

$$\displaystyle \begin{aligned} \boldsymbol{\phi}_t(\boldsymbol{x})\in A \quad \forall t\in\mathbb R,\quad \forall\boldsymbol{x}\in A. \end{aligned}$$

A straightforward example is an orbit (in particular, a fixed point or a periodic orbit).

A manifold is a set of points defined (maybe piece-wise) by equations, either implicit or parametric. An invariant manifold is an invariant set that is a manifold (e.g. a torus). We will usually speak of general invariant manifolds as invariant objects and reserve “invariant manifold” to denote stable, unstable or center manifolds associated to an invariant object. Given an invariant set A, its stable set (resp. unstable set) is the set W s(A) (resp. W u(A)) of initial conditions that tend to the object asymptotically through the flow forward (resp. backward) in time. In other words, the set of initial conditions that approach (resp. depart from) A. This is,

$$\displaystyle \begin{aligned} W^s(A) &= \{ \boldsymbol{x} : \mathop{\mathrm{dist}}\nolimits\bigl(\boldsymbol{\phi}_t(\boldsymbol{x}),A\bigr) \stackrel{t\rightarrow+\infty}{\longrightarrow} 0 \} ,\\ W^u(A) &= \{ \boldsymbol{x} : \mathop{\mathrm{dist}}\nolimits\bigl(\boldsymbol{\phi}_t(\boldsymbol{x}),A\bigr) \stackrel{t\rightarrow-\infty}{\longrightarrow} 0 \} . \end{aligned} $$

For several cases in which A is a manifold (e.g. a fixed point, a periodic orbit, an invariant torus), W s(A) (resp. W u(A)) is also a manifold, and is called the stable manifold (resp. unstable manifold) of A.

2.2 The Circular, Spatial Restricted Three-Body Problem

The circular, spatial restricted three-body problem (RTBP) is an example of continuous dynamical system. It can be written as a Hamiltonian system with three degrees of freedom (details on the theory of Hamiltonian systems can be found in e.g. [31]) with Hamiltonian

$$\displaystyle \begin{aligned} H(x,y,z,p_x,p_y,p_z)=\frac 12(p_x^2+p_y^2+p_z^2) -xp_y+yp_x-\frac{1-\mu}{r_1}-\frac\mu{r_2}, \end{aligned}$$

with \(r_1^2=(x-\mu )^2+y^2+z^2\), \(r_2^2=(x-\mu +1)^2+y^2+z^2\). The system of ODE that defines it is, therefore,

$$\displaystyle \begin{aligned} \dot x &= \partial H/\partial p_x = p_x+y, & \dot p_x &= -\partial H/\partial x = p_y-\displaystyle\frac{1-\mu}{r_1^3}(x-\mu)- \displaystyle\frac{\mu}{r_2^3}(x-\mu+1), \\ \dot y &= \partial H/\partial p_y = p_y-x, & \dot p_y &= -\partial H/\partial y = -p_x-\Bigl(\displaystyle\frac{1-\mu}{r_1^3} +\displaystyle\frac{\mu}{r_2^3}\Bigr)y, \\ \dot z &= \partial H/\partial p_z = p_z, & \dot p_z &= -\partial H/\partial z = -\Bigl(\displaystyle\frac{1-\mu}{r_1^3} +\frac\mu{r_2^3}\Bigr)z. \end{aligned} $$

The RTBP describes the motion of a massless particle (“massless” in the sense that it is considered not to influence gravitationally any other body) under the gravitational attraction of two bodies, called primaries, with masses m 1 > m 2. The primaries are assumed to revolve uniformly in circles around their common center of mass. The coordinate system used is a synodic one, that rotates with the primaries so that the primary of mass m 1 is fixed at (μ, 0, 0, 0, μ, 0), and the primary of mass m 2 is fixed at (μ − 1, 0, 0, 0, μ − 1, 0). The RTBP depends on the mass parameter μ = m 2∕(m 1 + m 2). As it is common with Hamiltonian systems, the (x, y, z) coordinates are called positions, and the (p x, p y, p z) coordinates are called momenta. The space of positions (this is, 3D physical space) is called configuration space. See Fig. 2.

Fig. 2
figure 2

Schematic description of the RTBP in configuration space

In short, the RTBP can be denoted as \(\boldsymbol {\dot x}=\boldsymbol {X}(\boldsymbol {x})\), with

$$\displaystyle \begin{aligned} \boldsymbol{x}=(x, y, z, p_x, p_y, p_z),\quad \boldsymbol{X}(\boldsymbol{x})=(X_1(\boldsymbol{x}),X_2(\boldsymbol{x}),\dots,X_6(\boldsymbol{x})), \end{aligned} $$
(1)

being

$$\displaystyle \begin{aligned} \begin{aligned} X_1(\boldsymbol{x}) &= p_x+y, & X_4(\boldsymbol{x}) &= p_y-\displaystyle\frac{1-\mu}{r_1^3}(x-\mu)- \displaystyle\frac{\mu}{r_2^3}(x-\mu+1), \\ X_2(\boldsymbol{x}) &= p_y-x, & X_5(\boldsymbol{x}) &= -p_x-\Bigl(\displaystyle\frac{1-\mu}{r_1^3}+\displaystyle\frac{\mu}{r_2^3} \Bigr)y, \\ X_3(\boldsymbol{x}) &= p_z, & X_6(\boldsymbol{x}) &= -\Bigl(\displaystyle\frac{1-\mu}{r_1^3}+\frac\mu{r_2^3}\Bigr)z. \end{aligned} \end{aligned} $$
(2)

2.3 Discrete Dynamical Systems

Discrete dynamical systems are those in which time is considered as a discrete variable, this is, \(t\in \mathbb Z\). They are defined by diffeomorphisms (smooth 1-1 maps)

$$\displaystyle \begin{aligned} \begin{array}{rcl} {\boldsymbol{F}}:\ \mathbb R^n &\displaystyle \longrightarrow&\displaystyle \mathbb R^n \\ \boldsymbol{x} &\displaystyle \longmapsto&\displaystyle {\boldsymbol{F}}(\boldsymbol{x}). \end{array} \end{aligned} $$

We denote by F −1 the inverse map of F, and use superscript notation for the composition of maps:

$$\displaystyle \begin{aligned} \begin{array}{rcl@{\qquad }rcl} {\boldsymbol{F}}^0(\boldsymbol{x}) &=& \boldsymbol{x}, \\ {\boldsymbol{F}}^1(\boldsymbol{x}) &=& {\boldsymbol{F}}(\boldsymbol{x}), \\ {\boldsymbol{F}}^2(\boldsymbol{x}) &=& {\boldsymbol{F}}({\boldsymbol{F}}(\boldsymbol{x})), & {\boldsymbol{F}}^{-2}(\boldsymbol{x}) &=& {\boldsymbol{F}}^{-1}({\boldsymbol{F}}^{-1}(\boldsymbol{x})), \\ {\boldsymbol{F}}^3(\boldsymbol{x}) &=& {\boldsymbol{F}}({\boldsymbol{F}}({\boldsymbol{F}}(x))), & {\boldsymbol{F}}^{-3}(\boldsymbol{x}) &=& {\boldsymbol{F}}^{-1}({\boldsymbol{F}}^{-1}({\boldsymbol{F}}^{-1}(\boldsymbol{x}))). \\ &\vdots& & &\vdots& \end{array} \end{aligned}$$

In this way, F n is “the discrete time-n flow”. Via this notion, all the previous notions from continuous dynamical systems translate to the discrete case. Given an initial condition, its related orbit is the set \(\{~{\boldsymbol {F}}^i(\boldsymbol {x})~\}_{i\in \mathbb Z}\), that is,

$$\displaystyle \begin{aligned} \{\dots\ ,{\boldsymbol{F}}^{-3}(\boldsymbol{x}), {\boldsymbol{F}}^{-2}(\boldsymbol{x}), {\boldsymbol{F}}^{-1}(\boldsymbol{x}), {\boldsymbol{F}}^{0}(\boldsymbol{x}), {\boldsymbol{F}}^{1}(\boldsymbol{x}), {\boldsymbol{F}}^{2}(\boldsymbol{x}), {\boldsymbol{F}}^{3}(\boldsymbol{x}),~\dots\}. \end{aligned}$$

A fixed point is an initial condition such that its orbit is itself, F(x 0) = x 0. An n-periodic point is an initial condition x 0 such that F n(x 0) = x 0, F i(x 0) ≠ x 0, ∀i = 1, …, n − 1. A set of initial conditions \(A\subset \mathbb R^n\) is said to be an invariant set if \({\boldsymbol {F}}^n(\boldsymbol {x})\in A\ \forall n\in \mathbb Z\ \forall \boldsymbol {x}\in A\). If A is a manifold, the stable and unstable sets of A, defined by

$$\displaystyle \begin{aligned} W^s(A) &= \{\boldsymbol{x}: \mathop{\mathrm{dist}}\nolimits({\boldsymbol{F}}^n(\boldsymbol{x}),A) \stackrel{n\rightarrow+\infty}\longrightarrow0\} ,\\ W^u(A) &= \{\boldsymbol{x}: \mathop{\mathrm{dist}}\nolimits({\boldsymbol{F}}^n(\boldsymbol{x}),A) \stackrel{n\rightarrow-\infty}\longrightarrow0\} , \end{aligned} $$

are usually manifolds.

Fig. 3
figure 3

Phase portrait of the standard map (3) for a = −0.7

An paradigmatic example of a discrete dynamical system is Chirikov’s standard map, that, in one of its formulations is written as

$$\displaystyle \begin{aligned} {\boldsymbol{F}}: \left(\begin{array}{c}x \\ y\end{array}\right)\longmapsto \left(\begin{array}{c}x+a\sin{}(x+y)\\ x+y\end{array}\right). \end{aligned} $$
(3)

Here a is a parameter and \(x,y\in {\mathbb T}=\mathbb R/[0,2\pi ]\), that is, we assume that (x, y) and \((\bar x, \bar y)\) are the same point if \(x-\bar x=j2\pi \), \(y-\bar y=k2\pi \), for \(j,k\in \mathbb Z\). The standard map is area-preserving. In two dimensions, being area preserving is equivalent to being symplectic, which is the discrete analog of the Hamiltonian formalism (for more details see any textbook in the subject, e.g. [31]). The global dynamics (a phase portrait) of two-dimensional area-preserving maps on compact regions can be swiftly obtained by iteration of the map F. Figure 3 is obtained by considering the initial conditions \(\{\boldsymbol {p}_j:=(-\pi +j2\pi /100,0)\}_{j=0}^{100}\) and plotting the points \(\{{\boldsymbol {F}}^k(\boldsymbol {p}_j))\}_{k=0}^{1000}\), for j = 0, …, 100. Several kinds of invariant sets (that are manifolds) can be found, like fixed points, periodic points of different periods and invariant curves. Invariant sets with chaotic dynamics can also be observed.

2.4 Orbit Generation in a Dynamical System

Orbits in discrete dynamical systems can be generated just by iteration of the map, as it has been done in Fig. 3. In continuous dynamical systems, numerical methods for integration of ODE have to be used. In order to have error control, variable-step methods are preferred over constant-step ones. A popular family of variable-step methods are the Runge-Kutta-Fehlberg (RKF) ones, of which there are some high-order versions like RKF78 [10]. There are many alternatives (see e.g. [19, 41]). In the case of a system of ODE given by closed formulae, like the RTBP, a particularly good choice is Taylor’s method, of which there are freely available implementations [1, 27]. Here we will discuss briefly the black-box usage of a one-step method with step size control.

For a system of n possibly non-autonomous ODE,

$$\displaystyle \begin{aligned} \boldsymbol{\dot x} = \boldsymbol{X}(t,\boldsymbol{x}), \end{aligned}$$

with \(\boldsymbol {x},\boldsymbol {X}(t,\boldsymbol {x})\in \mathbb R^n\), denote by ϕ(t, t 0, x) its flow from time t 0 to time t, defined by the conditions

$$\displaystyle \begin{aligned} \begin{aligned} \frac d{dt}\boldsymbol{\phi}(t,t_0,\boldsymbol{x}) &= \boldsymbol{X}\bigl(t,\boldsymbol{\phi}(t,t_0,\boldsymbol{x})\bigr), \\ \boldsymbol{\phi}(t_0,t_0,\boldsymbol{x}) &= \boldsymbol{x},\quad \forall\boldsymbol{x}\in\mathbb R^n. \end{aligned} \end{aligned} $$
(4)

Given \(t_0\in \mathbb R\), \(\boldsymbol {x}_0\in \mathbb R^n\), \(h_0\in \mathbb R\) (small), and a tolerance δ, a routine implementing a one-step method with step size control will return t 1, x 1, h 1 verifying

  1. (a)

    |x 1 −ϕ(t 1, t 0, x 0)| < δ,

  2. (b)

    t 1 is as close to t 0 + h 0 as possible,

  3. (c)

    h 1 is a recommended step length for the next call.

In the algorithmic descriptions that will follow, we will denote a call to such a routine as

$$\displaystyle \begin{aligned} (t_1,\boldsymbol{x}_1,h_1)=\mbox{ODEstep}(t_0,\boldsymbol{x}_0,h_0,\boldsymbol{X},\delta). \end{aligned}$$

In order to implement ϕ(t 1, t 0, x 0) for arbitrary t 1, t 0, x 0, it is necessary to write a routine that calls ODEstep many times using as input step h 0 the recommended step h 1 of the previous call, plus a final call with h 0 the step needed to in order to reach the final time t 1 (or more than one such calls, if the step given is reduced by the step size control). In some of the algorithmic descriptions that will follow, a call to such a routine will be denoted as

$$\displaystyle \begin{aligned} (t_1,\boldsymbol{x}_1,h_1)=\mbox{ODEflow}(t_0,t_1,\boldsymbol{x}_0,h_0,\boldsymbol{X},\delta). \end{aligned}$$

In the systems of non-linear equations that we will solve in order to compute invariant objects, we will need to be able to numerically evaluate both the flow and its differential with respect to initial conditions, that we will denote as D x ϕ(t, t 0, x), or simply D ϕ t(x) in the autonomous case. It can be found by numerically integrating the system of ODE together with its first variational equations:

$$\displaystyle \begin{aligned} \begin{aligned} \boldsymbol{\dot x} &= \boldsymbol{X}(t,\boldsymbol{x}),\\ \dot A &= \dfrac{\partial\boldsymbol{X}}{\partial \boldsymbol{x}}(t,\boldsymbol{x})A, \end{aligned} \end{aligned} $$
(5)

where x is an n-dimensional vector and A is a n × n matrix. If x(t) and A(t) are solutions of (5) with x(t 0) = x 0 and A(t 0) = I n the n × n identity matrix, then D x ϕ(t, t 0, x 0) = A(t). System (5) can be written as a system of n + n 2 ODE as

$$\displaystyle \begin{aligned} \dot x_i &= X_i(t,x_1,\dots,x_n), & i&=1,\dots, n,\\ \dot a_{i,j} &= \sum_{k=1}^n\Bigl( \frac{\partial X_i}{\partial x_k}(t,x_1,\dots,x_n) \Bigr)a_{k,j}, & i,j &= 1,\dots,n. \end{aligned} $$

2.5 Poincaré Maps

A way to simplify the study of a continuous dynamical systems is to consider a discrete dynamical system that has essentially the same dynamics. One way to do it is, for a fixed T > 0, to consider the time-T flow (or stroboscopic map), ϕ T, which is a discrete dynamical system. In this way, for instance, T-periodic orbits are turned into fixed points. Another way to turn a continuous dynamical system into a discrete one is through a Poincaré map.

For a continuous dynamical system given by \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\), let Σ be a hypersurface of \(\mathbb R^n\), and assume it is transversal to the vector field, that is, X(x) is not tangent to Σ for all x ∈ Σ. Let x 0 be such that \(\boldsymbol {\phi }_{T_0}(\boldsymbol {x}_0)\in \varSigma \) for some T 0 > 0. The implicit function theorem ensures the existence of a neighborhood U ∋x 0 and a map \(\tau :U\rightarrow \mathbb R\), known as time-return map, such that τ(x 0) = T 0 and

$$\displaystyle \begin{aligned} \boldsymbol{\phi}_{\tau(\boldsymbol{x})}(\boldsymbol{x})\in\varSigma\qquad \forall\boldsymbol{x}\in U. \end{aligned}$$

The map P(x) := ϕ τ(x)(x) is called Poincaré map corresponding to Σ. If x 0 ∈ Σ and P(Σ ∩ U) = Σ ∩ U, the restriction of P to Σ ∩ U defines a discrete dynamical system. In going to the starting continuous dynamical system to the discrete one defined by P, periodic orbits are turned into fixed points, and invariant tori are turned into invariant curves. In general, invariant objects lose one dimension, which is an advantage both from the theoretical and the computational point of view.

Orbit generation in this discrete dynamical system requires the numerical evaluation of a Poincaré map, which has as a difficulty that the time-return map τ(x) is unknown. It can be adjusted by Newton iterations once we get close to the section Σ. This is done in Algorithm 1.

Algorithm 1  

If the differential of the Poincaré map, D P(x), is also needed, it can be computed as

$$\displaystyle \begin{aligned} D\boldsymbol{P}(x)= \boldsymbol{X}\bigl(\boldsymbol{P}(\boldsymbol{x})\bigr)D\tau(\boldsymbol{x}) +D\boldsymbol{\phi}_{\tau(\boldsymbol{x})}(\boldsymbol{x}), \end{aligned} $$

where D ϕ τ(x)(x) is to be understood as D y ϕ τ(x)(y)|y=x. An expression for (x) can be obtained by implicit differentiation on g(P(x)) ≡ 0. After substitution in the previous equation,

$$\displaystyle \begin{aligned} D\boldsymbol{P}(x)=- \boldsymbol{X}\bigl(\boldsymbol{P}(x)\bigr) \frac{Dg\bigl(\boldsymbol{P}(x)\bigr)D\boldsymbol{\phi}_{\tau(\boldsymbol{x})}(\boldsymbol{x})} {Dg\bigl(\boldsymbol{P}(x)\bigr)\boldsymbol{X}\bigl(\boldsymbol{P}(x)\bigr)} +D\boldsymbol{\phi}_{\tau(\boldsymbol{x})}(\boldsymbol{x}). \end{aligned} $$
(6)

In a routine implementing Algorithm 1 for the evaluation of a Poincaré map, it is useful to keep as an option the integration of the system of ODE defining our continuous dynamical system together with its first variational equations (5), in order to have available D ϕ τ(x)(x) to be used in (6).

3 Numerical Computation of Periodic Orbits and 2D Tori

The goal of this section is to review some numerical methods for the numerical computation of the periodic orbits and invariant 2D tori related to collinear libration points. Since the RTBP is Hamiltonian, both periodic orbits and tori are not isolated but embedded in families. Once an invariant object (periodic orbit or torus) has been computed, the remaining objects of its family can be obtained by continuation. The first object of a family is usually computed from the linear approximation of the dynamics around a simpler object (e.g. a torus from the linear dynamics around a periodic orbit, or a periodic orbit from the linear dynamics around a fixed point). This approach can be followed hierarchically in order to do a systematic study of the dynamics around a collinear point.

This section starts recalling the predictor-corrector or pseudo-arclength continuation method as described by standard references (e.g. [2]). After that, Sect. 3.2 provides an strategy for the numerical solution of not necessarily square non-linear systems of equations, that simplifies considerably the practical implementation of the methods described later. The subsections that follow (from Sects. 3.3 to 3.8) provide methods for the computation of invariant objects and formulation for the linear dynamics around them, necessary to implement a systematic numerical exploration of the dynamics around a collinear libration point. This is actually done in Sect. 3.9 for the L 1 collinear point of the Earth-Moon RTBP.

3.1 Numerical Continuation

A classical way to introduce numerical continuation is as a technique to find a (unknown) solution of a system of non-linear equations G(x) = 0 from a known solution of another system F(x) = 0, that is close to G(x) = 0 in some sense. In order to look for a zero of G, a one-parametric family of intermediate systems H(λ, x) is considered with H(0, x) = F(x) and H(1, x) = G(x). For instance, the convex homotopy between F and G,

$$\displaystyle \begin{aligned} \boldsymbol{H}(\lambda,\boldsymbol{x})=(1-\lambda){\boldsymbol{F}}(\boldsymbol{x})+\lambda\boldsymbol{G}(\boldsymbol{x}), \end{aligned}$$

Then we can try to continue the known solution x 0 of H(0, x) = 0 up to a solution of H(1, x) = 0 with respect to the parameter λ. The algorithm below provides a straightforward approach.

Algorithm 2  

Algorithm 2 breaks down if there is a turning point with respect to λ along the continuation curve. An alternative that can cope with this case is the predictor-corrector or pseudo-arclength continuation method (see e.g. [2]). Its basic idea is to consider arclength instead of λ as the continuation parameter. “Pseudo” stands for the fact that the actual parameter is not truly arclength but distance along a line tangent to the continued curve. Define \(\boldsymbol {y}=(\lambda ,\boldsymbol {x})\in \mathbb R^{n+1}\). Then H(y) := H(λ, x) = 0 defines implicitly a curve in \(\mathbb R^{n+1}\) as long as \( \mathop {\mathrm {rank}} \nolimits D\boldsymbol {H}(\boldsymbol {y})=n\), which is a condition we will assume. The continuation can be done according to the algorithm stated next.

Algorithm 3  

A convenient way to control the step length γ is in order to keep constant the number of Newton iterations when solving H(z) = 0 at each continuation step. A simple rule is to assume that this number of iterations is a linear function of the step length chosen: if n old is the number of iterations performed in the last continuation step, γ old is the last step length used and n des is the desired number of Newton iterations, we can take

$$\displaystyle \begin{aligned} \gamma=\frac{n_{\textit{des}}}{n_{\textit{old}}}\gamma_{\textit{old}}. \end{aligned} $$
(7)

Note that, except for the start and stop criteria, in the pseudo-arclength method there is no distinguished coordinate to be considered a parameter. It can therefore be applied to any system of non-linear equations H(y) = 0, as long as its solution is a curve.

3.2 Numerical Solution of Non-square, Non-linear Systems of Equations

In Sects. 3.6 and 3.8, the computation of periodic orbits and invariant 2D tori will be done in terms of solving non-linear systems of equations. In the case of the computation of a single object, the system to be solved will have (locally) unique solution. It is standard practice in this case to require such a system to be square, this is, of the form G(y) = 0 with \(\boldsymbol {G}:\mathbb R^N\longrightarrow \mathbb R^N\) for some N, and to use Newton’s method (see any textbook on numerical analysis, e.g. [41]). In the case of the continuation of a family, the system to be solved will not have unique solution but a curve of solutions. It is standard practice in this case to require such a system to have one more unknown than equations, this is, to be of the form G(y) = 0 with \(\boldsymbol {G}:\mathbb R^{N+1}\rightarrow \mathbb R^N\) for some N, and to use Newton’s method with some modification to account for non-uniqueness (see e.g. [2, 39]).

In order to keep the systems of equations of Sects. 3.6 and 3.8 simple, it will be convenient not to require them to be either N × N or (N + 1) × N. A way to be able to solve these systems is to consider a modified Newton method y n+1 = y n − (Δ y)n in which the linear system to be solved for the correction, D G(y n)(Δ y)n = G(y n), is solved for its minimum-norm, least-squares solution. The minimum-norm, least-squares solution always exists and is unique for any linear system of equations, square or not. Assuming that the starting non-linear system G(y) = 0 has a solution (perhaps non-unique) and that the initial guess y 0 is close to a solution, this strategy will converge to a nearby solution using minimum-norm corrections.

We discuss briefly how to compute the minimum-norm, least-squares solution of a linear system A y = b using QR decomposition with column pivoting.Footnote 1 Assume that A is an arbitrary m × n matrix with \(r:= \mathop {\mathrm {rank}} \nolimits A\leq \min (m,n)\). A least squares solution of A y = b,

$$\displaystyle \begin{aligned} \boldsymbol{y}^*\in\mathbb R^n:\quad \|\boldsymbol{b}-A\boldsymbol{y}^*\|{}_2=\min_{\boldsymbol{y}\in\mathbb R^n}\|\boldsymbol{b}-A\boldsymbol{y}\|{}_2, \end{aligned}$$

always exists. If r = n, there is an unique least-squares solution. If r < n, there is a linear subspace of least-squares solutions of dimension d := n − r. Nevertheless, as mentioned previously,

$$\displaystyle \begin{aligned} \boldsymbol{y_{\textit{LS}}}:\quad \|\boldsymbol{y_{\textit{LS}}}\|{}_2=\min\bigl\{ \|\boldsymbol{y}^*\|{}_2:\ \|\boldsymbol{b}-A\boldsymbol{y}^*\|{}_2=\min_{\boldsymbol{y}\in\mathbb R^n}\|\boldsymbol{b}-A\boldsymbol{y}\|{}_2 \bigr\}, \end{aligned}$$

is always unique. By applying to A Householder transformations with column pivoting [12], we obtain a decomposition

$$\displaystyle \begin{aligned} Q^\top AP = \left( \begin{array}{cc} R_{11} & R_{12} \\ 0 & 0 \end{array} \right) , \end{aligned}$$

with Q an m × m orthogonal matrix, R 11 an r × r upper-triangular matrix with non-zero diagonal elements, and P a n × n permutation matrix. In order to perform this decomposition, r (or, equivalently, d = n − r) must be known. If we denote

$$\displaystyle \begin{aligned} P^\top\boldsymbol{y}=\left(\begin{array}{c}\boldsymbol{z}\\ \boldsymbol{s}\end{array}\right) ,\qquad Q^\top\boldsymbol{b}=\left(\begin{array}{c}\boldsymbol{c}\\ \boldsymbol{d}\end{array}\right) , \end{aligned}$$

with \(\boldsymbol {z},\boldsymbol {c}\in \mathbb R^r,\boldsymbol {s}\in \mathbb R^d,\boldsymbol {d}\in {\boldsymbol {R}}^{m-r}\), then the least-squares solutions of A y = b are

$$\displaystyle \begin{aligned} P^\top\boldsymbol{y} = \left\{ \left(\begin{array}{c}R_{11}^{-1}\boldsymbol{c}\\ 0\end{array}\right)+\left(\begin{array}{c}-R_{11}^{-1}R_{12}\\ I_{d}\end{array}\right)\boldsymbol{s} \right\}_{\boldsymbol{s}\in\mathbb R^{d}}, \end{aligned}$$

where I d is the d × d identity matrix. Finding the minimum-norm element of the previous set is an standard full-rank least-squares problem, that can be solved via a standard (without column pivoting) QR decomposition.

In order to solve the systems of equations of Sects. 3.6 and 3.8, it is convenient to write a routine that, for a general m × n linear system of equations, finds the minimum-norm least-squares solution and, optionally, a basis of the kernel of A, which can be obtained from

$$\displaystyle \begin{aligned} \ker A = \left\{ P \left(\begin{array}{c}-R_{11}^{-1}R_{12}\\ I_{d}\end{array}\right)\boldsymbol{s} \right\}_{\boldsymbol{s}\in\mathbb R^{d}} . \end{aligned}$$

3.3 Computation of Fixed Points of Flows and Maps

For the computation of a fixed point of a flow \(\boldsymbol {\dot x}=\boldsymbol {X}(\boldsymbol {x})\), we look for p such that G(p) := X(p) = 0. For the computation of a fixed point of a map xF(x), we look for p such that G(p) := F(p) −p = 0. In any case, we can use Newton’s method in several variables in order to look for a zero of G.

Algorithm 4  

In the RTBP, it can be analytically seen (see e.g. [42]) that the distance from L j, j = 1, 2, 3 to the closest primary, that will be denoted γ j, is given by the only positive root of the corresponding Euler’s quintic equation:

$$\displaystyle \begin{aligned} \begin{array}{rcl} \gamma_j^5\mp(3-\mu)\gamma_j^4+(3-2\mu)\gamma_j^3-\mu\gamma_j^2 \pm2\mu\gamma_j-\mu &\displaystyle =&\displaystyle 0,\quad j=1,2, \\ \gamma_j^5+(2+\mu)\gamma_j^4+(1+2\mu)\gamma_j^3-(1-\mu)\gamma_j^2 -2(1-\mu)\gamma_j-(1-\mu) &\displaystyle =&\displaystyle 0,\quad j=3. \end{array} \end{aligned} $$

Therefore, in this case it is enough to use Newton’s method in one dimension. Good guesses are (μ∕3)1∕3 for L 1,2 and 1 − (7∕12)μ for L 3.

3.4 Linear Behavior Around Fixed Points of Flows

For a flow \(\boldsymbol {\dot x}=\boldsymbol {X}(\boldsymbol {x})\) with a fixed point p, since X(x) = X(p) + D X(p)(x −p) + O(∥x −p2) and X(p) = 0, its linearization around p is

$$\displaystyle \begin{aligned} \boldsymbol{\dot x}=A(\boldsymbol{x}-\boldsymbol{p}), \end{aligned} $$
(8)

with A := D X(p). The eigenvalues of A are known as the exponents of the fixed point p.

Assume that \(\lambda \in \mathbb R\), λ ≠ 0 is an eigenvalue of A, and v is a corresponding eigenvector. Then

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(t):=\boldsymbol{p}+e^{\lambda t}\boldsymbol{v} \end{aligned}$$

is a solution of the linearized flow (8). If λ < 0, φ(t) →p as t → +, so \(\{\boldsymbol {\varphi }(t)\}_{t\in \mathbb R}\) is a trajectory in the stable manifold of p in the linearized flow. If λ > 0, φ(t) →p as t →−, so \(\{\boldsymbol {\varphi }(t)\}_{t\in \mathbb R}\) is a trajectory in the unstable manifold of p in the linearized flow. The stable manifold theorem for flows (see e.g. [18, 35]) ensures the existence of a stable (resp. unstable) manifold of the full non-linear flow \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\) that contains p and is tangent to the linear subspace spanned by the eigenvectors of A corresponding to eigenvalues with strictly negative (resp. positive) real part.

Assume now λ = i ω for \(\omega \in \mathbb R\), ω ≠ 0, where i denotes the imaginary unit. In this case, −i ω is also an eigenvalue, so we can assume that ω > 0. Let v 1 + iv 2 be a corresponding eigenvector, with \(\boldsymbol {v}_1,\boldsymbol {v}_2\in \mathbb R^n\). Define

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}_\gamma(t):=\boldsymbol{p}+\gamma\bigl( (\cos\omega t)\boldsymbol{v}_1-(\sin\omega t)\boldsymbol{v}_2 \bigr) . \end{aligned} $$
(9)

By using A v 1 = −ω v 2 and A v 2 = ω v 1 (that follows from A(v 1 + i v 2) = i ω(v 1 + iv 2)), it is seen that φ γ(t) is a solution of the linearized flow. Therefore, by varying γ, φ γ(t) provides a one-parametric family of periodic orbits of period 2πω of the linearized flow. If the remaining eigenvalues λ j of A satisfy that λ j∕(i ω) is not an integer, then Lyapunov’s center theorem (see e.g. [31, 38]) ensures the existence of a one-parametric family of periodic orbits of the non-linear flow with periods that tend to 2πω as the periodic orbits collapse to p. These periodic orbits are part of the center manifold of p, which is an invariant manifold tangent to the linear subspace spanned by eigenvectors corresponding to eigenvalues of A with zero real part. The existence of the this manifold is ensured by the center manifold theorem for flows (see e.g. [18, 35]).

Expressions for trajectories of the linear flow in the case λ = a + i ω \(a,\omega \in \mathbb R\), a, ω ≠ 0, can be obtained similarly. They will not be necessary in what follows. These trajectories would be close to trajectories of the non-linear flow in the stable or unstable manifold, according to whether a < 0 or a > 0, respectively.

3.5 Linear Behaviour Around Fixed Points of Maps

For a discrete dynamical system given by xF(x) with a fixed point p, since F(x) = p + D F(p)(x −p) + O(∥x −p2) and F(p) = p, its linearization around p is

$$\displaystyle \begin{aligned} \boldsymbol{x}\mapsto L_{{\boldsymbol{F}}}(\boldsymbol{x}):=\boldsymbol{p}+A(\boldsymbol{x}-\boldsymbol{p}), \end{aligned} $$
(10)

with A = D F(p). The eigenvalues of A are also called the multipliers of p.

Assume that \(\lambda \in \mathbb R\), λ ≠ 0 is an eigenvalue of A, and v is a corresponding eigenvector. Define

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(\xi):=\boldsymbol{p}+\xi\boldsymbol{v}. \end{aligned}$$

Since \(L_{\boldsymbol {F}}\bigl (\boldsymbol {\varphi }(\xi )\bigr )=\boldsymbol {\varphi }(\lambda \xi )\), \(\{\boldsymbol {\varphi }(\xi )\}_{\xi \in \mathbb R}\) is an invariant set of the linearized map (10). If |λ| < 1, \(L_{\boldsymbol {F}}^n\bigl (\boldsymbol {\varphi }(\xi )\bigr )\rightarrow \boldsymbol {\varphi }(0)=\boldsymbol {p}\) as n → +, so \(\{\boldsymbol {\varphi }(\xi )\}_{\xi \in \mathbb R}\) is a trajectory in the stable manifold of p in the linearized map. If |λ| > 1, \(L_{\boldsymbol {F}}^n\bigl (\boldsymbol {\varphi }(\xi )\bigr )\rightarrow \boldsymbol {\varphi }(0)=\boldsymbol {p}\) as n →−, so \(\{\boldsymbol {\varphi }(\xi )\}_{\xi \in \mathbb R}\) is a trajectory in the unstable manifold of p in the linearized map. The stable manifold theorem for maps (see e.g. [18, 35]) ensures the existence of a stable (resp. unstable) manifold of the full non-linear map F that contains p and is tangent to the linear subspace spanned by the eigenvectors of A corresponding to eigenvalues with modulus strictly smaller (resp. larger) than one.

Assume now \(\lambda \in \mathbb {C}\), |λ| = 1, \(\lambda =\cos \rho +\boldsymbol {i}\sin \rho \) and let v 1 + iv 2 be an associated eigenvector, with \(\boldsymbol {v}_1,\boldsymbol {v}_2\in \mathbb R^n\). Then

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}_\gamma(\xi) := \boldsymbol{p}+\gamma\bigl((\cos\xi)\boldsymbol{v}_1-(\sin\xi)\boldsymbol{v}_2\bigr) \end{aligned} $$
(11)

satisfies \(L_{{\boldsymbol {F}}}\bigl (\boldsymbol {\varphi }(\xi )\bigr )=\boldsymbol {\varphi }(\xi +\rho )\), so {φ γ(θ)}θ ∈ [0,2π] is an invariant closed curve of the linearized map. Therefore, by varying γ, φ γ(θ) provides a one-parametric family of invariant curves of the linearized map with rotation number ρ. Under number-theoretical hypotheses of ρ and non-degeneracy ones of F, KAM theory (see e.g. [26]) ensures the existence of a CantorianFootnote 2 one-parametric family of invariant curves of the full non-linear map F, with rotation numbers that tend to ρ as the invariant curves collapse to p.

3.6 Computation of Periodic Orbits of Flows

The computation of periodic orbits is a classical and well-known subject. There are publicly available software packages, like AUTO-07p [9], that are capable of both computing individual periodic orbits and performing continuation of families. Nevertheless, the simplicity of the methodology that will follow makes its implementation worthwhile, both for computational efficiency and for easier interaction with the methods of computation of invariant tori of Sect. 3.8. We discuss in this section how to compute initial conditions for periodic orbits by solving non-linear systems of equations stated in terms of the flow. The discussion will partially follow [39].

An initial condition for a periodic orbit of a flow can be thought as a fixed point of a discrete dynamical system. In order to turn this idea into a numerical method, consider first a non-autonomous T-periodic system of n ODE,

$$\displaystyle \begin{aligned} \dot{\boldsymbol{x}}=\boldsymbol{X}(\omega t,\boldsymbol{x}), \end{aligned} $$
(12)

with ω = 2πT and X(θ, x) 2π-periodic in θ.Footnote 3 Denote its flow by ϕ(t, t 0, x 0), defined as in (4). Consider the map F(x) := ϕ(t 0 + T, t 0, x), with t 0 fixed. An initial condition for a T-periodic orbit of (12) is a fixed point of the discrete dynamical system defined by F, which is found as a zero of G(x) := F(x) −x, as discussed in Sect. 3.3. The differential of ϕ(t 0 + T, t 0, x) with respect to x is computed by integrating the first variational equations, as discussed in Sect. 2.4.

Assume now that we have an autonomous system of ODE

$$\displaystyle \begin{aligned} \dot{\boldsymbol{x}}=\boldsymbol{X}(\boldsymbol{x}), \end{aligned} $$
(13)

with flow ϕ t, defined as in Sect. 2.1. If we wanted to apply the previous approach, we would look for a fixed point of the discrete dynamical system defined by F(x) := ϕ T(x). A direct application of Newton’s method to look for a zero of G(x) := F(x) −x would fail: since {G(x) = 0} defines the whole periodic orbit as a manifold, D G(x) is singular at every point of the periodic orbit. We could still use the modified Newton strategy of Sect. 3.2, but that would introduce difficulties for continuation.Footnote 4 A better strategy is to get rid of the singularity by considering a different discrete dynamical system: a Poincaré map. If Σ is a surface of section transversal to the flow and intersected by the periodic orbit we are looking for, denote as P(x) = ϕ τ(x)(x) the corresponding Poincaré map, where τ(x) is the time-return map (see Sect. 2.5). Then, by looking for a fixed point of P as a zero of G(x) := P(x) −x, we would be looking for an initial condition of the periodic orbit in the Poincaré section Σ, which is locally unique.

The previous approach works as long as the periodic orbit we are looking for is isolated, which is usual in generic dynamical systems. But in Hamiltonian systems like the RTBP, periodic orbits are embedded in families. Assume that we are given a Hamiltonian continuous dynamical system with Hamiltonian H(x). The intersections of the periodic orbits of a family with a Poincaré section Σ define locally a curve. On all the points of this curve, D G(x) is singular. A way to get rid of this singularity would be to first reduce our starting dynamical system (13) to an energy manifold {H(x) = h}. Then, an initial condition of a periodic orbit (of energy h) as a fixed point of P would be locally unique. Nevertheless, instead of modifying (13), it is simpler to add an energy equation to the fixed point condition on the Poincaré map. In this way, we would solve for x the non-linear system

$$\displaystyle \begin{aligned} \left. \begin{aligned} H(\boldsymbol{x}) &= h \\ \boldsymbol{P}(\boldsymbol{x}) &= \boldsymbol{x} \end{aligned} \right\}. \end{aligned}$$

This system is not square, so a standard approach using Newton’s method would not work, but it can be solved by the modified Newton approach of Sect. 3.2 with d = 0. In doing this, P and D P can be evaluated as discussed in Sect. 2.5.

3.6.1 Practical Implementation

An strategy for the computation of periodic orbits still simpler to implement than the one just discussed is to add the Poincaré section as an additional equation. In this way, at the cost of one extra equation, the evaluation of P and D P is avoided. Assuming that the Poincaré section is Σ = {g(x) = 0}, we would solve the (n + 2) × (n + 1) system

$$\displaystyle \begin{aligned} \left. \begin{aligned} H(\boldsymbol{x}) &= h \\ g(\boldsymbol{x}) &= 0 \\ \boldsymbol{\phi}_T(\boldsymbol{x}) &= \boldsymbol{x} \\ \end{aligned} \right\} \end{aligned} $$
(14)

for (T, x). This can be done using the modified Newton strategy of Sect. 3.2 with d = 0, y = (T, x) and

$$\displaystyle \begin{aligned} \boldsymbol{G}(\boldsymbol{y})= \begin{pmatrix} H(\boldsymbol{x})-h \\ g(\boldsymbol{x}) \\ \boldsymbol{\phi}_T(\boldsymbol{x})-\boldsymbol{x} \end{pmatrix} . \end{aligned} $$
(15)

An additional advantage of this approach is that the period of the periodic orbit appears explicitly.

The system of equations (14) can also be used for the continuation of a family of periodic orbits. This would be done using Algorithm 3 with H := G defined as in (15) but for y = (h, T, x). In an implementation of Algorithm 3, the routine proposed at the end of Sect. 3.2 would be able to compute \(\ker D\boldsymbol {H}(\boldsymbol {y})\) and to solve H(y) = 0 with minimum-norm corrections.

From the system of equations (14), other systems of interest for the computation and continuation of periodic orbits can be obtained by eliminating equations and unknowns. For instance, if we eliminate the unknown h, keep T constant and eliminate the energy equation H(x) = 0, the resulting system of equations,

$$\displaystyle \begin{aligned} \left. \begin{aligned} g(\boldsymbol{x}) &= 0 \\ \boldsymbol{\phi}_T(\boldsymbol{x}) &= \boldsymbol{x} \\ \end{aligned} \right\}, \end{aligned} $$
(16)

that is to be solved only for x, would allow us to compute a periodic orbit of a given period. A routine implementing the evaluation of G(y) (as defined in (15)) and D G(y) can also be used in order to solve a system like (16) by giving it the option of eliminating components of G(y) and files and/or columns of D G(y).

3.6.2 Multiple Shooting

As we will see in Sect. 3.9.1 (e.g. in Fig. 4), for many periodic orbits of the neighborhood of the collinear points of the Earth-Moon RTBP, the maximum absolute value of the eigenvalues of D ϕ T(x) can be larger than 2000. This means that, after numerical integration for T time units, any error in the initial condition can be amplified by this factor. Even with exact data, the local truncation error of the first step of numerical integration could be amplified by this factor.Footnote 5 Then, for example, if the tolerance of numerical integration is set to 10−14, we cannot expect an error smaller than 10−11. Because of this, initial conditions for Newton’s method need to be very accurate in order to obtain convergence, and continuation steps become very small.

We can reduce these amplification factors by making use of multiple shooting. Multiple shooting is classically introduced as a way to overcome dynamical instability in the solution of boundary value problems (see e.g. [41]). As a general idea, the multiple shooting strategy can be thought as introducing intermediate objects as unknowns in order to reduce integration time. In our case, we would need to consider points x 0 := x, x 1, …, x m−1 along the periodic orbit and add the corresponding matching equations to the system to be solved. In this way, system (14) would become

$$\displaystyle \begin{aligned} \left. \begin{aligned} H(\boldsymbol{x}_0) &= h\\ g(\boldsymbol{x}_0) &= 0\\ \boldsymbol{\phi}_{T/m}(\boldsymbol{x}_j) &= x_{j+1},\quad j=0,\dots,m-2 \\ \boldsymbol{\phi}_{T/m}(\boldsymbol{x}_{m-1}) &= x_0 \end{aligned} \right\}. \end{aligned} $$
(17)

In order to compute a single periodic orbit, the unknowns to consider would be (T, x 0, …, x m−1). In order to continue a family of periodic orbits, the unknowns would be (h, T, x 0, …, x m−1). As commented before, other systems of interest can be obtained from this one by eliminating equations and unknowns.

By using multiple shooting with m points, the amplification factors are typically reduced to the m-th root of the starting ones, at the cost of multiplying by m the dimension of the system of non-linear equations to be solved.

3.7 Linear Behaviour Around a Periodic Orbit of a Hamiltonian Autonomous System

An initial condition x 0 of a T-periodic orbit is also fixed point of ϕ T. In the case of a Hamiltonian autonomous system \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\), this fact by itself was not enough in order to find x 0 numerically, but it is useful to study the linear behavior of the flow around x 0. Let M := D ϕ T(x 0) be the monodromy matrix of our periodic orbit. Because of the autonomous character of our system and the fact that it has a first integral (the Hamiltonian), M has 1 as a double eigenvalue (for a proof see, e.g., [31]). Moreover, M is a symplectic matrix (see e.g. also [31]), which implies that, if λ is an eigenvalue of M, then 1∕λ is also eigenvalue. Now assume that our system is, as the RTBP, of three degrees of freedom, this is, \(\boldsymbol {x}\in \mathbb R^6\). Then the eigenvalues of M are

$$\displaystyle \begin{aligned} \{1,1,\lambda_1,\lambda_1^{-1},\lambda_2,\lambda_2^{-1}\}. \end{aligned}$$

In the remaining discussion, we will assume that \(|\lambda _i|\leq |\lambda _i^{-1}|\).

The linear behaviour around a periodic orbit in our 3-degrees-of-freedom Hamiltonian system is better studied in terms of Hénon’s stability parameters [22], that are defined as

$$\displaystyle \begin{aligned} s_1=\lambda_1+1/\lambda_1,\qquad s_2=\lambda_2+1/\lambda_2. \end{aligned} $$
(18)

A calculation shows that

$$\displaystyle \begin{aligned} \begin{array}{rcl} s_i\in\mathbb R,\quad |s_i|>2 &\displaystyle \Longleftrightarrow&\displaystyle \lambda_i\in\mathbb R\backslash\{-1,1\}, \\ s_i\in\mathbb R,\quad |s_i|\leq 2 &\displaystyle \Longleftrightarrow&\displaystyle \lambda_i\in\mathbb{C},\quad |\lambda_i|=1, \\ s_i\in\mathbb{C}\backslash\mathbb R &\displaystyle \Longleftrightarrow&\displaystyle \lambda_i\in\mathbb{C}\backslash\mathbb R,\quad |\lambda_i|\neq1. \end{array} \end{aligned} $$

From the discussion of Sect. 3.5, if \(s_i\in \mathbb R\), |s i| > 2 (hyperbolic case), the stable (resp. unstable) manifold of x 0 as fixed point of ϕ T is tangent to the λ i (resp. \(\lambda _i^{-1}\)) eigendirection. This means that the periodic orbit has a stable (resp. unstable) manifold, and its section through the \(\lambda _i,\lambda _i^{-1}\) eigenplane is tangent to the λ i (resp. \(\lambda _i^{-1}\)) eigendirection. If \(s_i\in \mathbb R\), |s i|≤ 2 (elliptic case), assume \(\lambda _i=\cos \rho +\boldsymbol {i}\sin \rho \) and that v is an eigenvector of eigenvalue λ i. As we have seen, there is a continuous, one-parametric family of closed curves invariant by the linearization of ϕ T around x 0 in the \(\{\boldsymbol {x}_0+\alpha _1 \mathop {\mathrm {Re}} \nolimits \boldsymbol {v}+\alpha _2 \mathop {\mathrm {Im}} \nolimits \boldsymbol {v}\}_ {\alpha _1,\alpha _2\in \mathbb R}\) plane, with rotation number ρ. According to the discussion in Sect. 3.5, the full non-linear flow ϕ T possesses a Cantorian family of invariant curves around x 0, with limiting rotation number ρ. When transported by the flow, these invariant curves generate two-dimensional invariant tori. Rotation numbers of the form ρ = 2πnm give rise to bifurcated families by multiplication of the period by m (further details on this kind of bifurcations can be found in [37]). The particular values ρ = 0 and ρ = π, which correspond to s i = 2 and s i = −2, respectively, are known as the parabolic case.

Note that, if a stability parameter s i satisfies |s i| < 2 on a range of energies, since for each energy in this range a one-parametric family of tori is born, across energies this family of tori becomes two-parametric.

3.8 Computation of 2D Invariant Tori

This subsection is devoted to the computation of 2D invariant tori. The method discussed, first introduced in [6], consists in looking for a curve inside the torus invariant by the time-T flow, where T is one of the periods of the torus. The formulation will be made explicit for an autonomous Hamiltonian system with three degrees of freedom (as the RTBP), but it can be modified to account for systems with a different number of degrees of freedom, non-autonomousFootnote 6 or not Hamiltonian ones.

3.8.1 Looking for a Parameterization of an Invariant Curve

According to KAM theory (see, e.g., [26]), a 2D torus born around the collinear points of the RTBP can be parameterized by a function ψ(θ 1, θ 2), 2π-periodic in θ 1, θ 2, satisfying an invariance equation of the form

$$\displaystyle \begin{aligned} \boldsymbol{\psi}(\theta_1+t\omega_1,\theta_2+t\omega_2)= \boldsymbol{\phi}_t\bigl(\boldsymbol{\psi}(\theta_1,\theta_2)\bigr), \quad \forall t\in\mathbb R, \quad \forall\theta_1,\theta_2\in[0,2\pi], \end{aligned} $$
(19)

where (ω 1, ω 2) is the vector of frequencies of the torus. Looking for a torus can be reduced to looking for an invariant curve inside it by observing that φ(ξ) := ψ(ξ, 0) parameterizes a curve invariant by \(\boldsymbol {\phi }_{2\pi /\omega _2}\), and satisfies

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(\xi+\rho)=\boldsymbol{\phi}_\varDelta\bigl(\boldsymbol{\varphi}(\xi)\bigr), \end{aligned} $$
(20)

for ρ = 2πω 1ω 2 and Δ = 2πω 2. Once we have φ, we can recover ψ by

$$\displaystyle \begin{aligned} \boldsymbol{\psi}(\theta_1,\theta_2)= \boldsymbol{\phi}_{\frac{\theta_2}{2\pi}\varDelta}\Bigl( \boldsymbol{\varphi}(\theta_1-\frac{\theta_2}{2\pi}\rho) \Bigr) . \end{aligned} $$
(21)

A calculation shows that, if φ is a 2π-periodic function satisfying (20), thenψ as defined by (21) is 2π-periodic in each variable and satisfies the invariance equation (19) for ω 1 := ρΔ, ω 2 := 2πΔ. In order to turn (20) into a finite system of non-linear equations, we can take φ as a truncated Fourier series,

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(\xi)=\boldsymbol{A}_0+\sum_{k=1}^{N_f}\Bigl( \boldsymbol{A}_k\cos{}(k\xi)+\boldsymbol{B}_k\sin{}(k\xi) \Bigr), \end{aligned} $$
(22)

with \(\{\boldsymbol {A}_k\}_{k=0}^{N_f},\{\boldsymbol {B}_k\}_{k=1}^{N_f}\subset \mathbb R^6\), and impose (20) at as many values of ξ as the number of Fourier coefficients needed. This is, we will look for φ defined as in (22) satisfying

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(\xi_j+\rho)=\boldsymbol{\phi}_\varDelta\bigl(\boldsymbol{\varphi}(\xi_j)\bigr),\qquad j=0,\dots,2{N_f}, \end{aligned} $$
(23)

with ξ j = j2π∕(1 + 2N f).

The fact that our dynamical system is autonomous gives rise to two indeterminacies:

  • An invariant curve inside a torus is not unique: if φ(ξ) satisfies (20) or (23), then \(\boldsymbol {\phi }_t\bigl (\boldsymbol {\varphi }(\xi )\bigr )\) also does, for any \(t\in \mathbb R\).

  • The origin of ξ is free: if φ(ξ) satisfies (20) or (23), then φ(ξ − ξ 0) also does, for any \(\xi _0\in \mathbb R\).

The first indeterminacy can be eliminated by prescribing the value of a coordinate of A 0 (the value chosen must be valid for the torus we are looking for). The second indeterminacy can be eliminated by prescribing a coordinate of A 1 to be zero: if we denote A 1 = (A 1,1, …, A 1,6), B 1 = (B 1,1, …, B 1,6), and assume that j ∈{1, …, 6} is such that (A 1,j, B 1,j) ≠ (0, 0), since

$$\displaystyle \begin{aligned} &{ A_{1,j}\cos{}(\xi-\xi_0)+B_{1,j}\sin{}(\xi-\xi_0) }\hspace{2em} \\ &= (A_{1,j}\cos \xi_0-B_{1,j}\sin \xi_0)\cos \xi +(A_{1,j}\sin \xi_0+B_{1,j}\cos \xi_0)\sin \xi, \end{aligned} $$

we can always choose ξ 0 such that \(A_{1,j}\cos \xi _0-B_{1,j}\sin \xi _0=0\). With the two indeterminacies removed in this way, there is a one-to-one correspondence between (approximate) Fourier coefficients of parameterizations of invariant curves φ solution of (23) and invariant 2D tori of our dynamical system.

3.8.2 The System of Equations

By solving system (23) with its two indeterminacies removed, we could compute an invariant curve φ of a torus with “longitudinal period” Δ and rotation number ρ, that via (21) would correspond to a torus with frequencies ω 1 = ρΔ, ω 2 = 2πΔ. We could also use this system in order to do continuation with respect to Δ and/or ρ and, in this way, obtain the corresponding 2-parametric family. Nevertheless, we make two more considerations before stating the final system of equations that we will solve:

  • We want to be able to prescribe values for the energy, so we will add an extra equation for this.

  • We want to overcome the effects of instability, so we will use multiple shooting, as we did in Sect. 3.6.2.

We will, therefore, look for φ 0, …, φ m−1 satisfying

$$\displaystyle \begin{aligned} \left\{ \begin{array}{rcl} H\bigl(\boldsymbol{\varphi}_0(0)\bigr)-h &=& 0 \\ \boldsymbol{\varphi}_{j+1}(\xi_i)-\boldsymbol{\phi}_{\varDelta/m}\bigl(\boldsymbol{\varphi}_j(\xi_i)\bigr) &=& 0,\quad j=0,\dots,m-2,\quad i=0,\dots,2{N_f}, \\ \boldsymbol{\varphi}_0(\xi_i+\rho)-\boldsymbol{\phi}_{\varDelta/m}\bigl(\boldsymbol{\varphi}_{m-1}(\xi_i)\bigr) &=& 0,\quad i=0,\dots,2{N_f}, \end{array} \right. \end{aligned} $$
(24)

where

$$\displaystyle \begin{aligned} \xi_i=i\frac{2\pi}{1+2{N_f}},\qquad i=0,\dots,{N_f}, \end{aligned}$$

with unknowns

$$\displaystyle \begin{aligned} h,\varDelta,\rho,\boldsymbol{A}^0_0,\boldsymbol{A}^0_1,\boldsymbol{B}^0_1,\dots,\boldsymbol{A}^0_{N_f},\boldsymbol{B}^0_{N_f}, \ \dots\ ,\boldsymbol{A}^{m-1}_0,\boldsymbol{A}^{m-1}_1,\boldsymbol{B}^{m-1}_1,\ \dots\ , \boldsymbol{A}^{m-1}_{N_f},\boldsymbol{B}^{m-1}_{N_f}, \end{aligned}$$

(except for a coordinate of \(\boldsymbol {A}_0^0\) and another one of \(\boldsymbol {A}^0_1\), according to the previous subsection) with \(h,\varDelta ,\rho \in \mathbb R\), \(\boldsymbol {A}^l_j,\boldsymbol {B}^l_j\in \mathbb R^6\) and

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}_l(\xi)=\boldsymbol{A}^l_0+\sum_{j=0}^{N_f}\Bigl( \boldsymbol{A}^l_j\cos{}(j\xi)+\boldsymbol{B}^l_j\sin{}(j\xi) \Bigr). \end{aligned} $$
(25)

In order to compute a single torus, we can solve system (24) keeping constant, in addition to the coordinates given by the considerations of the previous subsection, two parameters among h, ρ, T. This will fix a torus within its two-parametric family. In order to continue this torus via the pseudo-arclength method, only one of the parameters h, ρ, T must be keep fixed. Two interesting cases are:

  • To fix ρ to a number with good Diophantine properties. For instance, a noble number (a number with continued fraction expansion equal to one from a point on).

  • To fix h, in order to follow an iso-energetic family of tori. In this case, care must be taken because the family is not continuous but Cantorian: the pseudo-arclength method will work as long as the gaps due to resonances are small.

Note that, both in the computation of a single torus and in the continuation of a one-parametric subfamily, we end up with a system of non-linear equations with more equations than unknowns. Namely, in the first case the system is \(\bigl (1+6m(1+2{N_f})\bigr )\times \bigl (-1+6m(1+2{N_f})\bigr )\), whereas in the second case is \(\bigl (1+6m(1+2{N_f})\bigr )\times 6m(1+2{N_f})\). This is not a problem as long as we use the modified Newton method of Sect. 3.2. Note that, when solving the linear system for the Newton correction, d must be set to zero in the case of the computation of a single torus, whereas it must be set to one in the case of continuation of a one-parametric subfamily.

Once a torus has been computed (either individually of by continuation), an estimate of its error can be obtained by evaluating the invariance equation in a refinement of the discretization in ξ used for its computation. In this way, we can use the estimate

$$\displaystyle \begin{aligned} \max_{j=0,\dots,M}\left\| \renewcommand{\arraystretch}{1.50} \left(\begin{array}{c} \Bigl( \boldsymbol{\varphi}_{l+1}(\tilde\xi_j) -\boldsymbol{\phi}_{\varDelta/m}\bigl(\boldsymbol{\varphi}_l(\tilde\xi_j)\bigr) \Bigr)_{l=0}^{m-2} \\ \boldsymbol{\varphi}_0(\tilde\xi_j+\rho) -\boldsymbol{\phi}_{\varDelta/m}\bigl(\boldsymbol{\varphi}_{m-1}(\tilde\xi_j)\bigr) \end{array}\right) \right\| \end{aligned} $$
(26)

for \(\tilde \xi _j=j2\pi /M\) and M ≫ 1 + 2N f. The value of this estimate can be used to choose the number of Fourier coefficients N f. When doing continuation, N f can be increased or decreased in order to keep this error estimate within a prescribed interval. Observe that large values of N f will give rise to large systems of equations. The time needed for their solution, which requires O((6m(1 + 2N f))3) operations, will overcome the time needed for numerical integration and become the computational bottleneck of the procedure.

3.8.3 Starting from the Central Part of a Periodic Orbit

According to the discussion of Sect. 3.7, a family of periodic orbits with an elliptic stability parameter in a range of energies gives rise to a 2-parametric family of invariant tori. Here we will develop formulae from the linear flow around the backbone periodic orbit in order to obtain initial conditions to start the continuation of such a family of tori using system (24).

For an arbitrary function G, let us denote the linearization of G around y 0 as

$$\displaystyle \begin{aligned} L^{\boldsymbol{y}_0}_{\boldsymbol{G}}(\boldsymbol{y})=\boldsymbol{G}(\boldsymbol{y}_0)+D\boldsymbol{G}(\boldsymbol{y}_0)(\boldsymbol{y}-\boldsymbol{y}_0). \end{aligned}$$

Let x 0 be an initial condition of a T-periodic orbit, with a stability parameter \(s_i=\lambda _i+\lambda _i^{-1}\) satisfying |s i|≤ 2 and \(\lambda _i=\cos \nu +\boldsymbol {i}\sin \nu \). If we define F := ϕ T, then x 0 is a fixed point of F, and Eq. (11) provides an expression for an invariant curve of the linearized flow. In this expression, ξ can be substituted by ξ − ξ 0, and then we have that

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\varphi}}(\xi) := \boldsymbol{x}_0+\gamma\Bigl( (\boldsymbol{v}_1\cos \xi_0+\boldsymbol{v}_2\sin \xi_0)\cos\xi+ (\boldsymbol{v}_1\sin \xi_0-\boldsymbol{v}_2\cos \xi_0)\sin\xi \Bigr) \end{aligned}$$

also satisfies

$$\displaystyle \begin{aligned} L_{\boldsymbol{\phi}_T}^{\boldsymbol{x}_0}\bigl(\bar{\boldsymbol{\varphi}}(\xi)\bigr)=\bar{\boldsymbol{\varphi}}(\xi+\nu), \end{aligned} $$
(27)

which is the linearized-flow version of Eq. (20). Therefore, as initial seed to get a torus around the o.p., we can take

$$\displaystyle \begin{aligned} h &= H(\boldsymbol{x}_0), & \boldsymbol{A}_0^l &= \boldsymbol{\phi}_{lT/m}(\boldsymbol{x}_0), \\ \varDelta &= T, & \boldsymbol{A}^l_1 &= D\boldsymbol{\phi}_{lT/m}(\boldsymbol{x}_0) \bigl(\boldsymbol{v}_1\cos \xi_0+\boldsymbol{v}_2\sin \xi_0\bigr), \\ \rho &= \nu, & \boldsymbol{B}^l_1 &= D\boldsymbol{\phi}_{lT/m}(\boldsymbol{x}_0) \bigl(\boldsymbol{v}_1\sin \xi_0-\boldsymbol{v}_2\cos \xi_0\bigr), \\ & & \boldsymbol{A}^l_j &= \boldsymbol{B}^l_j=0, \quad j\geq2,\ l=0,\dots,m-1. \end{aligned} $$

The parameter γ should be chosen small enough for Eq. (27) to be a good approximation of Eq. (20). All the computations of Sect. 3.9 have been done with either γ = 10−3 or γ = 10−4. The free parameter ξ 0 can be chosen in order to make zero a coordinate of \(\boldsymbol {A}^0_1\), and in this way avoid the second indeterminacy discussed in Sect. 3.8.1. An additional problem when computing a first torus around a periodic orbit is that the periodic orbit has a large basin of attraction and is also a (singular) solution of system (24). A way to prevent falling back to it during the Newton iterations is to keep constant a coordinate of \(\boldsymbol {A}^0_1\) or \(\boldsymbol {B}^0_1\). A good choice is \(B^0_{1,j}\), for j such that \(A^0_{1,j}\) is being kept equal to zero in order to prevent the second indeterminacy of Sect. 3.8.1.

When we obtain a first invariant curve around a periodic orbit in this way we will say that we are “starting longitudinally to the periodic orbit”, because we obtain a tiny invariant curve around x 0 for which, in the evaluation of the flow in (24), numerical integration in order to come back to it is “along the periodic orbit”. It will be convenient later to be able to obtain a first invariant curve not tiny but approximately of the same size of the periodic orbit and close to it. We will call this second strategy “starting transversally to the periodic orbit”.

In order to develop formulae for this second case, we first globalize the invariant curve \(\bar {\boldsymbol {\varphi }}\) of the linearized flow to a whole 2D torus by

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\psi}}(\theta_1,\theta_2) := L_{\boldsymbol{\phi}_{T\theta_2/(2\pi)}}^{\boldsymbol{x}_0}\Bigl( \bar{\boldsymbol{\varphi}}(\theta_1-\frac{\theta_2}{2\pi}\rho) \Bigr) . \end{aligned}$$

A calculation shows that \(\bar {\boldsymbol {\psi }}\) satisfies the linearized-flow equivalent of the invariant equation (19), namely

$$\displaystyle \begin{aligned} L^{\boldsymbol{\phi}_{T\theta_2/(2\pi)}(\boldsymbol{x}_0)}_{\boldsymbol{\phi}_t}\bigl( \bar{\boldsymbol{\psi}}(\theta_1,\theta_2) \bigr) = \bar{\boldsymbol{\psi}}\Bigl( \theta_1+t\frac\nu T,\theta_2+t\frac{2\pi}T \Bigr). \end{aligned}$$

The invariant curve we are looking for will be close to \(\bar {\boldsymbol {\psi }}(0,\theta _2)\). In order to find it, and since ν can be substituted by ± ν + j2π in all the previous expressions, we can take as initial seed

$$\displaystyle \begin{aligned} h=H(\boldsymbol{x}_0),\quad \varDelta=\frac{2\pi}{\pm\nu+j2\pi} T,\quad \rho=\frac{(2\pi)^2}{\pm\nu+j2\pi}+k2\pi, \end{aligned} $$
(28)

and \(\boldsymbol {A}^l_k\), \(\boldsymbol {B}^l_k\) coming from a Discrete Fourier transform (DFT) of \(\{\bar {\boldsymbol {\psi }}(0,j\frac {2\pi }N)\}_{j=0}^{N-1}\). Some notation for the DFT and its relation with Fourier coefficients is developed in Sect. 5.2.

3.9 Numerical Exploration of the Dynamics Around the L 1 Point of the Earth-Moon RTBP

The goal of this subsection is to implement the hierarchical approach mentioned at the beginning of this section in order to systematically compute families of periodic orbits and tori around a collinear libration point of the RTBP. This can be also seen as numerically growing the center manifold of the collinear libration point. The numerical results shown, which are a subset of the ones in [14], will be for the L 1 point and the Earth-Moon mass ratio. In all the computations of this subsection, the flow of the RTBP and its differential with respect to initial conditions have been evaluated according to the discussion of Sect. 2.4, using as one-step method with step size control for numerical integration a Runge-Kutta-Fehlberg one of orders 7 and 8 [10] with tolerance 10−14. The value used for the Earth-Moon mass ratio is

$$\displaystyle \begin{aligned} \mu=1.215\,0585\,6096\,2404\cdot10^{-2}, \end{aligned} $$
(29)

as obtained from the DE406 JPL ephemeris file [40].

3.9.1 Periodic Orbits

The linear behavior around the L 1 point for the Earth-Moon mass ratio is of the type center×center×saddle [42]. This is, if we denote by \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\) the vector field of the RTBP, as in Eqs. (1), (2), we have

$$\displaystyle \begin{aligned} \mathop{\mathrm{Spec}}\nolimits D\boldsymbol{X}(L_1) = \{ \boldsymbol{i}\omega_p, -\boldsymbol{i}\omega_p, \boldsymbol{i}\omega_v, -\boldsymbol{i}\omega_v, \lambda, -\lambda \} , \end{aligned} $$
(30)

for ω p, ω v, λ > 0. As discussed in Sect. 3.4, Lyapunov’s center theorem ensures that each center gives rise to a family of periodic orbits. In the expression for \( \mathop {\mathrm {Spec}} \nolimits D\boldsymbol {X}(L_1)\) above, ω p (resp. ω v) can be chosen in such a way that the eigenplane corresponding to the eigenvalues ±i ω p (resp. ±i ω v) is contained in {z = p z = 0} (resp. {x = p x = y = p y = 0}). Because of this, the family of periodic orbits related to the ±i ω p (resp. ±i ω v) eigenvalues is known as the planar (resp. vertical) Lyapunov family. Initial guesses to start the numerical continuation (see Sect. 3.1) of these families can be obtained from (9). When doing Newton iterations on system (17) to find the first periodic orbit, a convenient way to avoid falling back to the L 1 point (which is a singular solution of system (17) with a large basin of attraction) is to keep constant a coordinate of x 0.

Fig. 4
figure 4

Characteristic curve (in violet) and stability parameters (in green) of the vertical Lyapunov family around L 1 of the Earth-Moon RTBP

Fig. 5
figure 5

Characteristic curve (in violet) and stability parameters (in green) of the planar Lyapunov family around L 1 of the Earth-Moon RTBP

A convenient way to represent a family of periodic orbits that has been obtained by numerical continuation is by plotting the period and the stability parameters (18) of its orbits with respect to energy. The period vs. energy curve is known as characteristic curve. Figure 4 represents the characteristic curve and stability parameters of the vertical Lyapunov family. This family starts at energy − 1.59417 (the one of L 1), has a bifurcation at energy − 1.49590, that will be commented later, and ends at a large planar orbit with energy 0.41391, that surrounds the Earth and the collinear points L 1, L 3. Plots of sample orbits of this family and all the other families of periodic orbits that we will consider can be found in [32].

In Fig. 5 we have represented the characteristic curve and stability parameters of the planar Lyapunov family. This family starts at energy − 1.59417 (the one of L 1), has several bifurcations and ends at a collision with the Earth.Footnote 7 According to [23], the only possible kinds of bifurcation from the planar Lyapunov family to a family of three-dimensional orbits are the ones sketched in Fig. 6. Types A and B correspond to a stability parameter crossing 2, whereas types C and D correspond to a stability parameter crossing − 2 (and thus are period-doubling bifurcations). In cases A, B not one but two families of periodic orbits bifurcate from the planar family. The two bifurcated families are symmetric with respect to {z = 0}. Assuming that the Poincaré section used in the continuation of the planar Lyapunov family is {y = 0},Footnote 8 an initial condition for one of such bifurcated orbits can be obtained by doing a small displacement in the z coordinate for types A, C, D, and in the p z coordinate for type B. The displaced coordinate can be kept constant during Newton iterations on system (17) in order to avoid falling back to an orbit in the planar Lyapunov family. The bifurcations found for the planar Lyapunov family, together with its classification according to [23], are given in Table 1.

Table 1 Bifurcations of the planar Lyapunov family around L 1 of the Earth-Moon RTBP
Fig. 6
figure 6

Possible bifurcation types of a bifurcating planar Lyapunov orbit to a non-planar family

The first bifurcation of the planar Lyapunov family gives rise to the two symmetric families of periodic orbits known as halo orbits. The corresponding characteristic curve and stability parametersFootnote 9 are shown in Fig. 7. Both families end at a large planar orbit that surrounds the Earth, the Moon and the collinear points L 1, L 2. For a large range of energies halo orbits have complex (non-real) stability parameters; Fig. 8 zooms Fig. 7 in order to show the transition from real to complex stability parameters and vice-versa. In Fig. 8 left, it is also shown how the small stability parameter goes across \(2\cos {}(2\pi /3)\) once, at energy − 1.52944, and across \(-2=2\cos {}(2\pi /2)\) twice, at energies − 1.51081, − 1.51033. The first case gives rise to two period-triplicated bifurcated families of periodic orbits, one with elliptic-hyperbolic normal behaviour and the other one with elliptic-elliptic normal behaviour. The second case gives rise to a period-duplicated family of periodic orbits with elliptic-elliptic normal behaviour. The third case gives rise to another period-duplicated family of periodic orbits but with elliptic-hyperbolic normal behaviour. These three bifurcations take place for each of two symmetric halo families. As discussed in Sect. 3.7, there are many more bifurcations, but these three will play a role in the computations of invariant tori of the next subsection. The actual initial conditions used to find orbits of these families have been found by shooting from invariant tori nearby.

The second bifurcation of the planar Lyapunov family gives rise to two families, symmetric with respect to z = 0, that can be thought as a two-lane bridge that connects the planar Lyapunov family with the vertical one at its bifurcation at energy − 1.49590. Some orbits of this family are shown in Fig. 9. Table 1 still reflects a third bifurcation of the planar family that we do not follow, because it takes place at an energy outside the range of energies that will be reached by the continuation of invariant tori of the next subsection.

Fig. 7
figure 7

Characteristic curve (in violet) and stability parameters (in green and blue) of the halo family around L 1 of the Earth-Moon RTBP. In the case \(s_1\in \mathbb {C}\backslash \mathbb R\), \(s_2=\bar s_1\) (complex saddle), \( \mathop {\mathrm {Re}} \nolimits s_1\) and \( \mathop {\mathrm {Im}} \nolimits s_1\) are represented in blue

Fig. 8
figure 8

Magnifications of Fig. 7 showing the transitions to and from complex saddle

Fig. 9
figure 9

Some orbits in the two-lane bridge joining the planar Lyapunov family around L 1 of the Earth-Moon RTBP and the vertical one

3.9.2 Invariant Tori

The first families of tori around the libration point L 1 that we will compute will be the ones of constant rotation number ρ starting longitudinally from the vertical Lyapunov family of periodic orbits. The range of values of ρ to be considered is thus provided by the values of ν > 0 such that, according to Sect. 3.8.3, \(2\cos \nu \) is one of the stability parameters of the base vertical Lyapunov orbit. Therefore, initiating the continuation of each constant ρ family requires to find a initial condition of a vertical periodic orbit corresponding to a specific value of ν. This initial condition is obtained by continuation of system (17). Since ν is not a continuation variable, it must be considered a function of a continuation variable, for instance ν = ν(h). The value of h providing a prescribed value of ν(h) can be found by a numerical one-dimensional zero-finding method. A good choice is Brent’s (see e.g. [36]), since it has fast, global convergence and does not require computing derivatives.

Fig. 10
figure 10

Energy-rotation number representation of the tori computed around the Lyapunov families of periodic orbits around L 1 of the Earth-Moon RTBP. The region delimited by the curves α, β, γ, which contains the tori, is divided in subregions according to the values of N f used in the computation of each torus

If we represent the value of ν with respect to energy along the vertical Lyapunov family of periodic orbits for the range of energies in which they have central part (see Fig. 4), we obtain the curve labeled β in Fig. 10. This curve goes from the point P 2, that corresponds to the collinear point L 1, to the point P 3, that corresponds the bifurcation of the vertical Lyapunov family at energy − 1.4959 (see Fig. 4). Our first continuation of families of tori, with constant rotation number, has been done by choosing an approximately equally spaced grid of noble values of ρ (in order to stay away from resonances, as discussed in Sect. 3.8.2), ranging from the ordinate value of the point P 2 of Fig. 10 to the maximum value of ν along the β curve, and starting longitudinally from the leftmost planar Lyapunov periodic orbit of the β curve with stability parameter \(2\cos \rho \). Each of the obtained families of tori, with constant ρ, that would be seen in Fig. 10 as a horizontal line, collapses at a vertical Lyapunov orbit of higher energy, as the shape of the β curve suggests. With this first continuation we cover the region in Fig. 10 delimited by the curves α, β, γ with ρ ≥ ρ(P 2). This continuation of families of invariant tori, and all the remaining continuations that we will describe, have been done by solving system (24) with m = 2, a tolerance of 10−11 for Newton iterations, and with continuation step size control with n des = 4 in (7). In the continuation of each family, the number of harmonics N f of the Fourier expansions (25) has been determined in order to keep the estimate (26) under 10−10. In addition to this, an upper limit of N f = 100 has been set. When this limit is reached, the error estimate (26) is allowed to grow up to 10−8 and, when this happens, the continuation is stopped. This has never happened in this first exploration.

In order to cover the region within the curves α, β, γ with ρ < ρ(P 2), a possibility would be to start from the β curve and go downwards. This means to perform continuation of families of tori with h constant. If h is close to the energy of L 1, the iso-energetic family of tori obtained should end by collapsing to a planar Lyapunov orbit, because this is what happens linearly. The actual tori of such a continuation are shown in Fig. 11, for h = −1.59. Although the tori do collapse to a planar orbit, the corresponding invariant curves φ 0 obtained by solving system (24) do not collapse to a point but tend to the whole ending planar Lyapunov orbit. The limiting value of ρ is numerically checked to be

$$\displaystyle \begin{aligned} \frac{(2\pi)^2}{2\pi-\nu}-2\pi, \end{aligned} $$
(31)

where ν is such that \(2\cos \nu \) is a stability parameter of the ending planar Lyapunov periodic orbit. Therefore, according to (28), the same invariant curves within the tori of Fig. 11 could be obtained by starting transversally from this ending planar Lyapunov orbit. The α curve of Fig. 10 is obtained by plotting expression (31) as a function of h, with ν such that \(2\cos \nu \) is a stability parameter of the planar Lyapunov orbit of energy h. The point with label P 1 in this curve corresponds to the bifurcation of the planar Lyapunov family of periodic orbits to the halo families (see Fig. 5 and Table 1). The family of tori of Fig. 11 would be seen in Fig. 10 as a vertical line with h = −1.59 that goes from the curve β to the curve α.

Fig. 11
figure 11

Sample tori of the iso-energetic family starting from the vertical Lyapunov periodic orbit around L 1 of the Earth-Moon RTBP of energy − 1.59

In order to complete the computation of invariant tori within the curves α, β, γ, and in order to avoid “jumping over resonances”, we go back to the constant ρ continuation strategy. From the discussion in the last paragraph, the remaining tori within the α, β, γ curves can be computed by starting transversally from the family of planar Lyapunov periodic orbits, for an approximately equally spaced grid of noble values of ρ of the form (31), for the range of values of ν that produced the α curve. When doing so, some of the corresponding constant-ρ families of invariant tori with largest ρ value have reached a vertical Lyapunov periodic orbit of higher energy. The remaining ones have stopped due to the N f = 100 computational limit. For each value of ρ in which this has happened, we have also continued for decreasing energies the family with constant ρ starting longitudinally from the rightmost vertical Lyapunov periodic orbit of the β curve with this ρ value. In this way, we have covered with invariant tori all the region within the α, β, γ curves of Fig. 10 except for the one labeled as > 100. By allowing for N f > 100, some of the tori of this last region could be computed. Many of them, however, simply do not exist, because, as we will see later, as ρ goes to zero for fixed energies larger than the one of the point P 1 in Fig. 10, we approach homoclinic connections of periodic orbits.

The α, β, γ curves of Fig. 10 delimit a set of tori that can be considered a single family, since all of these tori can be reached by numerical continuation starting from L 1. Close to L 1, the tori of this family are the ones given by KAM theory. Trajectories in them are known as Lissajous trajectories by the astrodynamics community. We will thus denote this family as the Lissajous family of invariant tori. Tori in this family can be considered to have “natural” frequencies ω v(T, ρ), ω p(T, ρ), obtained by continuation from the frequencies ω v, ω p of the collinear point L 1 in Eq. (30). An application of Lyapunov’s center theorem shows that

$$\displaystyle \begin{aligned} T=\frac{2\pi}{\omega_v(T,\rho)} ,\quad \rho=2\pi\Bigl(\frac{\omega_p(T,\rho)}{\omega_v(T,\rho)}-1\Bigr) . \end{aligned}$$

Following the strategy of choosing an approximately equally spaced grid of noble values of ν along a family of periodic orbits with \(2\cos \nu \) a central stability parameter and starting longitudinally the family of invariant tori with constant rotation number ρ = ν, we have also performed numerical continuation of several additional families of invariant tori. These additional families are:

  • Invariant tori around halo orbits, from the beginning of the family up to its first turning point in the energy (see Figs. 7 and 8 left).

  • Invariant tori around the elliptic-hyperbolic period-triplicated halo-type family of periodic orbits, from the beginning of the family up to the energy in which the central stability parameter crosses − 2.

  • Invariant tori around the elliptic-hyperbolic period-duplicated halo-type family of periodic orbits, in an energy range analogous to the previous one.

  • Invariant tori around planar Lyapunov orbits, in a short energy range starting at the bifurcation of the two-lane bridge joining it with the vertical one, in order to complete the Poincaré sections of Fig. 14.

Except for the last one, these families are represented in Fig. 12 in h-ρ plots analogous to Fig. 10. Contrary to the Lissajous family of invariant tori, none of these new families has been described completely. The numerical continuations have been stopped when the N f = 100 computational limit has been reached. How these families further evolve is an open question.

Fig. 12
figure 12

Representation of the invariant tori computed around (a) halo orbits, (b) period-triplicated halo-type orbits and (c) period-duplicated ones. The outermost dotted curve represents reaching the computational limit N f = 100

3.9.3 Iso-Energetic Poincaré Sections

Since the center manifold of L 1, W c(L 1), is four-dimensional, its restriction to an energy value, W c(L 1) ∩{H = h}, would be three-dimensional, and a Poincaré section in this restriction, W c(L 1) ∩{H = h}∩ Σ, would be two-dimensional. Following [15, 25], it is convenient to visualize W c(L 1) by a sequence of iso-energetic Poincaré sections. This is done in Figs. 13 and 14, using the Poincaré section Σ := {z = 0, p z > 0}. In order to be able to produce these figures, in the continuation of each constant ρ family of tori of the previous subsection, the tori of the energies of the plots of Fig. 13 have been obtained by doing Newton iterations keeping h constant, starting from pseudo-arclength predictions from nearby tori (see Algorithm 3).

Fig. 13
figure 13

Iso-energetic Poincaré sections with Σ = {z = 0, p z > 0} of the families of periodic orbits and invariant tori computed. The last plot is a magnification around the period-triplicated halo-type family of periodic orbits

All the plots of Fig. 13 have a similar structure. The exterior curve in each plot is a Lyapunov planar orbit of the energy level corresponding to the plot. Strictly speaking, the Poincaré section is not valid for this orbit, so it should not have been plotted. Nevertheless, it is useful to use it as boundary of W c(L 1) ∩ Σ at the energy of the plot. The closed curves inside the region bounded by the Lyapunov planar orbit are the intersections with Σ of the invariant tori computed in the previous subsection. These intersections are computed through Algorithm 1, starting from the invariant curve φ 0 (see system (24)) of each torus.

In all the plots there is a fixed point on the x axis associated to the vertical Lyapunov orbit. This point is not represented, but outlined by the smallest blue curves. For small energy values, the whole picture is formed by invariant curves surrounding this fixed point. They are associated to the intersections with Σ of Lissajous-type trajectories around the vertical periodic orbit, whose evolution from the vertical Lyapunov periodic orbits to the planar one is similar to the one displayed in Fig. 11. At the energy levels in which halo orbits have bifurcated from the planar Lyapunov family, there appear two additional fixed points, again not represented but outlined by the smallest violet invariant curves. Increasing the values of the energy, the halo family undergoes the two bifurcations mentioned in Sect. 3.9.1, by period triplication and duplication. Within the bifurcated families there are some with central part, which are surrounded by invariant tori, also computed in the previous subsection, whose Poincaré sections provide here the red invariant curves. These invariant curves give rise to the “island chain” structure typical of two-dimensional area-preserving maps (compare with Fig. 3). To display more clearly this behaviour, the last plot of Fig. 13 displays a magnification of the bifurcated periodic orbits and its surrounding invariant tori.

The region between the tori around the vertical Lyapunov orbit and the tori around the halo orbits is not empty, as it appears in the above figures. It should contain, at least, the traces on the surface of section of the invariant manifolds of the Lyapunov planar orbit. These manifolds act as separatrices between both kinds of tori. The same thing happens between the islands of the bifurcated halo-type orbits and the tori around halo orbits. In this case, the region between both kinds of tori is filled with the traces of the invariant manifolds of the bifurcated hyperbolic halo-type orbits. In all these boundary regions, the motion should have chaotic behaviour. The numerical methods of this section are not able to capture this chaotic motion, but the semi-analytical methods of the next section can capture it.

The plot corresponding to energy − 1.507, shown in Fig. 14, has more structure. For this energy level, the two-lane bridge between the planar and vertical Lyapunov families of periodic orbits has already bifurcated, so the planar family has gained central part, and its periodic orbits are again surrounded by invariant tori. The {z = 0} sections of these tori are the outermost curves that appear in Fig. 14 (in this case, the planar Lyapunov periodic orbit, that surrounds all these curves, is not represented). In the figure, the two diamond points are the fixed points corresponding to the intersections of the two orbits of the bridge with the surface of section. The invariant manifolds of these bifurcated periodic orbits are the ones that must act as separatrices between the tori around the halo orbits and the tori around the vertical Lyapunov orbit of this energy.

Fig. 14
figure 14

Poincaré section corresponding to energy − 1.507

4 Semi-Analytical Computation of Invariant Objects Using the Parameterization Method

The parameterization method is an approach to the study of invariant manifolds, whose general idea is to seek for parameterizations of invariant manifolds as solution of invariance equations, that are simplified through changes of variables that exploit geometrical properties. It is a strong point of this approach that “theoretical” and “numerical” are two aspects of the same philosophy. On the one hand, the proofs are constructive and can be turned into algorithms. On the other hand, these algorithms, when implemented with rigorous numerics based on interval arithmetic, can be turned into computer assisted proofs. Since its introduction in [5], it has been used by many authors. A recent review, that also has some original developments, can be found in [21].

Here we will be concerned with the use of the parameterization method for the (non-rigorous) computation of Taylor expansions of invariant manifolds around fixed points of flows. It will be applied to the computation of the center manifold of the collinear points L 1, L 2, of the Earth-Moon RTBP. In this way, this variant of the parameterization method can be seen as a semi-analytical technique for the computation of the invariant objects inside the center manifold of the collinear points of the RTBP. An earlier technique, known as reduction to the center manifold [15, 25], produces essentially the same results. The parameterization method has some advantages in computational speed, generality (the implementation is independent of the dynamical system under study, the RTBP in our case) and flexibility, since the coordinates of the manifold can be adapted to the dynamics, as we will see in Sect. 4.4.2.

The discussion will follow chapter 2 of [21] except for some notational changes, additional computations and plots. The software package in http://www.maia.ub.edu/dsg/param/ includes a C routine that computes expansions of invariant manifolds of fixed points of flows as described below.

4.1 The Method

Assume we are given a continuous, n-dimensional dynamical system \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\) with a fixed point p at which the differential of the vector field is diagonalizable. We would like to compute a d-dimensional manifold that contains the fixed point and is tangent to a d-dimensional eigenspace of the differential of the vector field. By a change of variables of the form

$$\displaystyle \begin{aligned} \boldsymbol{x}=\boldsymbol{p}+P\boldsymbol{y}, \end{aligned}$$

our original system can be turned into \(\dot {\boldsymbol {y}}=\boldsymbol {Y}(\boldsymbol {y})\), y = (y 1, …, y n), with \(D\boldsymbol {Y}(0)= \mathop {\mathrm {diag}} \nolimits (\lambda _1,\dots ,\lambda _n)\), \(\lambda _i\in \mathbb {C}\), in such a way that the eigenspace of interest is \(\{\boldsymbol {y}\in \mathbb R^n:y_{d+1}=\dots =y_n=0\}\). Then our goal is to compute an expansion of a d-dimensional manifold that contains the origin, is invariant by the flow, and is tangent to the y 1, …, y d coordinates.

To do this, we look for \({\boldsymbol {W}}:\mathbb {C}^d\longrightarrow \mathbb {C}^n\), parameterization of the manifold, and for \(\boldsymbol {f}:\mathbb {C}^d\longrightarrow \mathbb {C}^d\), the vector field reduced to the manifold. In this way, if we denote by \(\boldsymbol {s}\in \mathbb {C}^d\) the parameters describing the manifold, then the differential equations in parameter space are \(\dot {\boldsymbol {s}}=\boldsymbol {f}(\boldsymbol {s})\). From the parameterization of the manifold W(s) in the y variables, a parameterization of the manifold in the original x variables can be recovered as

$$\displaystyle \begin{aligned} \bar{\boldsymbol{W}}(\boldsymbol{s})=\boldsymbol{p}+P{\boldsymbol{W}}(\boldsymbol{s}). \end{aligned} $$
(32)

In order to find W, f we need to solve the invariance equation:

$$\displaystyle \begin{aligned} \boldsymbol{Y}\bigl({\boldsymbol{W}}(\boldsymbol{s})\bigr)=D{\boldsymbol{W}}(\boldsymbol{s})\boldsymbol{f}(\boldsymbol{s}). \end{aligned} $$
(33)

Assume that W, f are expanded as power series in s,

$$\displaystyle \begin{aligned} {\boldsymbol{W}}=\sum_{k\geq 1}{\boldsymbol{W}}_k ,\quad \boldsymbol{f}=\sum_{k\geq 1}\boldsymbol{f}_k, \end{aligned}$$

with W k n-vector and f k d-vector of homogeneous polynomials of degree k in s = (s 1, …, s d),

$$\displaystyle \begin{aligned} {\boldsymbol{W}}_k=(W_k^1,\dots,W_k^n) , \quad W_k^i=\sum_{\scriptscriptstyle m_1+\dots+m_d=k} W_{k,m}^is_1^{m_1}\dots s_d^{m_d} , \end{aligned}$$

for \(m=(m_1,\dots ,m_d)\in \mathbb N^d\). With these notations, we can solve the invariance equation order by order. Orders 0, 1 are satisfied by taking:

$$\displaystyle \begin{aligned} \begin{array}{r@{\,}c@{\,}l@{\qquad }r@{\,}c@{\,}l} {\boldsymbol{W}}_0 &=& 0, & {\boldsymbol{W}}_1 &=& (s_1,\,\dots\,,s_d,0,\,\dots\,,0),\\ \boldsymbol{f}_0 &=& 0, & \boldsymbol{f}_1 &=& (\lambda_1s_1,\,\dots\,,\lambda_ds_d). \end{array} \end{aligned}$$

Now assume that

$$\displaystyle \begin{aligned} {\boldsymbol{W}}_{<k} &:= {\boldsymbol{W}}_1+\dots+{\boldsymbol{W}}_{k-1}, \\ \boldsymbol{f}_{<k} &:= \boldsymbol{f}_1+\dots+\boldsymbol{f}_{k-1} \end{aligned} $$

are known. If we restrict Eq. (33) to its terms of order k, we obtain the order-k cohomological equation. By putting all the unknown terms in the left-hand side and all the known terms in the right-hand one, we obtain as right-hand side

$$\displaystyle \begin{aligned} {\boldsymbol{R}}_k:=[\boldsymbol{Y}({\boldsymbol{W}}_{<k}(\boldsymbol{s}))]_k -\sum_{l=2}^{k-1}D{\boldsymbol{W}}_{k-l+1}(\boldsymbol{s})\boldsymbol{f}_l(\boldsymbol{s}), \end{aligned} $$
(34)

where [ ]k stands for “terms of order k”. The evaluation of the second term in the previous expression involves products of homogeneous polynomials. The first term, which consists in plugging the known part of W into the vector field and obtaining the terms of degree k, is computationally more costly. High efficiency is achieved through the use of automatic differentiation, as will be discussed below.

The expression for the left-hand side of the order-k cohomological equation depends on the component. The whole order-k cohomological equation reads

$$\displaystyle \begin{aligned} (\langle\bar{\lambda},m\rangle-\lambda_i)W_{k,m}^i+f_{k,m}^i &= R_{k,m}^i, && \mbox{for }i\in \{ 1,\dots, d\}, \end{aligned} $$
(35)
$$\displaystyle \begin{aligned} (\langle\bar\lambda, m\rangle-\lambda_i)W_{k,m}^i &= R_{k,m}^i, && \mbox{for }i\in \{d+1,\dots, n\}, \end{aligned} $$
(36)

where \(\bar \lambda :=(\lambda _1,\dots ,\lambda _d)\), \(\langle \bar \lambda ,m\rangle :=\lambda _1m_1+\dots \lambda _dm_d\). The manifold can be computed as long as (36) can be solved, this is, there are no \(m\in \mathbb N^d,i\in \{d+1,\dots ,n\}\) such that \(\lambda _i=\langle \bar \lambda ,m\rangle \), which would be a cross-resonance. The solution of (35) can be done in several ways, that give rise to different styles of parameterization:

  • The graph style, that consists in taking \(W_{k,m}^i=0\), \(f_{k,m}^i=R_{k,m}^i\), as to obtain W 1(s) = s 1,…, W d(s) = s d, so that, in y coordinates, the manifold is the graph of the function (W d+1, …, W d).

  • The normal form style, in which the expansion of f is taken as simple as possible:

    $$\displaystyle \begin{aligned} W^i_{k,m} &= 0, & f_{k,m}^i &= R_{k,m}^i, &&\quad \mbox{if }\langle\bar\lambda,m\rangle-\lambda_i=0,\\ W^i_{k,m} &= R_{k,m}^i/(\langle\bar\lambda,m\rangle-\lambda_i), & f_{k,m}^i &=0, &&\quad \mbox{otherwise}. \end{aligned} $$

    When \(\lambda _i=\langle \bar \lambda ,m\rangle \) for i ∈{1, …, d}, one speaks of an internal resonance.

  • The following mixed style, that, given sets of indexes I 1, …, I N ⊂{1, …, n}, turns the sets {s i = 0, i ∈ I l}, l = 1, …, N, into invariant submanifolds:

    $$\displaystyle \begin{aligned} W^i_{k,m} &=R_{k,m}^i, & f_{k,m}^i &= 0, && \mbox{if }\exists l:\ i\in I_l\mbox{ and }m_j=0\ \forall j\in I_l, \\ W^i_{k,m} &= 0, & f_{k,m}^i &= R_{k,m}^i, && \mbox{otherwise}. \end{aligned} $$

    This mixed style allows adapting the parameterization to the dynamics, as will be shown in the examples that follow.

Note that, as a whole, the order-k cohomological equation is linear and diagonal: each unknown monomial of the left-hand side is computed as a constant times the corresponding monomial of the right-hand side. All the computational effort goes in the evaluation of R k.

4.2 Efficiency Considerations

Once the R k term is computed, the solution of the order-k cohomological equation with any of the styles previously mentioned is very fast. Assuming that we have explicit formulae for the vector field, as is the case in the RTBP, the evaluation of R k as given in (34) depends on both being able to perform sums and products of denseFootnote 10 multivariate polynomials and being able to compose truncated (multivariate) power series into elementary functions such as sine or square root.

An strategy for an efficient implementation of the product of homogeneous polynomials is to represent them recursively with respect to the number of variables. A d-variate homogeneous polynomial of degree k can be represented as a linear combination of (d − 1)-variate polynomials of degrees k, k − 1, …, 0: for s = (s 1, …, s d), \(\hat s=(s_1,\dots ,s_{d-1})\),

$$\displaystyle \begin{aligned} f_k(s) = f_k^d(\hat s) + f_{k-1}^d(\hat s) s_d + \dots + f_0^d(\hat s) s_d^k. \end{aligned}$$

The memory representation can be made to mimic this recursive definition. The use of this strategy avoids the need for hash tables and reduces the product of homogeneous polynomials to dot products of vectors of coefficients.

With respect to the composition of truncated Taylor expansions into elementary functions, an efficient strategy is the use of a form of automatic differentiation Footnote 11 based on the notion of radial derivative. The radial derivative of a function \(f:\mathbb R^n\rightarrow \mathbb R\) is defined as

$$\displaystyle \begin{aligned} Rf(x):=\nabla f(x)\cdot x= \sum_{i= 1}^d\frac{\partial f(x)}{\partial x_i}x_i \end{aligned}$$

On an homogeneous polynomial of degree k, it satisfies

$$\displaystyle \begin{aligned} Rf_k(x)=kf_k(x). \end{aligned}$$

It also satisfies a form of chain rule: for a function \(\varphi :\mathbb R\rightarrow \mathbb R\)

$$\displaystyle \begin{aligned} R(\varphi \circ f) (x)= \varphi'(f(x))\ Rf(x). \end{aligned}$$

Now, if φ satisfies a differential equation, the previous two properties can be used to deduce a recurrence that relates the series expansions of f and φ ∘ f. For instance, for

$$\displaystyle \begin{aligned} \varphi(x)=x^\alpha ,\quad f=\sum_{k=0}^{k_{\mathrm{max}}} f_k ,\quad f_0\neq0 ,\quad [\varphi\circ f]_{\leq k_{\mathrm{max}}} =: p=\sum_{k=0}^{k_{\mathrm{max}}} p_k , \end{aligned}$$

from R(φ ∘ f)(x) = φ′(f(x)) Rf(x) and xφ′(x) = αφ(x), it follows that \(p_0=f_0^\alpha \) and

$$\displaystyle \begin{aligned} p_k(x)=\frac{1}{kf_0}\sum_{j=0}^{k-1} \left(\alpha(k-j)-j\right)f_{k-j}(x)p_j(x). \end{aligned}$$

Using this recurrence, p k can be computed from f 1, …, f k−1 and p 0, …, p k−1. This is, the terms of order < k of φ ∘ f are also needed. Because of this, in order to proceed order by order in the computation W, f, we need to store the power series expansions of all the intermediate operations in the evaluation of [F(W <k(s))]k that involve the composition of a power series with an elementary function. The software package in http://www.maia.ub.edu/dsg/param/ includes a C library for the manipulation of multivariate, truncated power series that implements all these ideas.

4.3 Error Estimation

Once we have computed

$$\displaystyle \begin{aligned} {\boldsymbol{W}}_{k\leq k_{\mathrm{max}}}:={\boldsymbol{W}}_1+{\boldsymbol{W}}_2+\dots+{\boldsymbol{W}}_{k_{\mathrm{max}}} ,\quad \boldsymbol{f}_{k\leq k_{\mathrm{max}}}:=\boldsymbol{f}_1+\boldsymbol{f}_2+\dots+\boldsymbol{f}_{k_{\mathrm{max}}} \end{aligned}$$

up to a maximum order k max, we need to check the quality of these truncated expansions. For notational simplicity, we denote \({\boldsymbol {W}}_{k\leq k_{\mathrm {max}}},\boldsymbol {f}_{k\leq k_{\mathrm {max}}}\) as W, f. For a specific initial condition s 0 in parameter space, the following three error estimates are straightforward to check. Denote as s(t) the solution of \(\dot {\boldsymbol {s}}=\boldsymbol {f}(\boldsymbol {x})\), s(0) = s 0, denote as x(t) the solution of \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\), \(\boldsymbol {x}(0)=\bar {\boldsymbol {W}}(\boldsymbol {s}_0)\), where \(\bar {\boldsymbol {W}}\) is the parameterization of the manifold in original coordinates, as in (32), and choose an integration time T adequate for the problem under study. We can consider:

  • The error in the invariance equation,

    $$\displaystyle \begin{aligned} e_I(T,\boldsymbol{s}_0)\ =\sup_{t\in[0,T]} \|\boldsymbol{X}\bigl(\bar{\boldsymbol{W}}(\boldsymbol{s}(t))\bigr) -D\bar{\boldsymbol{W}}\bigl(\boldsymbol{s}(t)\bigr)\boldsymbol{f}\bigl(\boldsymbol{s}(t)\bigr)\|. \end{aligned}$$
  • The error in the orbit,

    $$\displaystyle \begin{aligned} e_O(T,\boldsymbol{s}_0)\ =\sup_{t\in[0,T]} \|\bar{\boldsymbol{W}}\bigl(\boldsymbol{s}(t)\bigr)-\boldsymbol{x}(t)\|. \end{aligned}$$
  • If \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\) has a first integral H, the error in the reduced first integral \(H\circ \bar {\boldsymbol {W}}\),

    $$\displaystyle \begin{aligned} e_H(T,\boldsymbol{s}_0)\ =\sup_{t\in[0,T]} \|H\bigl(\bar{\boldsymbol{W}}(\boldsymbol{s}(t))\bigr)-H\bigl(\bar{\boldsymbol{W}}(\boldsymbol{s}_0)\bigr)\| \end{aligned}$$

In the following we will use e O(T, s 0) for varying s 0 in order to determine neighborhoods of validity of the expansions obtained.

4.4 Expansions of the Center Manifold of the L 1,2 Collinear Points of the Earth-Moon RTBP

This subsection shows sample results on the RTBP for the Earth-Moon mass ratio given Eq. (29).

4.4.1 Using the Graph Style

The first example will be the computation of W c(L 1) using the graph style. Denote the vector field of the RTBP in Hamiltonian form as \(\dot {\boldsymbol {x}}=\boldsymbol {X}(\boldsymbol {x})\), and denote the eigenvalues of D X(L 1) as in Eq. (30). Denote as P a matrix having as columns eigenvectors of eigenvalues i ω p, −i ω p, i ω v, −i ω v, λ, − λ, in this order. For this example, we apply the procedure of Sect. 4.1 with n = 6, d = 4 to

$$\displaystyle \begin{aligned} \boldsymbol{Y}(\boldsymbol{y}):=P^{-1}\bigl(\boldsymbol{X}(L_1+P\boldsymbol{y})\bigr), \end{aligned}$$

using the graph style. In this way, we obtain a parameterization of the 4D center manifold of L 1 as

$$\displaystyle \begin{aligned} \boldsymbol{s}\longmapsto\bar{\boldsymbol{W}}(\boldsymbol{s}):=L_1+P{\boldsymbol{W}}(\boldsymbol{s}), \end{aligned} $$
(37)

with W i(s) = s i, i = 1, 2, 3, 4. Expansions of W have been computed for several orders. Table 2 shows some computing times. Note that a 4-variate series truncated to order 70 has \({4+70\choose 4} = 1,150,626\) coefficients.

Table 2 For several orders, computing times (in seconds) of the expansions of W c(L 1) for the Earth-Moon RTBP using the graph style, on a Mac with Intel Core Duo @ 2.16 GHz
Fig. 15
figure 15

Poincaré {s 4 = 0} sections of W c(L 1) at several energies of the Earth-Moon RTBP, for the energies − 1.59, − 1.58, − 1.570, − 1.565. For each energy, we show both a plot in parameter space of the corresponding Poincaré section and a plot of the points of the previous plot converted to the original (synodic) coordinates through (37). Figure courtesy of A. Haro

Figure 15 shows the {s 4 = 0} Poincaré sections of several trajectories at fixed energies. Note that each point in these plots uniquely determines a trajectory: s 3 is computed from s 1, s 2 and the (fixed) value of the energy. The Poincaré sections in Fig. 15 are analogous to the ones computed in [15, 25]. Since through the parameterization (37) points with s 4 = 0 go to points with z = 0, the Poincaré sections in Fig. 15 are also analogous to the ones in Fig. 13. Note that they are obtained in completely different ways: here by direct numerical integration of \(\dot {\boldsymbol {s}}=\boldsymbol {f}(\boldsymbol {s})\); there by computing individually every torus represented. Figure 13 can reach higher energies because of the numerical approach. Here, the use of the expansions is limited to their domain of validity. An estimation of this domain is shown next. Here, on the other hand, the numerical integration of \(\dot {\boldsymbol {s}}=\boldsymbol {f}(\boldsymbol {s})\) allows us to capture all the dynamics in the center manifold at each energy level. In the numerical approach of Fig. 13, we can only display the objects that we individually compute.

4.4.2 Using Mixed Styles

In the next example, we have recomputed W c(L 1) with a mixed style parameterization with N = 2, I 1 = {1, 2}, I 2 = {3, 4} The choice of P, n, d is the same as in the previous example. With this mixed style, due to the ordering of eigenvalues in (30), \(\{\bar {\boldsymbol {W}}(s_1,s_2,0,0)\}_{s_1,s_2}\) describes the 2D manifold spanned by the family of planar Lyapunov orbits, whereas \(\{\bar {\boldsymbol {W}}(0,0,s_3,s_4)\}_{s_3,s_4}\) describes 2D manifold spanned by the family of vertical Lyapunov orbits. In particular, at each {s 4 = 0} Poincaré section at a fixed energy level, the vertical Lyapunov orbit corresponds to the point with s 1 = s 2 = 0. One of such Poincaré sections is shown in Fig. 16.

Fig. 16
figure 16

Left: Poincaré {s 4 = 0} section (in parameter space) of W c(L 1) for the fixed energy − 1.565 of the Earth-Moon RTBP, computed with a mixed style parameterization with I 1 = {1, 2}, I 2 = {3, 4}. Observe that the vertical Lyapunov periodic orbit of this energy corresponds to s 1 = s 2 = 0. Right: conversion to the points in the left plot to the original (synodic) coordinates through (37)

This adaptation of the s 1, s 2, s 3, s 4 parameters to the dynamics allows us to choose easily initial conditions for a numerical exploration in order to determine the domain of validity of the expansions using the e O estimate. For s 2 > 0, denote as h(s 2) the energy of the planar Lyapunov orbit with this “s 2 amplitude”, this is, \(h(s_2):=H\bigl (\bar {\boldsymbol {W}}(0,s_2,0,0)\bigr )\). Then, for s 2 > 0 and α ∈ [−1, 1], define s(s 2, α) := (0, αs 2, s 3, 0), with s 3 chosen as to have \(H\bigl (\boldsymbol {s}(s_2,\alpha )\bigr )=h(s_2)\). Denote also as \(T_{s_2}\) the maximum of the periods of the planar and vertical Lyapunov periodic orbits of energy h(s 2). Then, for a trajectory with initial condition s(s 2, α), we consider the error estimate

$$\displaystyle \begin{aligned} \varepsilon(s_2,\alpha):=e_O\bigl(T_{s_2},\boldsymbol{s}(s_2,\alpha)\bigr) . \end{aligned} $$
(38)

Figure 17 shows the results on the evaluation of ε(s 2, α) at 100 values of s 2 and 100 values of α, for different orders of the expansions. In this figure it can be seen that there is not much improvement from order 30 on. Order 20 provides a precision of about 10−6 up to energy − 1.57, whereas order 30 provides a precision of about 10−10 up to the same energy, and of about 10−6 up to energy − 1.565.

Fig. 17
figure 17

For the expansions of W c(L 1) for the Earth-Moon RTBP, computed up to orders indicated, evaluation of the error estimate ε(s 2, α) of (38). Each plot has been generated for 100 values of s 2 (represented in the vertical axis as h(s 2)) and 100 values of α

Fig. 18
figure 18

Left: Poincaré section {s 4 = 0} of W c(L 2) for the fixed energy − 1.570 of the Earth-Moon RTBP, computed with a mixed style parameterization with I 1 = {1, 2}, I 2 = {3, 4}. Right: conversion to the points in the left plot to the original (synodic) coordinates through (37)

As a final example, we have also computed the expansions of W c(L 2) with the same mixed style strategy. Figure 18 displays the Poincaré {s 4 = 0} section of W c(L 2) at the fixed energy − 1.570. Figure 19 displays the ε(s 2, α) error estimate for the expansions of orders 10, 20, 30. Compared to the expansions around L 1, the domain of validity is smaller, but the precision is about the same for the same energies. This is coherent with the fact that the energy of L 2 is larger than the one of L 1.

Fig. 19
figure 19

For the expansions of W c(L 2) for the Earth-Moon RTBP, computed up to orders indicated, evaluation of the error estimate ε(s 2, α) of (38). The number of points in each plot and the interpretation of the axes is the same as in Fig. 17

5 Numerical Computation of Stable and Unstable Manifolds of Periodic Orbits and 2D Tori

In this section we will see how to compute numerically the linear approximation of stable and unstable manifolds of periodic orbits and tori. The linear approximation provides a local approximation with an error that is quadratic in the distance to the base object, which is adequate for many applications, including preliminary mission design. Approximations of higher order can be obtained through semi-analytical techniques, including the parameterization method, as will be discussed in Sect. 6. The Lindstedt-Poincaré method [29] is another semi-analytical alternative.

5.1 Invariant Manifolds of Periodic Orbits

Let x 0 be an initial condition of a periodic orbit of period T, this is, ϕ T(x 0) = x 0. A parameterization of the periodic orbit as an invariant manifold is given by the 2π-periodic function \(\boldsymbol {\varphi }: [0,2\pi ]\longrightarrow \mathbb R^6\) defined as

$$\displaystyle \begin{aligned} \boldsymbol{\varphi}(\theta):=\boldsymbol{\phi}_{\frac\theta{2\pi}T}(\boldsymbol{x}_0). \end{aligned}$$

Let \(\varLambda \in \mathbb R,|\varLambda |\neq 1\) be an eigenvalue of the monodromy matrix of the periodic orbit with eigenvector v, this is

$$\displaystyle \begin{aligned} D\boldsymbol{\phi}_T(\boldsymbol{x}_0)\boldsymbol{v}=\varLambda\boldsymbol{v}. \end{aligned}$$

An eigenvalue Λ with |Λ| > 1 (resp. |Λ| < 1) would correspond to an unstable (resp. stable) manifold. For brevity, let us assume for the rest of the discussion that Λ > 0; a comment will be made on the case Λ < 0 at the end. Therefore, Λ > 1 (resp. Λ < 1) would correspond to an unstable (resp. stable) manifold. A parameterization of a set of vectors tangent to the unstable (resp. stable) manifold, also know as unstable bundle (resp. stable bundle), is given by the 2π-periodic function

$$\displaystyle \begin{aligned} \boldsymbol{v}(\theta) := \varLambda^{-\frac\theta{2\pi}}D\boldsymbol{\phi}_{\frac\theta{2\pi}T}(\boldsymbol{x}_0)\boldsymbol{v} . \end{aligned}$$

By combining the two previous expressions, we can obtain a parameterization of the linear approximation of the unstable (resp. stable) manifold:

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\psi}}(\theta,\xi):=\boldsymbol{\varphi}(\theta)+\xi\boldsymbol{v}(\theta). \end{aligned} $$
(39)

It satisfies the approximate invariance equation

$$\displaystyle \begin{aligned} \boldsymbol{\phi}_t\bigl( \bar{\boldsymbol{\psi}}(\theta,\xi) \bigr) = \bar{\boldsymbol{\psi}}(\theta+t\omega,e^{t\lambda}\xi) +O(\xi^2), \end{aligned}$$

for \(\omega =\frac {2\pi }T\), \(\lambda =\frac {\omega \ln \varLambda }{2\pi }\). It can thus be evaluated for small ξ only. Nevertheless, \(\bar {\boldsymbol {\psi }}\) can be used to globalize the manifold by numerical integration while still providing a cylinder-like parameterization: for ξ not necessarily small, we can take an integer m > 0 (resp. m < 0) such that Λ m ξ is small and compute

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\varPsi}}(\theta,\xi) = \boldsymbol{\phi}_{mT}\bigl( \bar{\boldsymbol{\psi}}(\theta, \varLambda^{-m}\xi) \bigr). \end{aligned}$$

Figure 20 displays the Moon branch of the 2D unstable manifold of a Halo orbit globalized in this way until past its first periselene. Note that it is not represented as a set of trajectories but as a surface parameterized by the (θ, ξ) variables.

Fig. 20
figure 20

Moon branch of the 2D unstable manifold of a halo orbit around L 1 of the Earth-Moon RTBP, represented as a surface. The halo orbit is shown in black

In the case Λ < 0, all the previous discussion is valid if we substitute T by 2T and Λ by Λ 2. In this way, v is 2π-periodic and the expressions for \(\bar {\boldsymbol {\psi }}\), \(\bar {\boldsymbol {\varPsi }}\) still provide cylinder-like parameterizations.

5.2 Invariant Manifolds of 2D Tori

We follow the discussion of [24] with a slightly modified computational strategy. Assume that φ parameterizes an invariant curve inside a 2D torus, as in Sect. 3.8.1,

$$\displaystyle \begin{aligned} \boldsymbol{\phi}_{\varDelta}\bigl(\boldsymbol{\varphi}(\theta)\bigr) =\boldsymbol{\varphi}(\theta+\rho) . \end{aligned} $$
(40)

We want to find \(\varLambda \in \mathbb R,|\varLambda |\neq 1\) and \(\boldsymbol {u}:\mathbb R\rightarrow \mathbb R^6\), 2π-periodic, s.t.

$$\displaystyle \begin{aligned} D\boldsymbol{\phi}_{\varDelta}\Bigl(\boldsymbol{\varphi}(\theta-\rho)\Bigr)\boldsymbol{u}(\theta-\rho) = \varLambda\boldsymbol{u}(\theta), \end{aligned} $$
(41)

this is, an invariant bundle associated to the eigenvalue Λ. It will be an unstable (resp. stable) invariant bundle if |Λ| > 1 (resp. |Λ| < 1), that will be tangent to the unstable (resp. stable) manifold of the torus on the invariant curve parameterized by φ.

Equation (41) can be compactly written as

$$\displaystyle \begin{aligned} {\mathcal{C}}\boldsymbol{u}=\varLambda\boldsymbol{u}, \end{aligned} $$
(42)

with

$$\displaystyle \begin{aligned} ({\mathcal{C}} \boldsymbol{u})(\theta)=D\boldsymbol{\phi}_{\varDelta}\bigl(\boldsymbol{\varphi}(\theta-\rho)\bigr) \boldsymbol{u}(\theta-\rho). \end{aligned}$$

Assuming that u is expanded as a truncated Fourier series, the eigenvalue problem (42) can be discretized and thus converted in a finite-dimensional matrix-vector eigenvalue problem by approximating the Fourier coefficients of \({\mathcal {C}}\boldsymbol {u}\) by their Discrete Fourier Transform (DFT).

We use the following notation for the DFT: for N even, given real data \(\{f_j\}_{j=0}^{N-1}\), we denote

$$\displaystyle \begin{aligned} \begin{array}{rcl} F_{\{f_j\}_{j=0}^{N-1}}(k) &\displaystyle :=&\displaystyle \frac 1N\sum_{j=0}^{N-1} f_je^{-\boldsymbol{i}2\pi\frac kNj}, \qquad k=0,\dots, N-1, \\ A_{\{f_j\}_{j=0}^{N-1}}(k) &\displaystyle :=&\displaystyle \frac{\delta_k}N\sum_{j=0}^{N-1}f_j \cos{}(2\pi\frac kNj), \qquad k=0,\dots,N/2, \\ B_{\{f_j\}_{j=0}^{N-1}}(k) &\displaystyle :=&\displaystyle \frac 2N\sum_{j=0}^{N-1}f_j \sin{}(2\pi\frac kNj), \qquad k=1,\dots,N/2-1, \end{array} \end{aligned} $$

with \(\delta _0=\delta _{\frac N2}=1\), δ k = 2 for \(k=1,\dots ,\frac N2-1\). If the data comes from the regular sampling of a 2π-periodic function, this is, f j = f(θ j) for θ j = j2πN and f is 2π-periodic,

where the approximation is an equality if θ = θ j, 0 ≤ j ≤ N − 1. In this way, the DFT coefficients provide an approximation of the Fourier coefficients (for a bound on the difference, see e.g. [11, 17]).

Now, for

$$\displaystyle \begin{aligned} \boldsymbol{u}(\theta)=\boldsymbol{A}_0+\sum_{k=1}^{N/2-1}\Bigl( \boldsymbol{A}_k\cos{}(k\theta)+\boldsymbol{B}_k\sin{}(k\theta) \Bigr)+\boldsymbol{A}_{N/2}\cos{}((N/2)\theta), \end{aligned}$$

let us denote the DFT coefficients of \(({\mathcal {C}}\boldsymbol {u})(\theta )\) by \(\{\bar {\boldsymbol {A}}_k\}_{k=0}^{N/2}\), \(\{\bar {\boldsymbol {B}}_k\}_{k=1}^{N/2-1}\), this is,

$$\displaystyle \begin{aligned} ({\mathcal{C}}\boldsymbol{u})(\theta) \approx \bar{\boldsymbol{A}}_0+\sum_{k=1}^{N/2-1}\Bigl( \bar{\boldsymbol{A}}_k\cos{}(k\theta)+\bar{\boldsymbol{B}}_k\sin{}(k\theta) \Bigr)+\bar{\boldsymbol{A}}_{N/2}\cos{}((N/2)\theta) . \end{aligned}$$

If we denote

$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{x} &\displaystyle =&\displaystyle \bigl(\boldsymbol{A}_0,\boldsymbol{A}_1,\boldsymbol{B}_1,\dots,\boldsymbol{A}_{N/2-1},\boldsymbol{B}_{N/2-1}, \boldsymbol{A}_{N/2} \bigr), \\ \bar{\boldsymbol{x}} &\displaystyle =&\displaystyle \bigl( \bar{\boldsymbol{A}}_0,\bar{\boldsymbol{A}}_1,\boldsymbol{B}_1,\dots,\bar{\boldsymbol{A}}_{N/2-1},\bar{\boldsymbol{B}}_{N/2-1}, \bar{\boldsymbol{A}}_{N/2} \bigr), \end{array} \end{aligned} $$

then, for a suitable (finite-dimensional) matrix C,

$$\displaystyle \begin{aligned} \bar{\boldsymbol{x}} = C\boldsymbol{x}. \end{aligned} $$
(43)

The columns of C can be found as the DFT coefficients of the operator \({\mathcal {C}}\) applied to the canonical basis elements in x space, this is, to the functions w k, \(\boldsymbol {w}_k\cos {}(\theta )\), \(\boldsymbol {w}_k\sin {}(\theta )\), \(\boldsymbol {w}_k\cos {}(2\theta )\), \(\boldsymbol {w}_k\sin {}(2\theta )\), etc., being \(\boldsymbol {w}_k\in \mathbb R^6\) the k-th element of the canonical basis, k = 1, …, 6. Since all these functions can be written in terms of complex exponentials of the form e i, the coefficients of the C matrix can be computed from

$$\displaystyle \begin{aligned} F_{ \{ D\boldsymbol{\phi}_{\varDelta}(\varphi(\theta_l-\rho)) \boldsymbol{w}_je^{\boldsymbol{i} k(\theta_l-\rho)} \}_{l=0}^{N-1} }(m), \end{aligned}$$

which, after a few calculations, is found to be

$$\displaystyle \begin{aligned} e^{-\boldsymbol{i} k\rho} F_{\{D\boldsymbol{\phi}_{\varDelta}(\varphi(\theta_l-\rho))\boldsymbol{w}_j\}_{l=0}^{N-1}} (m-k), \end{aligned}$$

for j = 1, …, 6 and k, m = 0, …, N∕2. Since D ϕ Δ(φ(θ l − ρ))w j is a 6-vector for each j, the computation of all the needed values of the previous expression is reduced to 36 DFT, which, by using FFT, are computed in \(O(N\log N)\) operations each.

Some knowledge on the structure of the spectrum of the invariant bundle we are looking for is necessary in order to choose the right eigenvalues of the C matrix of (43). The eigenvalues of C appear grouped in circles. Since the tori we are looking for are reducible, there are as many circles as eigenvalues of the reduced matrix (which can be considered analogous to the monodromy matrix of a periodic orbit). Assuming that (41) has a solution, from the fact that the RTBP is a Hamiltonian system, apart from unit circles there will be a circle containing Λ and another circle containing Λ −1. These are the ones we are interested in. The corresponding eigenvectors provide the Fourier coefficients of the invariant bundles we are looking for. More details on this discussion and some additional considerations on the accuracy of the computed eigenvalues can be found in [24].

Now, from an invariant stable or unstable bundle u(θ), tangent to the stable or unstable manifold of the torus on the invariant curve φ(θ), we can obtain the invariant bundle tangent to the stable or unstable manifold of the torus on the whole torus through

$$\displaystyle \begin{aligned} \boldsymbol{v}(\theta_1,\theta_2) = \varLambda^{-\frac{\theta_2}{2\pi}} D\boldsymbol{\phi}_{\frac{\theta_2}{2\pi}\varDelta}\Bigl( \boldsymbol{\varphi}\bigl( \theta_1-\frac{\theta_2}{2\pi}\rho \bigr) \Bigr) \boldsymbol{u}\bigl( \theta_1-\frac{\theta_2}{2\pi}\rho \bigr) . \end{aligned}$$

This expression assumes Λ > 0. If this is not the case, Δ needs to be changed to 2Δ, so Eqs. (40) and (41) are satisfied with ρ substituted by 2ρ and Λ by Λ 2. Defined as above, the v function is 2π-periodic in θ 1, θ 2 and satisfies

$$\displaystyle \begin{aligned} D\boldsymbol{\phi}_t\bigl(\boldsymbol{\psi}(\theta_1,\theta_2)\bigr) \boldsymbol{v}(\theta_1,\theta_2) = \varLambda^{\frac{t\omega_2}{2\pi}} \boldsymbol{v}(\theta_1+t\omega_1,\theta_2+t\omega_2) , \end{aligned}$$

where ψ is the parameterization of the 2D torus defined in Eq. (21), ω 1 = ρΔ and ω 2 = 2πΔ. From the parameterization of the stable or unstable bundle defined on the whole torus, we can write a parameterization of the linear approximation of the stable or unstable manifold of the torus as

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\psi}}(\theta_1,\theta_2,\xi) = \boldsymbol{\psi}(\theta_1,\theta_2)+\xi\boldsymbol{v}(\theta_1,\theta_2) , \end{aligned} $$
(44)

which is 2π-periodic in θ 1, θ 2 and satisfies the approximate invariance equation

$$\displaystyle \begin{aligned} \boldsymbol{\phi}_t\bigl(\bar{\boldsymbol{\psi}}(\theta_1,\theta_2,\xi)\bigr) = \bar{\boldsymbol{\psi}}(\theta_1+t\omega_1,\theta_2+t\omega_2,e^{t\lambda}\xi) +O(\xi^2) , \end{aligned}$$

for ω 1 = ρΔ, ω 2 = 2πΔ, \(\lambda =\omega _2\ln \varLambda /(2\pi )\), and thus Eq. (44) can be evaluated for small ξ only. For ξ not necessarily small, we can consider an integer m such that Λ m ξ is small (m > 0 for the unstable manifold, m < 0 for the stable manifold) and compute

$$\displaystyle \begin{aligned} \bar{\boldsymbol{\varPsi}}(\theta_1,\theta_2,\xi) = \boldsymbol{\phi}_{m\varDelta}\Bigl( \bar{\boldsymbol{\psi}}( \theta_1-m\rho,\theta_2,\varLambda^{-m}\xi ) \Bigr) . \end{aligned}$$

6 Semi-Analytical Computation of Stable and Unstable Manifolds Using the Parameterization Method

We have seen how the parameterization method can be used as a semi-analytical technique in order to find the periodic orbits and tori in the center manifold of a collinear libration point. Without any modification, it can also be used to find the invariant stable and unstable manifolds of these trajectories. All the unstable manifolds of the invariant objects of W c(L 1) are contained in the center-unstable manifold of L 1, W cu(L 1), which is an invariant manifold tangent to the directions given by the eigenvectors with eigenvalues

$$\displaystyle \begin{aligned} \boldsymbol{i}\omega_p, -\boldsymbol{i}\omega_p, \boldsymbol{i}\omega_v, -\boldsymbol{i}\omega_v, \lambda, \end{aligned}$$

where we have recovered the notation of Eq. (30). All the stable manifolds of the invariant objects of W c(L 1) are contained in the center-stable manifold of L 1, W cs(L 1), which is the invariant manifold tangent to the directions given by the eigenvectors with eigenvalues

$$\displaystyle \begin{aligned} \boldsymbol{i}\omega_p, -\boldsymbol{i}\omega_p, \boldsymbol{i}\omega_v, -\boldsymbol{i}\omega_v, -\lambda. \end{aligned}$$

The parameterization method does not need any modification to compute W cu(L 1) or W cs(L 1) instead of W c(L 1).

As an example, we can apply the procedure described in Sect. 4.1 with the same choice of P as in Sect. 4.4, n = d = 6 and choosing a mixed style parameterization with the sets of indexes I 1, …, I 14 defined by Table 3. In this way, we obtain a reparameterization of a whole neighborhood of L 1 that is completely adapted to the dynamics. Table 3 is the recipe to choose initial conditions on the different kind of objects. For example, points of the form \(\bar {\boldsymbol {W}}(0,0,0,0,s_5,0)\) are in the unstable manifold of L 1 because of the use of I 1, whereas points of the form \(\bar {\boldsymbol {W}}(0,0,s_3,s_4,0,s_6)\) are in the stable manifold of the vertical Lyapunov family of periodic orbits because of the use of I 10. Table 4 shows the computing times of the expansions for several orders. These times are now larger than the ones of Sect. 4.4 because the truncated power series have 6 variables instead of 4.

Table 3 Sets of indexes used for the mixed style reparameterization of the neighborhood of L 1 of the Earth-Moon RTBP
Table 4 For several orders, computing times of the expansions of the mixed style reparameterization of the neighborhood of L 1 of the Earth-Moon RTBP

As before, it is necessary to determine a neighborhood of validity of the expansions. This has been done in Fig. 21, by an exploration similar to the one done in Sect. 4.4.2, but now taking initial conditions with s 5, s 6 ≠ 0 in evaluation of the e O estimate, and also integrating both forward and backward in time, in order to test both the stable and the unstable manifold. The maximum e O of the trajectories of each energy tested are represented by a point in Fig. 21. The pairs of green-violet curves correspond, from left to right, to orders 10, 15, 20, 25, 30. The full details of the exploration can be found in [21].

Fig. 21
figure 21

Error estimates for the mixed-style reparameterization of the neighborhood of L 1 of the Earth-Moon RTBP

A sample application of the use of these expansions is the generation of what are known as transit and non-transit trajectories [7, 8]. With the choice of the eigenvectors corresponding to ± λ shown schematically in Fig. 22, orbits with s 5 s 6 > 0 are transit in the sense that go from the Earth to the Moon or vice-versa. Orbits with s 5 s 6 < 0, however, are non-transit in the sense that after departing from a primary they “bounce back” to it. Figure 23 shows some trajectories used in the evaluation of the error estimate of Fig. 21, which are all transit because they were chosen with s 5 = s 6 > 0. For clarity, the trajectories are not integrated as in the evaluation of the error estimate, but forward in time up to the first cut with x = μ − 1 + R M, where R M is radius of the Moon in dimensionless units (red trajectories), and backward in time up to the second cut with y = 0 after the first passage behind the Earth (blue trajectories). Looking at each blue curve followed by the red one as a single trajectory, the plots show that all of them are Earth-Moon transit.

Fig. 22
figure 22

Schematic representation of the choice of the hyperbolic eigenvectors of L 1, in order to produce transit and non-transit trajectories

Fig. 23
figure 23

Some transit trajectories associated to the L 1 collinear point of the Earth-Moon RTBP. The plot of the second line are the 3D views of the ones of the first line

7 Computation of Homoclinic and Heteroclinic Connections

An homoclinic connection of a object (with itself) is a trajectory that tends to the object both forward and backward in time. An heteroclinic connection of a departing object and an arrival object is a trajectory that tends to the departing object backward in time and to the arrival object forward in time. From the dynamical systems point of view, these connections play a fundamental role in the global organization of the dynamics. In the RTBP, they also provide low-energy transfers between objects [13] and resonance transitions [16, 28]. Using Conley-McGehee tubes [7, 30] inside Hill’s regions, they allow to prescribe itineraries between the interior and exterior regions of a moon-planet system, as in [16, 28, 34].

7.1 Computing Individual Connections

Consider ψ u(θ, ξ) a parameterization of an approximation of the unstable manifold of a departure object, and ψ s(θ, ξ) a parameterization of an approximation the stable manifold of an arrival object. These approximations can be the linear ones, or of higher order. Let Σ = {g(x) = 0} be a Poincaré section intersected by the manifolds, and consider two associated Poincaré maps: \(P_\varSigma ^+\), computed integrating forward in time, and \(P_\varSigma ^-\), integrating backward in time. This is,

$$\displaystyle \begin{aligned} \boldsymbol{P}_\varSigma^+(\boldsymbol{x})=\boldsymbol{\phi}_{\tau^+(\boldsymbol{x})}(\boldsymbol{x}) ,\quad \boldsymbol{P}_\varSigma^-(\boldsymbol{x})=\boldsymbol{\phi}_{\tau^-(\boldsymbol{x})}(\boldsymbol{x}) , \end{aligned} $$
(45)

where the functions τ +(x), τ (x) are time-return maps with τ +(x) > 0, τ (x) < 0 defined implicitly by the conditions

$$\displaystyle \begin{aligned} g\bigl(\boldsymbol{\phi}_{\tau^+(\boldsymbol{x})}(\boldsymbol{x})\bigr) = g\bigl(\boldsymbol{\phi}_{\tau^-(\boldsymbol{x})}(\boldsymbol{x})\bigr) =0 . \end{aligned}$$

The intersections of homoclinic (if the departure and arrival objects are the same) or heteroclinic (in the case of different departure and arrival objects) connections with the section Σ are given by the zeros of the function

$$\displaystyle \begin{aligned} {\boldsymbol{F}}(\boldsymbol{\theta}^u,\boldsymbol{\theta}^s) = \boldsymbol{P}_\varSigma^+(\boldsymbol{\psi}^u(\boldsymbol{\theta}^u,\xi)) - \boldsymbol{P}_\varSigma^-(\boldsymbol{\psi}^s(\boldsymbol{\theta}^s,\xi)) . \end{aligned} $$
(46)

In this function, ξ is a fixed parameter, that needs to be taken small if ψ u, ψ s are linear approximations, or not necessarily, if ψ u, ψ s are approximations of higher order. The θ u, θ s parameters are vectors of phases of the same dimension of the connecting objects (scalars for periodic orbits, 2-vectors for 2D tori).

In the case of periodic orbits, their stable and unstable manifolds are locally diffeomorphic to 2D cylinders. As long as this remains true when globalizing their manifolds, the computation of connections is reduced to intersect 2D tubes, which can be visualized without much difficulty. Their visualization is particularly simple if the orbit is planar: the planar RTBP has 2 degrees of freedom, and therefore a Poincaré section of fixed energy is 2D. Figure 24 shows the manifold tubes of a planar Lyapunov orbit around L 1 of the Earth-Moon RTBP, and also their intersection with Σ := {x = μ − 1}. The two points of intersection of the two curves coming from the sections of the manifold tubes with Σ (Fig. 24 right) give rise to two homoclinic connections. Initial conditions in order to find zeros of the function F of Eq. (46) via Newton iterations can be obtained from this plot. Care must be taken with the number of cuts of the manifold that define the Poincaré maps: according to Fig. 24 left, \(\boldsymbol {P}^+_\varSigma \) is defined as the second cut with Σ, whereas \(\boldsymbol {P}^-_\varSigma \) is defined as the first cut.

Fig. 24
figure 24

Left: manifold tubes (green: stable, violet: unstable) of a planar Lyapunov orbit around L 1 of the Earth-Moon RTBP. Right: intersection of the manifold tubes with the section Σ = {x = μ − 1}. The coordinates are: x, y in the left plot, p x, p y in the right one

In the cases in which the sections of the manifold tubes with Σ are not easy to visualize, other approaches need to be followed. As an example, consider searching for heteroclinic connections between:

  • a Lissajous torus around L 1 of the Earth-Moon RTBP with energy \(\bar h:=-1.58\) and rotation number \(\bar \rho :=0.2800082\), and

  • a Lissajous torus around L 2 with the same energy and rotation number \(\tilde \rho :=0.1700025\).

Denote as Ψ u(θ 1, θ 2, ξ) (resp. Ψ s(θ 1, θ 2, ξ)) a parameterization of the linear approximation of the unstable (resp. stable) manifold of the departing (resp. arrival) torus. Denote also as \(P_\varSigma ^+,P_\varSigma ^-\) the Poincaré sections defined in Eq. (45) after the needed number of cuts with the section. Then, in order to look for connections, we can plot in terms of θ 1, θ 2 the function

$$\displaystyle \begin{aligned} \min_{\bar\theta_1,\bar\theta_2\in[0,2\pi]} \mathop{\mathrm{dist}}\nolimits\bigl( P^+_\varSigma(\boldsymbol{\varPsi}^u(\theta_1,\theta_2)), P^-_\varSigma(\boldsymbol{\varPsi}^s(\bar\theta_1,\bar\theta_2)) \bigr) . \end{aligned}$$

This is done in Fig. 25. The heteroclinic connection corresponding to the zoom in the right plot of this figure is shown in Fig. 26.

Fig. 25
figure 25

Plot in order to locate heteroclinic connections between the Lissajous torus of the Earth-Moon RTBP around L 1 with h = −1.58, \(\bar \rho :=0.2800082\) and the one around L 2 with the same energy and \(\tilde \rho :=0.1700025\). The right plot is a zoom of the left one

Fig. 26
figure 26

Heteroclinic connection corresponding to the zoom in the right plot of Fig. 25

7.2 Continuation of Connections

Since the RTBP is a Hamiltonian system, periodic orbits and tori are not isolated but part of families. As a consequence, the connections between them are part of families too. If we want to compute several connections along a family, it is a tedious procedure to compute them individually as described before.

The process of computing homoclinic or heteroclinic connections along families can be automated by the use of continuation on Eq. (46), by letting ψ u(θ u, ξ) and ψ s(θ s, ξ) evolve freely along the families of departing and arrival objects. The actual way to do it depends on the way that ψ u, ψ s have been obtained, that can be semi-analytical or numerical. In the following we will focus in the numerical approach.

Assume we wanted to numerically compute a family of homoclinic connections of periodic orbits of the RTBP by continuation. Let Σ 1 = {g 1(x) = 0} be a Poincaré section for the initial conditions of the periodic orbit, and Σ 2 = {g 2(x) = 0} a Poincaré section used to match the invariant manifolds of the periodic orbit. Assume these Poincaré sections are valid along the portion of the family we want to compute. We need to consider as unknown everything necessary to determine a periodic orbit of the family and its homoclinic connection: the value of the energy, h, the initial condition of the periodic orbit, x 0, the eigenvalue of the monodromy matrix related to the unstable (resp. stable) manifold, v u (resp. v s), the departing (resp. arriving) phase on the linear approximation of the unstable (resp. stable) manifold, θ u (resp. θ s), and, finally, the time of flight from the linear approximation of the unstable (resp. stable) manifold to the surface of section in which the manifolds are intersected, T u (resp. T s). The system of equations needs to impose all the conditions for h, x, T, Λ u, v u, Λ s, v s, θ u, T u, θ s, T s to determine a periodic orbit and an homoclinic connection of it. It would thus be

$$\displaystyle \begin{aligned} \begin{array}{c} \begin{array}{rcl} H(\boldsymbol{x})-h &=& 0, \\ g_1(\boldsymbol{x}) &=& 0, \\ \boldsymbol{\phi}_T(\boldsymbol{x})-\boldsymbol{x} &=& 0, \end{array} \\ \hspace{-1em} \begin{array}{rcl@{\quad }@{\quad }rcl} \|\boldsymbol{v}^u\|{}^2-1 &=& 0, & \|\boldsymbol{v}^s\|{}^2-1 &=& 0, \\ D\boldsymbol{\phi}_T(\boldsymbol{x})\boldsymbol{v}^u-\varLambda^u\boldsymbol{v}^u &=& 0, & D\boldsymbol{\phi}_T(\boldsymbol{x})\boldsymbol{v}^s-\varLambda^s\boldsymbol{v}^s &=& 0, \end{array} \\ \begin{array}{rcl} g_2\Bigl( \boldsymbol{\phi}_{T^u}\bigl( \boldsymbol{\psi}^u(\theta^u,\xi) \bigr) \Bigr) &=& 0, \\ g_2\Bigl( \boldsymbol{\phi}_{T^s}\bigl( \boldsymbol{\psi}^s(\theta^s,\xi) \bigr) \Bigr) &=& 0, \end{array} \\ \boldsymbol{\phi}_{T^u}\bigl( \boldsymbol{\psi}^u(\theta^u,\xi) \bigr) - \boldsymbol{\phi}_{T^s}\bigl( \boldsymbol{\psi}^s(\theta^s,\xi) \bigr) =0, \end{array} \end{aligned} $$
(47)

with, according to (39),

$$\displaystyle \begin{aligned} \boldsymbol{\psi}^j(\theta,\xi) = \boldsymbol{\phi}_{\frac\theta{2\pi}T}(\boldsymbol{x}) + \xi(\varLambda^j)^{\frac\theta{2\pi}} D\boldsymbol{\phi}_{\frac\theta{2\pi}T}(\boldsymbol{x})\boldsymbol{v}^j , \end{aligned}$$

for j = u, s. Note that the system (47) includes a normalization condition on v u, v s, in order to make them to be locally unique. Also observe that, since we use the linear approximation of the manifolds, ξ is a parameter that must be kept fixed at a small value, e.g. 10−6. An actual implementation requires multiple shooting, both in the periodic orbit and in the connection. Additional details can be found in [4]. Figure 27 displays a homoclinic connection (in violet) of a large planar Lyapunov orbit (in blue) around L 1 of the Earth-Moon RTBP that has been reached by such a continuation procedure. In order to aid visualization, all the perigees, apogees, periselenes, and aposelenes have been numbered as their appear along the connection.

Fig. 27
figure 27

An homoclinic connection (in violet) of a large planar Lyapunov orbit (in blue) of the Earth-Moon RTBP, obtained by numerical continuation

The same ideas can be used in order to perform continuation of connections of tori. Assume we wanted to perform continuation of heteroclinic connections of tori of the RTBP. Consider a Poincaré section Σ in order to match the stable and unstable manifolds, and assume that it is valid along all the portion of the family of connections we want to continue. As unknowns, we would need to consider all the data determining the departing and arrival tori and the connection. This would be:

  • The energy, h.

  • The data of the departing torus: its “longitudinal period”, Δ u; its rotation number, ρ u; the Fourier coefficients of the parameterization of its invariant curve, φ u; the eigenvalue of its unstable bundle, Λ u; its unstable bundle, u u; the departing phases of the connection, \(\theta _1^u\), \(\theta _2^u\); and the time of flight from the manifold to the Poincaré section \(\varDelta ^u_*\).

  • The analogous data for the arrival torus: Δ s, ρ s, φ s, Λ s, u s, \(\theta _1^s\), \(\theta _2^s\), \(\varDelta ^s_*\).

As before, the system of equations needs to impose all the conditions for h, Δ u, ρ u, φ u, Λ u, u u, \(\theta _1^u\), \(\theta _2^u\), \(\varDelta ^u_*\), Δ s, ρ s, φ s, Λ s, u s, \(\theta _1^s\), \(\theta _2^s\), \(\varDelta ^s_*\) to determine two invariant tori and an heteroclinic connection between them. It would thus be

$$\displaystyle \begin{aligned} \begin{aligned} H(\boldsymbol{\varphi}^u(0)) -h &= 0, & H(\boldsymbol{\varphi}^s(0)) -h &= 0, \\ \boldsymbol{\phi}_{\varDelta^u}(\boldsymbol{\varphi}^u(\theta)) -\boldsymbol{\varphi}^u(\theta+\rho^u) &= 0, & \boldsymbol{\phi}_{\varDelta^s}(\boldsymbol{\varphi}^s(\theta)) -\boldsymbol{\varphi}^s(\theta+\rho^s) &= 0,\\ \boldsymbol{v}^u(0)\cdot\boldsymbol{v}^u(0)-1 &= 0, & \boldsymbol{v}^s(0)\cdot\boldsymbol{v}^s(0)-1 &= 0, \\ D\boldsymbol{\phi}_{\varDelta^u}(\boldsymbol{\varphi}^u(\theta))\boldsymbol{v}^u(\theta) -\varLambda^u\boldsymbol{v}^u(\theta+\rho^u) &= 0, & D\boldsymbol{\phi}_{\varDelta^s}(\boldsymbol{\varphi}^s(\theta))\boldsymbol{v}^s(\theta) -\varLambda^s\boldsymbol{v}^s(\theta+\rho^s) &= 0,\\ g\bigl(\boldsymbol{\phi}_{\varDelta^u_*}(\boldsymbol{\varPsi}^u(\theta_1^u,\theta_2^u))\bigr) &=0, & g\bigl(\boldsymbol{\phi}_{\varDelta^s_*}(\boldsymbol{\varPsi}^s(\theta_1^s,\theta_2^s))\bigr) &=0, \\ \boldsymbol{\phi}_{\varDelta^u_*}(\boldsymbol{\varPsi}^u(\theta_1^u,\theta_2^u)) -\boldsymbol{\phi}_{\varDelta^s_*}(\boldsymbol{\varPsi}^s(\theta_1^s,\theta_2^s)) &=0 \end{aligned} \end{aligned} $$
(48)

for as many discrete values of θ as Fourier coefficients needed to be determined in the corresponding equation, and with

$$\displaystyle \begin{aligned} \boldsymbol{\varPsi}^i(\theta_1^i,\theta_2^i) = \boldsymbol{\phi}_{\frac{\theta_2^i}{2\pi}{\varDelta^i}} \Bigl( \boldsymbol{\varphi}^i(\theta_1^i-\frac{\theta_2^i}{2\pi}\rho^i) +(\varLambda^i)^{-\frac{\theta_2^i}{2\pi}}\xi^i \boldsymbol{v}^i(\theta_1^i-\frac{\theta_2^i}{2\pi}{\rho^i}) \Bigr) , \end{aligned} $$
(49)

for i = u, s. Note that a Taylor expansion of the previous expression around \(\boldsymbol {\varphi }^i\bigl (\theta ^i_1-(\theta ^i_2/(2\pi ))\rho ^i\bigr )\) up to first order in ξ i turns it into an expression analogous to (44) except for an error O((ξ i)2), which is already the error of the linear approximation of the manifold. Compared to (44), expression (49) has as an advantage the fact that it does not contain the differential of the flow. The comments made for system (47) also apply here: system (48) also includes a normalization condition for the invariant bundles v u, v s to be locally unique, ξ i is a parameter that must be kept fixed at a small value (e.g. 10−6), and an actual implementation requires multiple shooting, both in the tori and the connection. Additional details can be found in [33]. Figure 28 shows some connections obtained by continuation forward and backward in energy with fixed rotation numbers ρ u, ρ s.

Fig. 28
figure 28

Continuation with fixed \(\rho ^u:=\bar \rho \), \(\rho ^s:=\tilde \rho \) of the connection of Fig. 26, both forward (green) and backward (orange) in energy