Chapter 4: Orbits in spherical mass distributions
Problem 4.1
In a homogeneous spherical potential, the radial frequency is constant, independent of energy and angular momentum, \(T_r = \pi/\omega\).
Problem 4.2
Qualitative argument
There are two limiting cases for the ratio of the radial period \(T_r\) to the azimuthal period \(T_\psi\):
| Potential | Rotation curve | \(T_r / T_\psi\) |
|---|---|---|
| Homogeneous sphere | \(v_c \propto r\) | \(1/2\) |
| Kepler | \(v_c \propto r^{-1/2}\) | \(1\) |
with the isochrone interpolating between them: \(1/2 \leq T_r/T_\psi \leq 1\).
The Milky Way has a roughly flat rotation curve near the Sun (\(v_c \approx \mathrm{const}\)), which lies between the rising rotation curve of the homogeneous sphere and the falling Keplerian one. Therefore \(T_r/T_\psi\) should be somewhere between \(1/2\) and \(1\), giving
More refined argument
For a power-law rotation curve \(v_c \propto r^\beta\), the circular frequency is \(\Omega = v_c/r \propto r^{\beta - 1}\), so \(\Omega^2 \propto r^{2(\beta-1)}\). The epicyclic frequency is
giving
This reproduces the two limits: \(\beta = 1 \to T_r/T_\psi = 1/2\) and \(\beta = -1/2 \to T_r/T_\psi = 1\).
For a flat rotation curve (\(\beta = 0\)):
and with \(T_\psi \approx 220\,\mathrm{Myr}\):
Problem 4.3
Part a
With
the isochrone potential can be written as
We can invert \(r\) to get
Part b
Becasue we are going to need it later, call
So that
The turning points are solutions to the equation \(g(r) = 0\),
whose solutions are
Therefore
Part c
Part d
From Vieta's formulas applied to the quadratic (4.3.1),
and
where in the last step we used \(s_1 + s_2 = 2 - GM/(bE)\). Therefore
Substituting back,
Problem 4.4
The latitudinal action is
From Problem 3.3, the conjugate momenta per unit mass are \(p_r = \dot{r}\), \(p_\theta = r^2\dot{\theta}\), and \(p_\phi = r^2\sin^2\theta\,\dot{\phi} = L_z\). Since only the tangential components of \(\mathbf{v}\) contribute to \(\mathbf{L} = \mathbf{r}\times\mathbf{v}\):
so the conjugate momentum is
The orbit in \(\theta\) oscillates between turning points \(\theta_{\min}\) and \(\theta_{\max} = \pi - \theta_{\min}\), where \(p_\theta = 0\) gives \(\sin\theta_{\min} = |L_z|/L\). Therefore
Substituting \(u = \cos\theta\) (so \(du = -\sin\theta\,d\theta\)) with \(u_0 = \cos\theta_{\min} = \sqrt{1 - L_z^2/L^2}\):
where I used \(L^2 - L^2 u^2 - L_z^2 = L^2(u_0^2 - u^2)\).
Now substitute \(u = u_0\sin t\) (so \(du = u_0\cos t\,dt\)):
Writing \(\cos^2 t = 1 - \sin^2 t\) and using
the integrand simplifies to
Using the standard result \(\displaystyle\int_0^{\pi/2}\frac{dt}{1 - a^2\sin^2 t} = \frac{\pi}{2\sqrt{1-a^2}}\) for \(a^2 < 1\), and noting \(\sqrt{1 - u_0^2} = |L_z|/L\):
Putting it all together:
Problem 4.5
For large \(b\)
so
and the potential becomes
Up to an additive constant, this is a homogeneous sphere potential with \(\omega^2 = GM/(4b^3)\). But the key point is that we must keep \(GM/b^3\) fixed as \(b \to \infty\) to get a non-trivial limit, in other words \(M\) must scale as \(b^3\) for the isochrone to approach a homogeneous sphere.
The "paradox" arises if we try to keep \(M\) fixed as \(b \to \infty\), the potential becomes trivial \(\Phi(r) \to 0\), bound orbits disapper and trying to reason about perior becomes a meaningless exercise.
Note that \(\Phi(0) = -GM/(2b) \to 0\) as \(b \to \infty\), the depth of the potential well goes to zero if \(M\) is fixed, abd tge bound energy windoe squeezes to zero, so holding \(E\) fixed as \(b \to \infty\) also leads to a trivial limit. The comparison is to hold the oscillator energy above the minimum \(E - \Phi(0) = E + GM/(2b)\) fixed as \(b \to \infty\).
Problem 4.6
The Lagrangian for two gravitating point masses is
Define the center-of-mass and relative coordinates
where \(M = m_1 + m_2\). Inverting,
The kinetic energy becomes
Defining the reduced mass \(\mu = m_1 m_2 / M\),
The center-of-mass coordinate is cyclic (\(\mathcal{L}\) does not depend on \(\mathbf{x}_{\mathrm{cm}}\)), so \(M\dot{\mathbf{x}}_{\mathrm{cm}} = \text{const}\) and the first term is a constant of motion. The non-trivial dynamics is therefore governed by
which is the Lagrangian of a particle of mass \(\mu\) moving in the gravitational field of a fixed mass \(M = m_1 + m_2\).
Problem 4.7
We increase the mass with \(M(t) = A(t) M_0\) where \(A(t)\) is a smooth function that transitions from \(1\) to \(2\) around some time \(t_{\rm mid}\), for example
so the potential at time \(t\) is \(\Phi(r,t) = A(t)\,\Phi_0(r)\) with \(A\) going from \(1\) to \(2\). The parameter \(\tau\) sets how fast the transition is compared to the orbital period \(T_{\rm orb}\).
At each snapshot time \(t_i\) we freeze the potential at its instantaneous amplitude \(A(t_i)\) and compute the radial action

