Skip to content

[Contribution idea] Algebraic two-body metric notebook — complement to numerical approach #88

Description

@matshaba

Hi,

The NRPy+ tutorial series is excellent for showing the numerical relativity pipeline.
I wanted to propose a complementary notebook: an algebraic two-body metric that can
reproduce key binary merger results without solving PDEs.

What the notebook would show:

import numpy as np
import matplotlib.pyplot as plt

G, c, M_sun = 6.674e-11, 3e8, 1.989e30

def qgd_two_body_metric(M1, M2, r1, r2):
    """Exact algebraic two-body metric (Matshaba 2026)."""
    rs1 = 2*G*M1/c**2
    rs2 = 2*G*M2/c**2
    s1 = np.sqrt(rs1/r1)
    s2 = np.sqrt(rs2/r2)
    Sigma = s1 + s2
    g00 = -(1 - Sigma**2)
    grr = 1/(1 - Sigma**2)
    return g00, grr, Sigma

# GW150914: predict merger separation
M1, M2 = 35.6*M_sun, 30.6*M_sun
rs1 = 2*G*M1/c**2
rs2 = 2*G*M2/c**2
# Merger: Sigma=1 at midpoint
# d_merger = 4*(rs1+rs2)/2 = 2*(rs1+rs2)
d_merger = 2*(rs1 + rs2)
print(f"Predicted merger separation: {d_merger/1e3:.1f} km")  # ~370 km

Side-by-side comparison:

  • QGD algebraic waveform vs NRPy numerical waveform for GW150914
  • Same physical parameters, two approaches

This wouldn't claim to replace NR — it would illuminate why NR is necessary for the
merger/ringdown phase while the algebraic approach works for inspiral.

Preprint (full derivation): https://doi.org/10.5281/zenodo.18605058
Complete notebooks already built: https://github.com/matshaba/Quantum-Gravity-Dynamics

Quick Reference:
https://github.com/matshaba/Quantum-Gravity-Dynamics/blob/main/core/two_and_three_body_solutions.py

Happy to submit a PR with a complete notebook if this seems like a good fit.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions