1 Introduction

For a chaotic system, it is important to consider how the quantum theory retains chaotic features of its classical theory. This becomes of practical importance with the advent of mesoscopic and nanoscale devices. The periodic orbit theory (POT) gives a crucial key to investigate this issue. It is a semiclassical quantization scheme applicable to the chaotic system constructed by Gutzwiller [1]. The core equation in the POT is the trace formula

$$\begin{aligned} \sum _{n} \frac{1}{E-E_n+i \epsilon } \approx \sum _{r \in \mathrm{PPO}} \frac{T_r}{\pi \hbar } \sum _{n \ne 0} \frac{ \mathrm{e}^{in\left[ \frac{S_r}{\hbar }-\frac{\pi }{2}l_r\right] } }{ \sqrt{\text {det}(M_r^n-1)} } \end{aligned}$$
(1)

where the LHS is given by quantum energy levels, while in the RHS, outer sum is taken over all primitive periodic orbits (PPOs) and inner sum counts the repetition of each PPO. \(T_r\), \(S_r\), and \(l_r\) denote the period, action, and Maslov index of the PPO, respectively, and \(M_r\) stands for the monodromy matrix of the PPO. In this way, the search for the periodic orbits (POs) is essential to pin down the quantum and classical correspondence.

To be specific, we consider the anisotropic Kepler problem (AKP), which is a variation of a hydrogen atom with the electron having an anisotropic mass tensor. The AKP is a superior model for investigating the quantum and classical correspondence for some following reasons. Firstly, the chaoticity of the AKP depends on only one parameter \(\gamma\). Secondly, the AKP has become tractable in recent experiments. Thirdly, in the AKP with high mass anisotropy, there exists an orbit for any given binary code (coding theorem) [3, 4], and it is supposed to be unique (Gutzwiller’s conjecture).

In this paper, we consider the two-dimensional AKP. We focus our attention to a two-dimensional surface hanged on the initial value plane (Poincaré section in properly chosen canonical variables), with the height being calculated by the binary code of the orbit, which starts from every point of the Poincaré section. Now, suppose that we wish to find a particular periodic orbit with a given code. This means that we want the proper initial point that produces this PO. Given the coding theorem, it is in principle sufficient to locate the point(s) on the surface at the height of the code and seek the corresponding base point(s). If there turns out only one point, it is quite in keeping with the uniqueness conjecture. In practice, it is impossible to construct it with infinite resolution, but we can construct it with a sufficient resolution for the target POs. The basic theme in this report is how to search the POs strategically referring to the information embodied in the surface. Most importantly, we find that it is monotonic, indicating that the uniqueness conjecture is correct. Our surface is an extension of the devil’s staircase considered by Gutzwiller [5], which is fractal and contains non-differentiable points. We call it ‘Devil’s Staircase Surface’ (DSS).

From the next section, we are going to introduce the DSS, and using it, we propose a search algorithm for POs in the AKP, which is exhaustive.Footnote 1

Our strategy, the reduction of a search space by the system regularities, should be useful in a wide range of problems.

2 Surface of the devil’s staircase in the AKP

In the two-dimensional AKP with \(x\)-axis being heavy-axis, the Hamiltonian is

$$\begin{aligned} H = \frac{1}{2 \mu } p_x^2 + \frac{1}{2 \nu } p_y^2 - \frac{1}{\sqrt{x^2+y^2}}\quad (\mu \ge \nu , \mu \nu = 1), \end{aligned}$$
(2)

where \(\mu\) and \(\nu\) are values for the mass anisotropy. At \(\gamma \equiv \nu /\mu = 1\), the system is the usual Kepler problem, which is one of the most basic solvable problem in both quantum and classical mechanics. With increasing the mass anisotropy, the chaoticity becomes stronger. We choose \(\gamma =0.2\) where the classical system is known to be completely ergodic.

In what follows, we fix the energy at the standard value \(E=-1/2\) thanks to the scaling property of the AKP Hamiltonian [2]. At this choice of the energy, the set of all possible initial values \((x_0,p_{x_0})\)—with \(y_0\) set to zero to define the Poincaré surface of section—is a region

$$\begin{aligned} |x_0| \le {2}\left( 1+\frac{p_{x_0}^2}{\mu }\right) ^{-1},\quad -\infty < p_{x_0} < \infty , \end{aligned}$$
(3)

shown in the left diagram of Fig. 1. In the Gutzwiller’s coordinate system \((X,U)\) [3] (with \(U \rightarrow 2 U/(\pi \sqrt{\mu })\))