- Left column (slow ramp, \(\tau = 10\,T_{\rm orb}\)): The radial action \(J_r\) stays nearly constant through the mass doubling — the adiabatic invariant is conserved. The orbit shrinks (smaller \(R\)) as the potential deepens, but does so in a way that preserves \(J_r\).
- Right column (fast ramp, \(\tau = 0.1\,T_{\rm orb}\)): The mass doubles in a fraction of an orbital period. The orbit has no time to adjust adiabatically, and \(J_r\) jumps to a new, larger value. The shaded band marks the ramp window.
Problem 4.8
Part a
Let's start from
where \(u = 1/r\) and
Therefore
or equivalently
Solutions to this equation are of the form
To find the constant \(C\), note that
We can write this in terms of \(u\) by noting that
so that
Using Eq. (4.8.2) to substitute for \(u\) and \(du/d\psi\)
Rearranging
Part b
An integral of motion is any quantity \(I(\mathbf{x}, \mathbf{v})\) that (i) depends only on the current phase-space coordinates and (ii) is conserved along the orbit. \(\psi_0\) satisfies both conditions:
From Eq. (4.8.2) and its derivative with respect to \(\psi\),
we can divide and solve for \(\psi_0\):
Since \(u = 1/r\) and \(du/d\psi = -\dot{r}/L\) (from Part a), this becomes
which expresses \(\psi_0\) entirely in terms of the current phase-space coordinates \((r, \psi, \dot{r}, L)\), with no explicit time dependence. Since \(\psi_0\) is also constant along the orbit by construction (it is a constant of integration of the orbit equation), it satisfies both conditions and is therefore an integral of motion.
This is analogous to the Laplace–Runge–Lenz vector in the Kepler problem: when \(a = 0\) (so \(K = 1\)), \(\psi_0\) gives the azimuthal angle of pericenter, encoding the same orientational information as the Runge–Lenz vector direction.
Part c
For simplicity call \(u_0 = GMK^2/L^2\), Eq. (4.8.2) can be written as
Solutions are
The key point here is that \(\psi\) is an angle coordinate, so physically \(\psi\) is only defined module \(2\pi\), we then only care about solutions of Eq. (4.8.3) mod \(2\pi\). More explictly, call \(\alpha = \arccos A \in [0, \pi]\), then question befomrs, how many distinct values are in the set
There are two branches here, \(\psi^{\pm}_n = \psi_0 \pm K\alpha + 2\pi k n\), for each branch, increasing \(n\) just adds the increment \(2\pi K\), so the question above can be rephrased as: "On the circle \(\pmod{2\pi}\), how many distinct points do we get by repeatedly adding \(2\pi K\) to the initial point \(\psi_0 \pm \alpha\)?".
If \(K \in \mathbb{Z}\), then \(2\pi K n \pmod{2\pi} = 0\) for all \(n\), and the entire family collapses to \(\psi = \psi_0 \pm K \alpha \pmod{2\pi}\), that is, at most two distinct solutions physically this corresponds to the particle moving in, and moving out.
If, \(K = p/q\in \mathbb{Q}\), the are at most \(2q\) distinct points.
Finally, if \(K\) is irrational, the set is infinite. In summary we have
So the condition "\((E, L, r, \psi_0)\) restricts \(\psi\) to a finite set" forces \(K \in \mathbb{Z}\).
Part d
Inevetably we will only have two values of \(\psi\) that satisfy the condition, but for \(K = 1\) the radial period equal \(2\pi\) and the orbit closes after on radial oscillation
So we recover the Kepler potential.
Problem 4.9
The precession is just \(\Delta\varpi = \Delta\psi - 2\pi\), where \(\Delta\psi\) is the change in azimuthal angle after one radial period
Numerical integration
To ensure the integral converges at the turning points, we can change variables to \(2r = (r_p + r_a) + (r_a - r_p)\sin t\)

