Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Rotation & the omega-inclination degeneracy (B8)

San Diego State University

Rotation & the ω\omega–inclination degeneracy (B8)

The other demos work on clean 3-D mocks. This one takes the first step toward observational realism: a rotating cluster is viewed at an inclination, and the recovered rotation depends on a line-of-sight projection. The honest result is the headline of the realism axis — the mean line-of-sight velocity measures the product ωsini\omega\sin i, never the rotation rate ω\omega alone.

The physics

Solid-body rotation about the cluster zz-axis gives v=ω(z^×r)\mathbf v = \omega(\hat z \times \mathbf r). The demo’s projection helper project_los tilts the cluster by the inclination ii (about the sky xx-axis) and reads the line-of-sight (observer zz) velocity. The mean is linear in the sky xx-coordinate:

vlos(xsky)=ωsini  xsky.\langle v_{\rm los}\rangle(x_{\rm sky}) = \omega\,\sin i\;x_{\rm sky}.

A face-on cluster (i=0i=0) shows no rotation signature; an edge-on one (i=90i=90^\circ) shows the full ω\omega. So the observable rotation amplitude is the slope k=ωsinik = \omega\sin i. The recovered slope (a clean linear fit of the binned vlos\langle v_{\rm los}\rangle) is

quantity

truth

recovered

k=ωsinik = \omega\sin i

1.732 (ω=2.0\omega=2.0, i=60i=60^\circ)

1.69±0.031.69 \pm 0.03 (pull -1.34)

Inputs and assumptions

The fit recovers one observable, the slope k=ωsinik=\omega\sin inot the rotation rate ω\omega itself (see the degeneracy). The physical ω\omega and inclination ii are inputs held at truth.

Table 2:Model inputs

Input

Meaning and role

Status (fiducial)

k=ωsinik=\omega\sin i

Slope of vlos\langle v_{\rm los}\rangle vs sky-xxwhat the data actually constrain (z[0]).

recovered (ktrue=1.73k_{\rm true}=1.73)

ω\omega

Solid-body rotation rate; the physical target, but only the product ωsini\omega\sin i is measurable from vlos\langle v_{\rm los}\rangle.

known / fixed (2.0 /Myr); degenerate, not recovered

ii

Inclination of the spin axis to the line of sight; degenerate with ω\omega (needs external info, e.g. flattening).

known / fixed (6060^\circ); degenerate

rhr_h, spin axis, masses, GG

Plummer half-mass radius (1 pc); spin axis =z^=\hat z tilted about sky-xx only (no position angle); equal-mass tracers; GG (STELLAR).

known / fixed

projection model

The assumed linear forward model vlos=kxsky\langle v_{\rm los}\rangle = k\,x_{\rm sky} from a pure-inclination tilt about one axis.

known / fixed (model assumption)

NN, bins, box, MLE, gates

2×1042\times10^4 stars; 16 sky-xx quantile bins (min 30/bin); slope box (20,20)(-20,20); 3 Adam starts; gates self-consistency 4σ4\sigma, recovery 3σ3\sigma, degeneracy cond 108.

numerical choices

The degeneracy (the headline)

Because vlos\langle v_{\rm los}\rangle depends only on the product, ω\omega and ii are degenerate: k/(ω,i)=(sini, ωcosi)\partial k/\partial(\omega, i) = (\sin i,\ \omega\cos i), so the (ω,i)(\omega, i) Fisher information F=(k)(k)/σk2\mathcal F = (\nabla k)(\nabla k)^\top/\sigma_k^2 is rank 1, with eigenvalues

λ(F)=(8×1014, 1.9×103),\lambda(\mathcal F) = (8\times10^{-14},\ 1.9\times10^{3}),

— one machine-precision zero (condition number 1016\sim 10^{16}). Every (ω,i)(\omega, i) on the curve ω=k^/sini\omega = \hat k/\sin i fits the line-of-sight velocities equally well (panel c). Recovering the rotation rate needs an independent inclination — e.g. from the projected flattening — which line-of-sight velocities alone cannot supply. This is the same rank-deficient inverse-problem structure as the birth-environment demo, now from projection rather than a many-to-one map.

Figure

Rotation & the \omega–i degeneracy (scripts/demo_rotation.py, ALL PASS).
(a) The projected sky map coloured by v_{\rm los}: the rotation dipole —
one side approaching (blue), one receding (red). (b) The rotation curve
\langle v_{\rm los}\rangle(x_{\rm sky}) with the recovered slope k=\omega\sin i.
(c) The degeneracy: every (\omega, i) on \omega=\hat k/\sin i (purple) fits
equally well; the truth ★ lies on it.

Figure 1:Rotation & the ω\omegaii degeneracy (scripts/demo_rotation.py, ALL PASS). (a) The projected sky map coloured by vlosv_{\rm los}: the rotation dipole — one side approaching (blue), one receding (red). (b) The rotation curve vlos(xsky)\langle v_{\rm los}\rangle(x_{\rm sky}) with the recovered slope k=ωsinik=\omega\sin i. (c) The degeneracy: every (ω,i)(\omega, i) on ω=k^/sini\omega=\hat k/\sin i (purple) fits equally well; the truth ★ lies on it.

Caveats

How to run

env -u VIRTUAL_ENV uv run --no-sync python scripts/demo_rotation.py

References

The Plummer model is Plummer (1911); the rotation overlays (apply_solid_body_rotation, apply_differential_rotation) and their non-equilibrium caveats are documented on the rotation & anisotropy page.

References
  1. Plummer, H. C. (1911). On the problem of distribution in globular star clusters. Monthly Notices of the Royal Astronomical Society, 71, 460–470. 10.1093/mnras/71.5.460