$$\begin{aligned} X = x \left( 1+ \frac{p_x^2}{\mu } \right) ,\quad U = \frac{2}{\pi } \text {arctan} \left( \frac{p_x}{\sqrt{\mu }} \right) , \end{aligned}$$
(4)

the initial value space—the space of \((X_0, U_0)\)—becomes

$$\begin{aligned} |X_0| \le 2, \quad |U_0| < 1, \end{aligned}$$
(5)

and it is a simple rectangle in the right of Fig. 1.

Fig. 1
figure 1

The transformation of the initial value space (\(E=-1/2\) fixed). The boundary of an initial-value-set in \((x_0,p_{x_0})\) space is the Lorentzian, while that one in \((X_0,U_0)\) space is a rectangle. \(r=0\) is the sides \(U_0=\pm 1\) and the center line \(X_0=0\) connecting the both sides

Consider an orbit which starts from an arbitrary initial value \((X_0,U_0)\) and crosses the \(X\)-axis as \((X_0, X_1, X_2, \ldots )\). Let \(a_i (=\pm 1)\) denotes the sign of \(X_i\) and construct a binary code \((a) \equiv (a_0, a_1, a_2, \ldots )\) for the orbit. In this way, any orbit can be labeled by a corresponding binary code. (Let us call this direction A). While this fact is trivially true, the reverse (call it direction B) is far from trivial. It has been shown by Gutzwiller [3] (and by Devaney [4] mathematically) that there is at least one orbit exists for a given binary code. The code of a periodic orbit must be a cyclic binary code

$$\begin{aligned} (a)_P=\left. (a_0, \ldots , a_{2N-1})\right| _{a_{2N}=a_0} \end{aligned}$$
(6)

because it must cross the \(X\)-axis even times to come back to the initial point with the same momentum. It is conjectured that there is only one periodic orbit for a given cyclic binary code—that is, the initial value \((X_0,U_0)\) is unique. Here \(N\) is called the rank and \(2N\) is the length of the PO. One can label a PO by its binary code or, alternatively, by the rank and the identification number (Id) within the rank.Footnote 2

Back to direction A, let us calculate a numberFootnote 3 by

$$\begin{aligned} \zeta (X_0,U_0) \equiv \sum _{i=0}^{\infty } \frac{1}{2^{i+1}} a_i (X_0,U_0) \end{aligned}$$
(7)

and \(a_0 \equiv 1\) to remove the redundancy. The curve \(\zeta (X_0,U_0)\) at \(U_0 \equiv 0\) was examined by Gutzwiller [5]. He found that it is monotonically increasing as a function of \(X_0\), and it is fractal—it is a devil’s staircase [6].

We have extended this devil’s staircase curve of Gutzwiller into the \(U_0\) direction and have numerically confirmed that it makes a surface with a remarkable structure as depicted in Fig. 2.

Fig. 2
figure 2

Some increasing tendencies in the fundamental region. In the direction of each arrow, the number \(\zeta\) increases

With increasing \(X_0\) at any fixed \(U_0\), the height of the surface \(\zeta (X_0,U_0)\) monotonically increases. On the other hand, with increasing \(U_0\) at fixed \(X_0\), \(\zeta (X_0,U_0)\) also monotonically increases except for very small \(X_0\) (\(\lesssim 0.15\)). We exhibit the surface in Fig. 3.Footnote 4 We call this surface the devil’s staircase surface (DSS).

Fig. 3
figure 3

The devil’s staircase surface. \(2000\times 100\) grid points are set on the fundamental rectangle \([0,2]\times [0,1]\), orbits are tracked for the binary code starting from \(a_0\) until \(a_{i_{\text {max}}=48}\) (the precision boundary for a double precision calculation), and then, \(\zeta (X_0,U_0)\) are calculated from \((a_0,\ldots ,a_{48})\)

For the purpose of this report, a double precision computation is sufficient, which allows the best precision binary code \((a_0, a_1, a_2, \ldots , a_{i_{\text {max}}=48})\). Figure 3 is the best surface in this precision, and it has \(2^{48}\) steps—the finest step is invisible in the scale of the Figure. (In a rough estimate, the height of the figure must be 0.2 AU to present each step resolvable with \(0.1\) mm!)

We have so far discussed the DSS constructed by an infinite sum (within 49 digits truncation). Now, it is also very interesting to see how this DSS by infinite sum is built up by constructing the coarse-grained version

$$\begin{aligned} \zeta (X_0,U_0) \equiv \sum _{i=0}^{2N-1} \frac{1}{2^{i+1}} a_i (X_0,U_0). \end{aligned}$$
(8)

