REVIEW 3 major objections 6 minor 1 cited by
PyGRO: a Python Integrator for General Relativistic Orbits
T0 review · 3 major / 6 minor · reviewed 2026-08-16 · deepseek-v4-flash
Pith's one-line read PyGRO computes fully relativistic orbits from any user-supplied analytic spacetime metric, without hand-deriving Christoffel symbols.
desk verdict A genuinely useful, open geodesic integrator with solid validation against known results; the 'any metric' claim is plausible but not yet proven by the Schwarzschild/Kerr benchmarks. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing mechanism is a two-level pipeline. At the symbolic level, a Metric object takes the user's expression $g_{\mu\nu}$ and computes the inverse metric, the Levi-Civita connection $\Gamma^{\mu}_{\nu\rho}=\frac{1}{2}g^{\mu\sigma}(\partial_{\nu}g_{\sigma\rho}+\partial_{\rho}g_{\nu\sigma}-\partial_{\sigma}g_{\nu\rho})$, the geodesic equations $\ddot{x}^{\mu} + \Gamma^{\mu}_{\nu\rho}\dot{x}^{\nu}\dot{x}^{\rho}=0$, and helper functions built from the causal normalization $g_{\mu\nu}\dot{x}^{\mu}\dot{x}^{\nu}=-1$ for timelike geodesics or $0$ for null geodesics. At the numerical level, a GeodesicEngine converts those symbolic equations into fast callable functions, optionally compiled to C, and integrates them with embedded adaptive Runge-Kutta schemes, stopping on user-defined criteria such as an event-horizon radius. Two higher-level interfaces carry most of the user-facing value: an Observer class that uses tetrad frames to fire geodesics along physically meaningful directions, and an Orbit class that, in spherically symmetric spacetimes, converts classical Keplerian elements into initial conditions by solving the effective-potential relations, with the energy and angular momentum to $(a,e)$ map computed numerically for generality. This machinery is what turns typing in a metric into getting an orbit without manual derivation.
What would settle it
Take a spacetime with a known exact geodesic that is not among the demonstrated Schwarzschild and Kerr cases—for instance, radial null infall in Reissner-Nordström, or a metric with a coordinate singularity inside the domain—and run PyGRO at progressively tighter tolerances; if the integrated trajectory does not converge to the analytic solution at the requested tolerance, or if the constraint $g_{\mu\nu}\dot{x}^{\mu}\dot{x}^{\nu}$ fails to shrink toward zero, the 'any analytic metric' claim is falsified.
Extended reading notes
Core claim
The paper's central claim is that one package can turn a user-supplied symbolic expression of any analytic four-dimensional metric into fully relativistic geodesic trajectories, for both massive and massless test particles, without manual derivation of the Christoffel symbols or of the normalization of initial data. The validation consists of reproducing, with the same code, a broad set of classical general-relativity results: the perihelion advance of bound orbits in Schwarzschild matching the post-Newtonian formula in weak fields and going beyond it in strong fields; stable circular orbits and the innermost stable circular orbit at 6M, together with unstable circular orbits that plunge after long integrations; the photon sphere at 3M and the strong deflection of null geodesics; the two critical impact parameters of a Kerr black hole with spin a=0.8 and the resulting prograde and retrograde photon orbits; the full set of S2 observables in the Galactic center including the roughly 200 km/s relativistic redshift contribution at pericenter; and an analytic radial-infall null geodesic whose integrated coordinate-time profile reproduces the divergence at the horizon. Accuracy is quantified by convergence of the numerical solution and of the conserved norm $g_{\mu\nu}\dot{x}^{\mu}\dot{x}^{\nu}$ to their exact values as tolerances are tightened.
Load-bearing premise
The advertised 'any analytic spacetime' generality depends on the metric being supplied as one symbolic expression in a single coordinate chart that covers the whole integration domain; for spacetimes requiring multiple charts, piecewise definitions, or purely numerical metrics, the demonstrated pipeline does not apply.
Editorial extensions
If this is right
- A researcher testing an alternative theory of gravity can swap in a new metric expression and immediately obtain the orbital trajectories and photon paths, removing the bottleneck of hand-deriving connection coefficients for each theory.
- The Orbit class supplies a fully relativistic Keplerian parametrization for any spherically symmetric metric, so observational fits phrased in semi-major axis, eccentricity, and angular elements can be compared across theories in the same language used by astronomers.
- The Observer class turns a metric into a ray-tracing setup, enabling black-hole shadow, photon-ring, and astrometric-position calculations for arbitrary analytic geometries rather than pre-coded special cases.
- The runtime and convergence benchmarks indicate that after a roughly one-second setup the per-orbit integrations take milliseconds, making the package practical for repeated evaluations in parameter-estimation and model-comparison workflows.
- Because the four-velocity norm is a monitorable constraint during integration, users of new metrics have a built-in accuracy diagnostic that does not require an analytic solution.
Reading between the lines
- The paper validates the pipeline only on Schwarzschild and Kerr, both given as single global analytic expressions; a fair next stress test would be a spacetime whose physically relevant region needs multiple coordinate patches, where the single-chart assumption could break.
- For very complicated metrics the symbolic differentiation and C-compilation step may dominate runtime, so caching or simplifying the derived geodesic expressions before compilation is a natural extension not covered by the benchmarks.
- The Keplerian-element Orbit interface is explicitly restricted to spherical symmetry; extending the same initialization method to axisymmetric spacetimes, which the paper lists as future work, would bring the same ease of use to rotating black holes and their shadows.
- A testable extension is to expose the constraint violation as a per-step automatic stopping or error-control criterion, turning what is now a post-hoc benchmark into a safeguard for unexplored metrics.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper presents PyGRO, an open-source Python package for numerically integrating time-like and null geodesics in four-dimensional space-times specified by a user-supplied symbolic metric. The Metric class uses sympy to compute the inverse metric, Christoffel symbols, and normalization helpers; the GeodesicEngine integrates the resulting geodesic equations with adaptive explicit Runge-Kutta methods (RKF45, Dormand-Prince, Cash-Karp, RKF78) and supports autowrap and lambdify backends. Higher-level APIs (Observer, Orbit) allow initialization from tetrad frames and Keplerian-like orbital elements in spherical symmetry. The paper validates the code against the post-Newtonian perihelion precession formula (Eq. 24), circular-orbit properties including the ISCO, the photon sphere at r=3M, Kerr critical impact parameters (Eq. 41), and the analytical radial infall solution (Eq. 43), and it reports convergence and runtime benchmarks. It also demonstrates a full pipeline for reconstructing the S2 star's observable astrometric and spectroscopic quantities.
Significance. PyGRO addresses a real need: a flexible, user-friendly geodesic integrator for arbitrary analytic metrics that minimizes manual derivation of connection coefficients. If the advertised generality holds, it is a useful tool for the relativistic astrophysics community, particularly for testing modified-gravity or black-hole-mimicker models against S-star and EHT observations. Strengths include the open-source availability, reproducible example notebooks, validation against independent analytical results (post-Newtonian precession, radial infall, photon sphere, Kerr critical impact parameters), explicit convergence tests (Fig. 14), and measured runtime tables. The symbolic engine is generic rather than hardcoded to Schwarzschild or Kerr. The main weakness is evidential: the benchmark suite covers only Schwarzschild and Kerr, both highly symmetric in the configurations tested, so the central 'any analytic metric' claim is broader than what the paper actually demonstrates.
major comments (3)
- [Abstract and Section 3] The advertised 'full generality with any user-given symbolic expression of the space-time metric tensor' is not established by the benchmarks in Section 3, which use only the Schwarzschild metric (Eq. 23) and the Kerr metric (Eq. 40). These are highly symmetric, and the Kerr example is restricted to the equatorial plane, so the effective number of nonzero Christoffel symbols is small. Section 2.1 itself cautions that 'algebraically complicated metric tensors' introduce symbolic overhead, and Section 3.7 quantifies performance only for those same two metrics. To make the central claim load-bearing, I request either (i) an additional benchmark with a dense, non-symmetric analytic metric whose independent components depend on all four coordinates, demonstrating that Metric initialization and geodesic integration remain tractable and accurate, or (ii) a revision of the abstract and Section 1 to state that PyGRO is designed for general analytic metrics and validated on high-symmetry examples. As written, the 'any analytic four-dimensional space-time' claim overreaches the evidence.
- [Section 2.1, Eq. (2)] Equation (2) contains an index error. The geodesic equation should read \ddot{x}^\mu + \Gamma^\mu_{\nu\rho} \dot{x}^\nu \dot{x}^\rho = 0, not \ddot{x}^\mu + \Gamma^\mu_{\nu\rho} \dot{x}^\mu \dot{x}^\nu = 0. As printed, the free index \mu also appears as a summation index on \dot{x}^\mu, making the equation ambiguous or incorrect. Please correct the equation and ensure the surrounding text and the implementation description use the same convention.
- [Section 3.5, Eq. (40)] The Kerr metric in Eq. (40) defines \Delta \equiv r^2 - 2Mr + a, but the correct Boyer-Lindquist expression is \Delta \equiv r^2 - 2Mr + a^2. As printed, the d r^2 term of the metric is wrong, which would affect any reader implementing the metric directly from the paper. Please correct this definition and check that all subsequent formulas (e.g., Eqs. 41 and 42) are consistent with the corrected \Delta.
minor comments (6)
- [Section 3.6] The convergence check is referred to as being reported in 'Fig. 7' and compared with 'Eq. (13)'; the correct references are Fig. 14 and Eq. (43).
- [Section 3.4 and Fig. 11] The 'striking agreement' between the PyGRO-reconstructed S2 observables and the data of Gillessen et al. (2017) is partly by construction, because the orbital elements used to initialize the geodesic are taken from that same catalog. Please describe this example as a consistency check or science application rather than an independent validation of the integrator.
- [Throughout] There are numerous typographical errors, including 'the the geodesic equations' in the abstract, 'Christhoffel' in Fig. 1, 'coordiante' and 'Earth form' in Section 3.4, and 'correspons' in Section 3.4. A careful copyedit pass is needed.
- [References] The reference list has inconsistent and potentially duplicate entries, including two Einstein (1915) entries with different page ranges and inconsistent spelling of 'Gravity + Collaboration' versus 'Gravity+ Collaboration'. Please check the final reference list for consistency.
- [Fig. 14] The right panel of Fig. 14 would benefit from an explicit y-axis label such as 'constraint violation' rather than only the expression g_{\mu\nu} \dot{x}^\mu \dot{x}^\nu, and the left panel should state clearly whether the plotted error is absolute or relative.
- [Section 3.7] The runtime comparisons would be more informative if PyGRO were benchmarked against an existing hardcoded geodesic integrator (e.g., GYOTO) for the same cases, since absolute runtimes on a single laptop do not by themselves substantiate the 'fast' characterization.
Circularity Check
No significant circularity: PyGRO's benchmarks are checked against independent analytic and post-Newtonian results, so the central claim is not forced by its own inputs.
full rationale
The derivation chain in PyGRO starts from a user-supplied symbolic metric and uses sympy to compute the inverse metric, Christoffel symbols, and geodesic equations; the numerical solver is then validated against external known results: the post-Newtonian periastron advance formula (Eq. 24), the known ISCO and photon-sphere radii, the Kerr critical-impact-parameter relation (Eq. 41), and the analytic radial null geodesic solution (Eq. 43). These checks are external to the code's fitted values and therefore constitute genuine validation. The S2 example in Section 3.4 uses orbital elements from Gillessen et al. (2017) as initial conditions and compares the reconstructed observables to the same catalogue; this is a self-consistency check rather than an independent prediction, but it is not a load-bearing part of the paper's central claim and no fitted parameter is renamed as a prediction. The cited prior work by the author is contextual and does not supply the validation. The advertised 'any analytic metric' generality is not fully established by the Schwarzschild/Kerr benchmarks, and Eq. (2) contains an index typo, but these are correctness or support concerns, not circularity.
Assumptions & free parameters
assumptions (3)
- standard math Motion of test particles follows the geodesic equation with the Levi-Civita connection (Eq. 2).
- domain assumption The spacetime is provided as a single analytic symbolic expression in one coordinate chart covering the integration region.
- domain assumption For each new metric, the normalization equation (3) is solved for the missing velocity component, with the physical root selected.
Cite this review
Pith. "Pith review of PyGRO: a Python Integrator for General Relativistic Orbits." pith.science (2026). https://pith.science/paper/2L6PYMQ6
@misc{pith2026250420152,
author = {Pith},
title = {Pith review of: PyGRO: a Python Integrator for General Relativistic Orbits},
year = {2026},
howpublished = {\url{https://pith.science/paper/2L6PYMQ6}},
note = {Machine review of arXiv:2504.20152}
}
read the original abstract
Advancement in recent years in the field of experimental gravitation has allowed to test the equivalence principle in regimes that were previously unexplored, allowing for unprecedented verifications of general relativity and also enabling tests of alternative theories of gravity. We introduce a new computational tool, PyGRO, with the aim of integrating numerically the geodesic equations for the trajectories of massive and massless test particles in any analytic four-dimensional space-time. The result is a modern, fast, open-source, highly customizable and user-friendly Python package to perform the numerical integration of the the geodesic equations. Combining symbolic and numerical calculations, PyGRO offers a variety of methods to obtain fully relativistic orbits with minimal intervention by the user, working in full generality with any user-given symbolic expression of the space-time metric tensor. We have tested PyGRO in an array of different scenarios, validating the methodology employed by successfully reproducing classical results from general relativity, which we report in this article.
Figures
Figures from the paper (10 more)
Forward citations
Cited by 1 Pith paper
-
Dark Matter Heating of Compact Stars Beyond Capture: A Relativistic Framework for Energy Deposition by Particle Beams
A new relativistic formalism computes capture and energy deposition of directed particle beams in compact stars, applied to blazar-boosted dark matter heating of white dwarfs and neutron stars.
Reference graph
Works this paper leans on
-
[1]
P., Abbott, R., Abbott, T
Abbott, B. P., Abbott, R., Abbott, T. D., et al. 2016, Phys. Rev. Lett., 116, 061102
2016
-
[2]
H., Gourgoulhon, E., & Perrin, G
Aimar, N., Paumard, T., Vincent, F. H., Gourgoulhon, E., & Perrin, G. 2024, Classical and Quantum Gravity, 41, 095010
2024
-
[3]
M., Press, W
Bardeen, J. M., Press, W. H., & Teukolsky, S. A. 1972, ApJ, 178, 347
1972
- [4]
-
[5]
Bolton, C. T. 1972, Nature, 235, 271
work page 1972
-
[6]
Cadoni, M., De Laurentis, M., De Martino, I., et al. 2023, Phys. Rev. D, 107, 044038
work page 2023
-
[7]
1985, The mathematical theory of black holes
Chandrasekhar, S. 1985, The mathematical theory of black holes
work page 1985
-
[8]
Cunningham, C. T. & Bardeen, J. M. 1973, ApJ, 183, 237
work page 1973
Show all 38 references
-
[9]
& Deruelle, N
Damour, T. & Deruelle, N. 1985, Annales de L’Institut Henri Poincare Section (A) Physique Theorique, 43, 107
1985
-
[10]
& Deruelle, N
Damour, T. & Deruelle, N. 1986, Annales de L’Institut Henri Poincare Section (A) Physique Theorique, 44, 263 De Laurentis, M., de Martino, I., & Della Monica, R. 2023, Reports on Progress in Physics, 86, 104901 De Martino, I., della Monica, R., & De Laurentis, M. 2021, Phys. R...
1986 arXiv
-
[11]
Dicke, R. H. 1964, in Les Houches Summer Shcool of Theoretical Physics: Rel- ativity, Groups and Topology, 165–316
1964
-
[12]
2019, Science, 365, 664
Do, T., Hees, A., Ghez, A., et al. 2019, Science, 365, 664
2019
-
[13]
W., Eddington, A
Dyson, F. W., Eddington, A. S., & Davidson, C. 1920, Philosophical Transactions of the Royal Society of London. Series A, Containing Papers of a Mathemat- ical or Physical Character, 220, 291
1920
-
[14]
& Genzel, R
Eckart, A. & Genzel, R. 1996, Nature, 383, 415
1996
-
[15]
1915, Sitzungsberichte der Königlich Preußischen Akademie der Wissenschaften (Berlin), 844
Einstein, A. 1915, Sitzungsberichte der Königlich Preußischen Akademie der Wissenschaften (Berlin), 844
1915
-
[16]
1915, Sitzungsber
Einstein, A. 1915, Sitzungsber. Preuss. Akad. Wiss. Berlin (Math. Phys. ), 1915, 831 Event Horizon Telescope Collaboration, Akiyama, K., Alberdi, A., et al. 2024, ApJ, 964, L25 Event Horizon Telescope Collaboration, Akiyama, K., Alberdi, A., et al. 2022, ApJ, 930, L12 Event Ho...
1915
-
[17]
Everitt, C. W. F., Debra, D. B., Parkinson, B. W., et al. 2011, Phys. Rev. Lett., 106, 221101 Fernández Fernández, R., Della Monica, R., & de Martino, I. 2023, J. Cosmology Astropart. Phys., 2023, 039
2011
-
[18]
2010, Reviews of Modern Physics, 82, 3121
Genzel, R., Eisenhauer, F., & Gillessen, S. 2010, Reviews of Modern Physics, 82, 3121
2010
-
[19]
M., Klein, B
Ghez, A. M., Klein, B. L., Morris, M., & Becklin, E. E. 1998, ApJ, 509, 678
1998
-
[20]
M., Eisenhauer, F., et al
Gillessen, S., Plewa, P. M., Eisenhauer, F., et al. 2017, ApJ, 837, 30 Gravity+ Collaboration, Abuter, R., Alarcon, P., et al. 2022, The Messenger, 189, 17 Gravity Collaboration, Abuter, R., Amorim, A., et al. 2018, A&A, 615, L15 Gravity Collaboration, Abuter, R., Amorim, A., ...
2017
-
[21]
M., et al
Hees, A., Do, T., Ghez, A. M., et al. 2017, Physical Review Letters, 118, 211101
2017
-
[22]
D., Akiyama, K., Blackburn, L., et al
Johnson, M. D., Akiyama, K., Blackburn, L., et al. 2023, Galaxies, 11, 61
2023
-
[23]
2015, in Advancing Astro- physics with the Square Kilometre Array (AASKA14), 40
Keane, E., Bhattacharyya, B., Kramer, M., et al. 2015, in Advancing Astro- physics with the Square Kilometre Array (AASKA14), 40
2015
-
[24]
Luminet, J. P. 1979, A&A, 75, 228
1979
-
[25]
P., Paprocki, M., et al
Meurer, A., Smith, C. P., Paprocki, M., et al. 2017, PeerJ Computer Science, 3, e103
2017
-
[26]
2011, International Journal of Modern Physics D, 20, 989
Nan, R., Li, D., Jin, C., et al. 2011, International Journal of Modern Physics D, 20, 989
2011
-
[27]
& Will, C
Poisson, E. & Will, C. M. 2014, Gravity
2014
-
[28]
Pound, R. V . & Rebka, G. A. 1960, Phys. Rev. Lett., 4, 274
1960
-
[29]
H., Teukolsky, S
Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. 1992, Numer- ical recipes in C. The art of scientific computing
1992
-
[30]
2020, Phys
Psaltis, D., Medeiros, L., Christian, P., et al. 2020, Phys. Rev. Lett., 125, 141104
2020
-
[31]
2015, Research in Astronomy and Astrophysics, 15, 1945
Skidmore, W., TMT International Science Development Teams, & Science Ad- visory Committee, T. 2015, Research in Astronomy and Astrophysics, 15, 1945
2015
-
[32]
2013, General Relativity, Graduate Texts in Physics (Dordrecht: Springer)
Straumann, N. 2013, General Relativity, Graduate Texts in Physics (Dordrecht: Springer)
2013
-
[33]
2024, in Ground-based and Airborne In- strumentation for Astronomy X, ed
Sturm, E., Davies, R., Alves, J., et al. 2024, in Ground-based and Airborne In- strumentation for Astronomy X, ed. J. J. Bryant, K. Motohara, & J. R. D
2024
-
[34]
Taff, L. G. 1985, Celestial mechanics : a computational guide for the practitioner
1985
-
[35]
Vessot, R. F. C., Levine, M. W., Mattison, E. M., et al. 1980, Phys. Rev. Lett., 45, 2081
1980
-
[36]
H., Paumard, T., Gourgoulhon, E., & Perrin, G
Vincent, F. H., Paumard, T., Gourgoulhon, E., & Perrin, G. 2011, Classical and Quantum Gravity, 28, 225011
2011
-
[37]
Webster, B. L. & Murdin, P. 1972, Nature, 235, 37
1972
-
[38]
Will, C. M. 2014, Living Reviews in Relativity, 17, 4 Article number, page 15 of 15
2014
Reviewed August 16, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.