>>> from galactic_dynamics_bovy.chapter04.gr_precession import plot_gr_precession
>>> plot_gr_precession()
Each (thick) lines corresponds to different value of eccentricity, more specifically for Mercury
>>> from galactic_dynamics_bovy.chapter04.gr_precession import compute_delta_psi, SolarUnits
>>> e_mercury, a_mercury = 0.205630, 0.387098 * SolarUnits.AU
>>> precession_rad_mercury = compute_delta_psi(a_mercury * (1 - e_mercury), e_mercury) - 2.0 * np.pi
>>> precession_arcsec_mercury = np.degrees(precession_rad_mercury) * 3600.0
>>> orbits_per_century = 100.0 * 365.25 / 87.969
>>> precession_arcsec_mercury * orbits_per_century
42.9808767790197
Analytical approximation
Define \(\mu = GM\) and \(p = L^2/\mu\), then for
the force is
and the equation of motion of a particle in this potential is the solution to
The solution Kepler's equation \(u_0\) is
Assume the solution to Eq. (4.9.1) is of the form \(u = u_0 + \delta u\), then to leading order
Since \(u_0\) is a solution to the Kepler problem, \(u_0'' + u_0 = \mu/L^2\), so
This is the key observation: the perturbing force contains a term proportional to \(\cos\psi\), which is resonant with the homogeneous solution of the left-hand side, so we expect a secular growth in \(\delta u\): \(\delta u \sim e\kappa\psi \sin\psi\) for some constant \(\kappa\), that is
Substituting this ansatz back into Eq. (4.9.1) we get
Matching coefficients
Dashed lines in the plot above show the analytical approximation \(\Delta\varpi \approx 2\pi\kappa\) derived from Eq. (4.9.2), which works well for small eccentricity and small precession.
Problem 4.10 🌶️
Consider an orbit in an isochrone potential,
and suppose we apply an instantaneous velocity kick \(\Delta \mathbf{v}\) at pericenter. We want to understand how the new pericenter compares to the original, and whether radial and tangential kicks differ in their effect.
Part a: Orbit integration and pericenter measurement
flowchart TD
A["Choose initial conditions (R, vR, vT)"] --> B["Integrate orbit in isochrone potential"]
B --> C["Detect 1st pericenter via local minima in R(t)"]
C --> D["Extract phase-space coords at pericenter"]
D --> E["Pick next |dv| from sweep array"]
E --> F{"Apply kick"}
F -->|"Radial: vR -> vR + dv"| G["Integrate new orbit from kicked state"]
F -->|"Tangential: vT -> vT + dv"| G
G --> H["Measure new pericenter: min R(t)"]
H --> I["Record ln(r_p_kicked / r_p)"]
I --> J{"More |dv| values?"}
J -->|Yes| E
J -->|No| K["Plot results"]
The orbit comparison below shows the original orbit (solid) versus a radially kicked orbit (dashed), both starting from the same pericenter:

The plot below shows \(\ln(r_p^{(k)} / r_p)\) versus kick magnitude, where \(r_p\) is the original pericenter and \(r_p^{(k)}\) is the pericenter after the kick:

- Radial kicks (left): the log-ratio is negative — the pericenter decreases. The orbit becomes more eccentric.
- Tangential kicks (right): the log-ratio is zero (within numerical noise).
Part b: Pure tangential kick
From the equation
we have that at the pericenter
Take \(\Delta v_R = 0\) and \(\Delta v_T > 0\), then immediately after the kick
and the effective potential after the kick is
which means \(r_p\) is still a turning point of the new orbit, so the pericenter does not change.
Part b: Pure radial kick
Now take \(\Delta v_T = 0\) and \(\Delta v_R > 0\), then immediately after the kick
Which means that
So \(r_p\) is no longer a turning point of the new orbit, the new pericenter is the new root of the equation \(E^{(k)} = \Phi_{\mathrm{eff}}(r;L_z)\). To see in which direction the pericenter changes, note that \(\Phi_{\mathrm{eff}}(r;L_z)\) is a decreasing function of \(r\) for \(r < r_p\) and an increasing function of \(r\) for \(r > r_p\). Since \(E^{(k)} > \Phi_{\mathrm{eff}}(r_p;L_z)\), the new pericenter must be smaller than the original one, \(r_p^{(k)} < r_p\), exactly as we found in the numerical experiment.
Part c: Apocenter and eccentricity
The same analysis can be extended to the apocenter radius and the orbital eccentricity \(e = (r_a - r_p)/(r_a + r_p)\):


- Radial kicks increase both the apocenter and the eccentricity — the orbit becomes larger and more elongated.
- Tangential kicks increase the apocenter but leave the eccentricity nearly unchanged, consistent with the pericenter being preserved.
Not sure where to start
I am not sure how to start this problem, I will come back to this later.