Every step is then formed by such initial \((X_0,U_0)\) that orbits from them evolve in the same code (corresponding to the height of the step) during the first \(2N\) Poincaré sections. For the purpose of the coarse graining, any integer upper bound for the sum will do, but we have chosen here \(2N-1\) in order to facilitate a comparison with the rank \(N\) POs (see Eq. 6). Since \(a_0\) is fixed canonically to 1, there are \(2^{2N-1}\) steps for the \(N\) coarse- grained DSS and the rank \(N\) POs (with the truncated code, i.e., Eq. 6 without the cyclic repetition) seat themselves on these steps. In Fig. 4, we show the coarse- grained DSS with \(N=1\) in the upper and \(N=2\) in the lower diagram. We also indicate the positions of POs (with the truncated height) on the respective surfaces (there are 2 (4) distinct POs in \(N=1 (N=2)\). For our results up to \(N=10\), see Table 1).

With the increase of \(N\), the number of steps increases and their widths are accordingly reduced, and at the infinite \(N\) limit, the final limiting surface is formed and the full—non-truncated—POs are on it. It is constructed by both cyclic (the \(\zeta\) is rational) and non-cyclic (the \(\zeta\) is irrational) ones. Can we select the periodic ones on the DSS? In the next section, we will solve this problem successfully and we compute the POs exhaustively up to \(N=10\).

Fig. 4
figure 4

The coarse-grained DSS with \(N=1\) in the upper and \(N=2\) in the lower diagram. The step height \(\zeta\) is calculated by the \(2N\) digit code using Eq. (8) after undoing the abbreviation (for instance, \((1001)\rightarrow (+1,-1,-1,+1)\)). POs we found are indicated by their (\(N\), Id) on the steps

3 Search of POs up to \(2N=20\)

We describe below our search algorithm for a periodic orbit (call it the target-PO), labeled by a given cyclic binary code \(\bar{a} \equiv \left. (a_0 \equiv 1, a_1, \ldots , a_{2N-1})\right| _{a_{2N}\equiv a_0}\).

figure a

The number \(\tilde{\zeta }_{\text {PO}}(\bar{a})\) for the target-PO is calculatedFootnote 5 by

$$\begin{aligned} \tilde{\zeta }_{\text {PO}}(\bar{a}) \equiv \sum _{i=0}^{\infty } \frac{1}{2^{i+1}} a_i. \end{aligned}$$
(9)

Please do not confuse \(\tilde{\zeta }_{\text {PO}}(\bar{a})\) with \(\zeta (X_0,U_0)\) defined by Eq. (7). \(\tilde{\zeta }_{\text {PO}}(\bar{a})\) is different from \(\zeta (X_0,U_0)\). \(\tilde{\zeta }_{\text {PO}}(\bar{a})\) is defined independently from an initial value \((X_0,U_0)\) (it is the target of the shooting), while \(\zeta (X_0,U_0)\) is a function of \((X_0,U_0)\) describing the DSS.

figure b

Here we search for a level contour on the DSS with a height \(\tilde{\zeta }_\text {PO}(\bar{a})\). Figure 5 is a key map of the procedure for it. In the \(U_0\) interval \([0,1]\), we take equally spaced \(N_U\) points \(U_i = i/N_U\), and on each \(U_0=U_i\) line, we search for the value of \(X_0\) (a point \(P\)) so that the binary code of the orbit starting from \((X_0,U_0)\) shares with the binary code \(\bar{a}\) from \(a_0\) to typically \(a_{40}\).

Taking the advantage of the monotonically increasing property of the DSS at any fixed \(U_0\) (see Fig. 2), we adapt a bisection method.

Consider an \(X_0\) interval \([X_A, X_B]\) on a chosen \(U_0\) line (selected by a do-loop) and calculate a number \(\zeta _m\) at the midpoint \(X_m\). Because we examine the fundamental region \((X_0,U_0) \in [0,2] \times [0,1]\), we choose the starting interval as \([X_A,X_B] = [0, 2]\) (with the midpoint \(X_m=1\)) and calculate the orbit from \((X_m,U_0)\). Then, we calculate the number \(\zeta _m\) for this orbit. Now, we determine the next interval from \(\zeta _m\); if \(\zeta _m < \tilde{\zeta }_{\text {PO}}\), then we replace \(X_A\) by \(X_m\); otherwise we replace \(X_B\) by \(X_m\). This gives the second interval. By repeating this procedure iteratively, we can squeeze the \(X_0\) interval to a point \(P(U_0)\).

Running this first step on all \(U_0\)s by the said do-loop, the base curve \(\Gamma _0\) of the level contour \(\Gamma\) is generated (see Fig. 5). Any points on this contour \(\Gamma _0\) are candidate initial points for the target-PO, because the binary code of the orbit from there agrees with the binary code \(\bar{a}\) from \(a_0\) up to typically \(a_{40}\). We will see in the next step that the wanted initial point of the target-PO is only one point on this candidate curve.

Fig. 5
figure 5

An illustration of the first step—the search of the level line on the DSS with a height \(\tilde{\zeta }_\text {PO}(\bar{a})\). As exhibited in the bottom, we search a point \(P(U_0)\) for each \(U_0\) that satisfies at best the condition \(\zeta (X_0,U_0) = \tilde{\zeta }_\text {PO}(\bar{a})\), and they (\(P(U_0), P'(U'_0),\cdots\)) altogether form the base level contour \(\Gamma _0\)

figure c

Here we report an important observation on the \(\chi ^2\) function on the base level contour \(\Gamma _0\). This is a prelude to the final step.

A chi-squared value is defined as a measure of the amount of the misfit between the initial (\(0\)th) and the final (\(2N\)th) Poincaré sections.Footnote 6

$$\begin{aligned} \chi ^2 \equiv (x_f-x_i)^2 + (y_f-0)^2 + (p_{x_f}-p_{x_i})^2 + (p_{y_f}-p_{y_i})^2. \end{aligned}$$
(10)

It is worth to note the difficulty of finding a PO by simply minimizing \(\chi ^2\). To illustrate it, we show in Fig. 6 the \(\chi ^2\) sampled by the \(10^3\) grid points in the \(U_0\) interval \([0,1]\) at fixed \(X_0\). At a glance one finds that it is too jaggy to search the bottom. Although an adaptive shooting might work at the cost of large computing time, the exhaustive search for all of the POs will be impossible on this line.

Contrary to this, \(\chi ^2\) curve sampled along the candidate curve \(\Gamma _0\) is remarkably simple; it is a convex curve with only one bottom with \(\chi ^2\) equals to \(0\) with an error of typically \(10^{-10}\) as shown in Fig. 7. This point is nothing but the wanted initial point of the target-PO. The comparison between Figs. 6 and 7 succinctly shows that it is the curve \(\Gamma _0\) if one does the search for a PO along a certain curve. We have confirmed that this superior property holds along any candidate curves for other POs.

The fact that the \(\chi ^2\) curve turns out such a simple pattern is highly non-trivial. Furthermore, the unique existence of a bottom is nothing but the Gutzwiller’s conjecture!

Fig. 6
figure 6

The \(\chi ^2\)-plot along a line at \(X_0 = 1\). The increment for \(U_0\) is \(10^{-3}\). \(\chi ^2\) is calculated in the \(2N=10\) case

Fig. 7
figure 7

The \(\chi ^2\)-plot along the candidate curve \(\Gamma _0\) in the case of the PO (\(2N=10\), Id \(\, = 38\)). The increment for \(U_0\) is here \(10^{-2}\)

figure d

The final step is the search of the wanted initial point of a target-PO along the \(\Gamma _0\) as illustrated in the key map in Fig. 8. Because the \(\chi ^2\)-curve is convex with a single bottom, we search for the point \(Q\) by the use of a standard trisection method.

Divide a \(U_0\) interval \([U_A, U_B]\) into three equal segments by separation points \(U_1\) and \(U_2\) (\(U_1< U_2\)). Searching out positions \(P_1\) and \(P_2\) on the candidate curve at a fixed \(U_1\) and \(U_2\), respectively, by the first step algorithm, we calculate \(\chi ^2\)s at these positions. Because we work in the fundamental region, we choose the starting interval as \([U_A,U_B] = [0, 1]\) (with \(U_1=1/3, U_2=2/3\)), and calculate the orbit from \(P_1\) and \(P_2\). Then, we compare \(\chi ^2(P_1)\) with \(\chi ^2(P_2)\). If \(\chi ^2(P_1) < \chi ^2(P_2)\), then we replace \(U_B\) by \(U_2\); otherwise we replace \(U_A\) by \(U_1\). This gives the second interval. By repeating this procedure iteratively, we search out the point \(Q\) on the candidate curve and there \(\chi ^2\approx 0\). This completes our PO search algorithm. ——–

Due to the symmetry of the Hamiltonian, AKP orbits may have symmetries; the symmetry with respect to the \(x\)-axis (\(y\rightarrow -y\)), or \(y\)-axis, time-shift and time-reversal symmetries. If an orbit is obtained from the other one, one counts them the same. The number of distinct orbits after this identification is listed in Table 1.

Now we have all distinct periodic orbits in this list, altogether 19284 periodic orbits. This exceeds the previous world record up to \(2N=10\) (76 POs) [7].

In Fig. 9, we present three sample orbits with the rank \(N=10\) at \(\gamma =0.2\) and their characteristics in Table 2. Full profiles of 13648 periodic orbits at \(N=10\) are available:

http://www.isc.meiji.ac.jp/~tshimada/arob2014/sumiya-kubo-shimada_arob2014_orbit-profiles.pdf

This is, to our knowledge, the first time appearance of \(N=10\) POs in the literature.

Fig. 8
figure 8

An illustration of the third step. The candidate curve \(\Gamma _0\) has been already obtained by the bisection procedure shown in Fig. 5, and the curve in the left panel shows the \(\chi ^2\) value along \(\Gamma _0\) (it is a simple convex curve with one minimum). The minimum \(\chi ^2\) point \(Q\) (in fact \(\chi ^2=0\) for a PO) on \(\Gamma _0\) can be obtained by a standard trisection method, and it gives us the wanted initial value (\(X_0,U_0\)) for the target-PO

Table 1 The number of all distinct periodic orbits which we have found by our numerical algorithm
Fig. 9
figure 9

Three sample periodic orbits with length \(2N=20\) in the \((x,y)\) plane. Mass anisotropy \(\gamma =0.2\). We denote by \(S_x\) (\(A_x\)) that it is symmetric (asymmetric) under the \(x\)-transformation (\(x\rightarrow x,y\rightarrow -y\)). 1 Id \(= 100\), type-\((S_x A_y)\), 2 Id \(= 5002\), type-\((A_x S_y)\), 3 Id \(=10000\), type-\((A_x A_y)\). The circle exhibits the kinematical boundary

Table 2 The details of the sample POs in Fig. 9

4 Conclusion

In this paper, we have reported our findings, especially the existence of the DSS, and presented an efficient and fail-safe PO search algorithm, which fully utilizes this DSS. The algorithm uses two intriguing properties we have found for the DSS;

  1. (1)

    The number \(\zeta\) (the height of the DSS) monotonically increases with increasing \(X_0\) at fixed \(U_0\).

  2. (2)

    \(\chi ^2\) value along the proper level of the DSS is a simple convex curve with only one bottom, where \(\chi ^2=0\) as required for a PO.

These two properties are fully consistent with the Gutzwiller’s conjecture and support it. By our method, we have successfully obtained the exhaustive list of POs up to \(2N=20\), altogether \(19284\) POs. This gives a definitive support for the Gutzwiller’s conjecture for the unique existence of the PO for a given binary.

We consider that our PO search is a successful example of an intelligent search of a solution in a complex problem. To illustrate our strategy, an analogy with the famous Born–Oppenheimer approximation (BOA) will be helpful. In the BOA, we solve out the molecule configuration by separating slow (nuclei) and rapid (electrons) modes. Firstly, nuclei are tentatively fixed, and the wave function of electrons are solved to give an effective potential between nuclei. Then, nuclei slow dynamics is solved with this potential. This inspires the importance of strategy in handling the problem of searching the solution. Do not contend with it as a whole; separate the modes in it and solve the interlink between them. Our success comes from the separation of two directions in the parameter space. In the first step, we have located the level contour, which amounts to discarding the direction of the rapid change of the chi-squared function. (Integrating out irrelevant modes is also the basic strategy in the renormalization group approach to find the phase transition.) In the third step, we have searched the PO position in the level contour, that is, within the slow direction.

Let us conclude by describing briefly the recent status after AROB 19.

  1. (i)

    We have successfully shown that the DSS’s property in Fig. 2 by mathematical induction for the iterated one-time map of AKP flow.

  2. (ii)

    We have noticed that Gutzwiller showed future and past-level contours are produced by the collision orbits [5, 9]. The relation between two approaches is under scrutiny.

  3. (iii)

    Future and past-level contours enclose the corresponding PO as noted in [9]. Despite the description there, we have found that this fact is useful for PO search even for the difficult \(2N=20\). Our strategic \(\chi ^2\) procedure using a future contour is by far efficient.

  4. (iv)

    Gutzwiller’s approximation [10] for the action values of POs, using analogy with a certain spin system, works surprising well over all POs up to \(2N=20\).

These issues will be discussed elsewhere.