Back to Physical Sciences

Part 5: General Relativity

April 30, 2026 Wasil Zafar 24 min read

Einstein's greatest achievement: gravity is not a force pulling objects together — it is the curvature of spacetime itself. Mass tells spacetime how to curve; curved spacetime tells matter how to move.

Table of Contents

  1. From Force to Geometry
  2. The Equivalence Principle
  3. Curved Spacetime
  4. Einstein Field Equations
  5. Gravitational Time Dilation
  6. Black Holes
  7. Gravitational Lensing
  8. Gravitational Waves
  9. Practice Exercises
  10. Conclusion & Next Steps

From Force to Geometry

For over 200 years, Newton's law of gravitation reigned supreme. It described gravity as a force acting instantaneously across space — a mysterious "action at a distance" that Newton himself found philosophically troubling. He famously wrote: "I have not been able to discover the cause of those properties of gravity from phenomena, and I frame no hypotheses."

Newton's Gravity: The Problem

Newton's gravitational force between two masses is:

$$F = \frac{GMm}{r^2}$$

This formula works brilliantly for planetary orbits and falling apples, but it has a fatal flaw in light of special relativity: it implies that if you suddenly moved the Sun, the Earth would instantly feel the change in gravitational pull — faster than light. This violates the central principle of special relativity that no information can travel faster than c.

Einstein needed a theory of gravity compatible with special relativity — one where gravitational effects propagate at the speed of light. The solution he found, after a decade of struggle (1905–1915), was far more radical than simply "fixing" Newton's formula. He realized that gravity is not a force at all.

The Geometric Solution

Einstein's insight: gravity is geometry. Massive objects don't exert forces on other objects — they curve the spacetime around them, and other objects simply follow the straightest possible paths (geodesics) through that curved geometry.

The Bowling Ball Analogy: Imagine placing a heavy bowling ball on a stretched rubber sheet. The ball creates a dip — it curves the sheet. Now roll a marble nearby: it doesn't go in a straight line, it curves toward the bowling ball. Not because of any "force," but because the surface itself is curved. Spacetime works the same way in 4 dimensions — mass curves it, and everything (including light) follows the curves.

This is summarized in John Wheeler's famous aphorism:

"Spacetime tells matter how to move; matter tells spacetime how to curve."

John Archibald Wheeler
Newton vs Einstein: Two Views of Gravity
flowchart TD
    subgraph Newton["Newtonian Gravity"]
        N1["Mass M exists"] --> N2["Creates force field F = GMm/r²"]
        N2 --> N3["Force acts on mass m
instantaneously"] N3 --> N4["Mass m accelerates
a = F/m = GM/r²"] end subgraph Einstein["General Relativity"] E1["Mass-energy T_μν exists"] --> E2["Curves spacetime
G_μν = 8πG/c⁴ T_μν"] E2 --> E3["Objects follow geodesics
(straightest paths in curved space)"] E3 --> E4["Appears as 'gravitational
acceleration' to distant observers"] end Newton -.->|"Einstein's
revolution
(1915)"| Einstein

The Equivalence Principle

The equivalence principle is the foundational insight that led Einstein to general relativity. It connects gravity and acceleration in a way that points directly toward the geometric interpretation.

Einstein's "Happiest Thought"

In 1907, Einstein had what he later called "the happiest thought of my life." He imagined a person falling freely from a roof. During the fall, that person would feel weightless — they would not feel gravity at all. A ball released from their hand would float beside them. Locally, their experience is identical to being in deep space, far from any gravitational source.

Conversely, a person standing in a sealed elevator being accelerated upward at g = 9.8 \text{ m/s}^2 cannot distinguish their situation from standing on Earth's surface. They feel their feet pressed to the floor, dropped objects accelerate downward — everything behaves exactly as if they were in a gravitational field.

Thought Experiment

The Elevator Experiment

Imagine you're in a sealed box with no windows. You feel your feet pressed firmly to the floor. Can you determine whether:

  • Scenario A: The box is sitting on Earth's surface (gravitational field g = 9.8 m/s²)
  • Scenario B: The box is in deep space, being accelerated upward by a rocket at a = 9.8 m/s²

Answer: You cannot! No local experiment — dropping balls, measuring your weight, timing pendulums — can distinguish between the two. This is the equivalence principle: gravity and acceleration are locally indistinguishable.

EquivalenceInertial MassFree Fall

Three Versions of the Equivalence Principle

The equivalence principle comes in increasingly strong forms:

Weak Equivalence Principle (WEP): All objects fall at the same rate in a gravitational field, regardless of their mass or composition. Inertial mass = gravitational mass. This was known since Galileo (and Newton tested it to 1 part in 10³). Modern torsion balance experiments confirm it to 1 part in 10¹⁵.
Einstein Equivalence Principle (EEP): In a sufficiently small freely-falling laboratory, the laws of physics are those of special relativity (no gravity). This means ALL physics — not just mechanics, but electromagnetism, thermodynamics, everything — behaves as if gravity doesn't exist in free fall.
Strong Equivalence Principle (SEP): Even gravitational experiments (measuring G, gravitational binding energy, etc.) cannot detect the gravitational field in free fall. This is the strongest form and is unique to general relativity — other theories of gravity may satisfy WEP and EEP but violate SEP.

The key word is "sufficiently small" — this is crucial. In a large enough laboratory, you CAN detect gravity through tidal forces (the variation of gravity from one point to another). Two balls released side by side will slowly drift together as they fall toward a planet because their paths converge. This tidal effect IS the signature of genuine curvature — it cannot be removed by any choice of reference frame.

Curved Spacetime

The equivalence principle tells us that gravity can be locally "transformed away" by going to a freely falling frame. This sounds exactly like what happens on a curved surface: locally, any curved surface looks flat (your kitchen floor looks flat even though Earth is round). But globally, the curvature has real effects — parallel lines converge, triangles have angle sums different from 180°, and paths that start parallel don't stay parallel.

Einstein's leap: spacetime itself is a curved 4-dimensional manifold. The flat Minkowski metric \eta_{\mu\nu} of special relativity is replaced by a general metric g_{\mu\nu}(x) that varies from point to point.

Geodesics: The Straightest Possible Paths

On a flat surface, the shortest distance between two points is a straight line. On a curved surface (like Earth), the shortest paths are great circles — they appear curved on a flat map but are actually the straightest paths possible on the sphere.

In general relativity, freely falling objects follow geodesics — the straightest possible paths in curved spacetime. The geodesic equation is:

$$\frac{d^2 x^\mu}{d\tau^2} + \Gamma^\mu_{\alpha\beta} \frac{dx^\alpha}{d\tau} \frac{dx^\beta}{d\tau} = 0$$

The symbols \Gamma^\mu_{\alpha\beta} are called Christoffel symbols (or connection coefficients). They encode how the coordinate system itself curves — like how lines of longitude converge toward the poles on Earth. They're computed from the metric:

$$\Gamma^\mu_{\alpha\beta} = \frac{1}{2} g^{\mu\nu} \left( \frac{\partial g_{\nu\alpha}}{\partial x^\beta} + \frac{\partial g_{\nu\beta}}{\partial x^\alpha} - \frac{\partial g_{\alpha\beta}}{\partial x^\nu} \right)$$

When spacetime is flat (g_{\mu\nu} = \eta_{\mu\nu}), all Christoffel symbols vanish and the geodesic equation reduces to d^2x^\mu/d\tau^2 = 0 — straight-line motion at constant velocity. Newton's first law is just the geodesic equation in flat spacetime!

The Metric Tensor gμν

The metric tensor g_{\mu\nu} is a 4×4 symmetric matrix (10 independent components) that varies from point to point in spacetime. It plays three crucial roles:

  1. Measures distances: ds^2 = g_{\mu\nu} dx^\mu dx^\nu — generalizes the Minkowski interval
  2. Determines free-fall paths: via the Christoffel symbols and geodesic equation
  3. Encodes all gravitational physics: time dilation, light bending, orbital precession — everything follows from g_{\mu\nu}

For example, outside a spherical mass M (the Schwarzschild metric):

$$ds^2 = \left(1 - \frac{2GM}{c^2 r}\right) c^2 dt^2 - \left(1 - \frac{2GM}{c^2 r}\right)^{-1} dr^2 - r^2 d\Omega^2$$

where d\Omega^2 = d\theta^2 + \sin^2\theta \, d\phi^2. Notice how the factor (1 - 2GM/c^2r) modifies the flat metric — this is the curvature caused by mass M.

Interactive: Spacetime Curvature & Geodesics
2.0
0.6

The fabric of spacetime curves near massive objects. Test particles follow geodesics — the straightest paths in curved space. Increase mass to see deeper curvature; adjust velocity to see bound orbits vs escape trajectories.

Einstein Field Equations

The Einstein field equations (EFE) are the core of general relativity — they specify exactly how matter and energy curve spacetime. Published in November 1915, they took Einstein nearly a decade to discover:

$$G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}$$

This single tensorial equation (actually 10 coupled, nonlinear partial differential equations) contains all of gravitational physics. Let's understand what each piece means.

What Each Tensor Means

Left side — Geometry (how spacetime curves):

  • G_{\mu\nu} = Einstein tensor — encodes the curvature of spacetime. It's built from the Ricci tensor and Ricci scalar: G_{\mu\nu} = R_{\mu\nu} - \frac{1}{2}Rg_{\mu\nu}. The Ricci tensor R_{\mu\nu} measures how volumes of geodesic balls deviate from flat-space volumes — it tells you how much a ball of freely falling particles gets squeezed or stretched.
  • \Lambda g_{\mu\nu} = Cosmological constant term — represents the energy density of empty space (dark energy). Einstein originally added it to allow a static universe; today we know it represents the accelerating expansion of the universe. \Lambda \approx 1.1 \times 10^{-52} \text{ m}^{-2}.

Right side — Matter/Energy (what creates the curvature):

  • T_{\mu\nu} = Stress-energy tensor — describes the density and flow of energy and momentum. Its components include: energy density (T_{00}), momentum density (T_{0i}), pressure (T_{ii}), and shear stress (T_{ij}, i \neq j). It's the "source" of gravity — but unlike Newtonian gravity where only mass creates gravity, in GR all forms of energy and momentum curve spacetime, including pressure, kinetic energy, and even gravitational energy itself.
  • \frac{8\pi G}{c^4} = Coupling constant — converts between geometric units (curvature) and physical units (energy density). Its value (~2.08 × 10⁻⁴³ N⁻¹) is incredibly tiny, which is why you need enormous masses to produce significant curvature.

Physical Intuition

Think of the Einstein field equations as a conversation between matter and geometry:

  • The right side (T_{\mu\nu}) says: "Here's where the matter and energy are, and how they're moving"
  • The equation translates this into: "Therefore, spacetime must have this specific curvature"
  • The curvature then dictates how matter moves (via geodesics)
  • But as matter moves, T_{\mu\nu} changes, which changes the curvature, which changes the motion...

This feedback loop makes the equations extraordinarily difficult to solve — they are nonlinear (gravity gravitates!) and coupled. Exact solutions exist only for highly symmetric situations.

The Einstein Field Equations — Component Breakdown
flowchart LR
    subgraph LHS["Left Side: GEOMETRY"]
        R["R_μν
Ricci Tensor
(volume distortion)"] RS["R
Ricci Scalar
(total curvature)"] G["G_μν = R_μν - ½Rg_μν
Einstein Tensor"] L["Λg_μν
Cosmological Constant
(dark energy)"] R --> G RS --> G end subgraph RHS["Right Side: MATTER"] T["T_μν
Stress-Energy Tensor"] T00["T₀₀: Energy density"] T0i["T₀ᵢ: Momentum flux"] Tij["Tᵢⱼ: Pressure & stress"] T --> T00 T --> T0i T --> Tij end G ---|"="| K["8πG/c⁴"] L ---|"+"| G K ---|"×"| T
Historical Note

The Race to the Field Equations

In November 1915, Einstein was locked in a frantic race with mathematician David Hilbert to find the correct field equations. Einstein presented his final equations to the Prussian Academy on November 25, 1915. Hilbert independently derived them using a variational principle (the Einstein-Hilbert action) and submitted his paper 5 days earlier — though Hilbert's published version appeared later and clearly credits Einstein with the physical theory.

What makes these equations remarkable: they are essentially the unique second-order equations for the metric that are generally covariant (same form in all coordinate systems) and conserve energy-momentum (\nabla_\mu G^{\mu\nu} = 0 automatically).

1915HilbertVariational Principle

Gravitational Time Dilation

One of the most striking predictions of general relativity: time runs slower in stronger gravitational fields. A clock at sea level ticks slightly slower than a clock on a mountaintop. This is not an illusion or a mechanical effect on the clock — time itself passes at different rates at different gravitational potentials.

Clocks in a Gravitational Field

From the Schwarzschild metric, the ratio of proper time \tau (experienced time) to coordinate time t (time measured far from the mass) is:

$$\frac{d\tau}{dt} = \sqrt{1 - \frac{2GM}{c^2 r}} = \sqrt{1 - \frac{r_s}{r}}$$

where r_s = 2GM/c^2 is the Schwarzschild radius. For weak gravitational fields (like on Earth), this simplifies to:

$$\frac{d\tau}{dt} \approx 1 - \frac{GM}{c^2 r} = 1 + \frac{\Phi}{c^2}$$

where \Phi = -GM/r is the Newtonian gravitational potential (negative, larger in magnitude closer to the mass).

The time dilation between two heights r_1 (lower) and r_2 (higher) is:

$$\frac{\Delta\tau_1}{\Delta\tau_2} = \frac{\sqrt{1 - r_s/r_1}}{\sqrt{1 - r_s/r_2}} \approx 1 - \frac{GM}{c^2}\left(\frac{1}{r_1} - \frac{1}{r_2}\right)$$

The lower clock (closer to the mass) always runs slower. This has been confirmed to extraordinary precision.

import numpy as np

# Gravitational Time Dilation Calculator
# Compare clock rates at different positions in a gravitational field

G = 6.674e-11       # gravitational constant (m³ kg⁻¹ s⁻²)
c = 3.0e8           # speed of light (m/s)

print("=" * 65)
print("GRAVITATIONAL TIME DILATION")
print("=" * 65)

# --- Earth's gravitational field ---
M_earth = 5.972e24  # kg
R_earth = 6.371e6   # meters

print("\n--- Earth ---")
print(f"Mass: {M_earth:.3e} kg")
print(f"Radius: {R_earth:.3e} m")
print(f"Schwarzschild radius: {2*G*M_earth/c**2:.4e} m")

# Time dilation at Earth's surface vs infinity
factor_surface = np.sqrt(1 - 2*G*M_earth / (c**2 * R_earth))
print(f"\nTime dilation at surface: τ/t = {factor_surface:.15f}")
print(f"Fractional slowdown: {1 - factor_surface:.6e}")
print(f"Surface clocks lose {(1-factor_surface)*86400*1e9:.2f} ns per day vs infinity")

# Compare sea level vs GPS satellite altitude (20,200 km)
r_gps = R_earth + 20200e3  # GPS orbit radius
factor_gps = np.sqrt(1 - 2*G*M_earth / (c**2 * r_gps))
factor_sea = np.sqrt(1 - 2*G*M_earth / (c**2 * R_earth))

# Gravitational effect: GPS clocks run FASTER (higher up)
grav_diff = factor_gps - factor_sea
grav_ns_per_day = grav_diff * 86400 * 1e9
print(f"\n--- GPS Satellite vs Sea Level ---")
print(f"GPS orbit radius: {r_gps/1e6:.1f} km from Earth center")
print(f"Gravitational time difference: {grav_ns_per_day:.1f} ns/day")
print(f"GPS clocks run FASTER by {grav_ns_per_day:.1f} ns/day (gravity weaker up there)")

# Compare mountaintop vs sea level
h_mountain = 4000  # 4 km mountain
r_mountain = R_earth + h_mountain
factor_mountain = np.sqrt(1 - 2*G*M_earth / (c**2 * r_mountain))
mountain_diff = (factor_mountain - factor_sea) * 86400 * 1e9
print(f"\n--- 4 km Mountain vs Sea Level ---")
print(f"Mountain clock gains: {mountain_diff:.2f} ns/day")
print(f"Over 1 year: {mountain_diff * 365:.1f} ns = {mountain_diff*365/1e3:.3f} μs")

# --- Near a neutron star ---
print("\n\n--- Neutron Star (extreme gravity) ---")
M_ns = 1.4 * 1.989e30   # 1.4 solar masses
R_ns = 10e3              # 10 km radius
rs_ns = 2 * G * M_ns / c**2
print(f"Mass: 1.4 solar masses = {M_ns:.3e} kg")
print(f"Radius: {R_ns/1e3:.0f} km")
print(f"Schwarzschild radius: {rs_ns/1e3:.2f} km")
print(f"r/r_s = {R_ns/rs_ns:.3f} (very close to event horizon!)")
factor_ns = np.sqrt(1 - rs_ns / R_ns)
print(f"Time dilation at surface: τ/t = {factor_ns:.4f}")
print(f"Surface clocks run at {factor_ns*100:.1f}% the rate of distant clocks")
print(f"1 hour on surface = {1/factor_ns:.3f} hours for distant observer")

GPS: General Relativity in Your Pocket

The Global Positioning System (GPS) is the most famous everyday application of relativity. GPS satellites orbit at ~20,200 km altitude and carry atomic clocks precise to nanoseconds. Two relativistic effects compete:

  • Special relativity (time dilation from velocity): Satellites move at ~3.9 km/s, so their clocks run SLOWER by ~7,200 ns/day
  • General relativity (gravitational time dilation): Satellites are higher in Earth's gravitational potential, so their clocks run FASTER by ~45,900 ns/day

Net effect: GPS clocks run ~38,700 ns/day faster than ground clocks. Without relativistic corrections, GPS positions would drift by ~11 km per day! The GPS system applies both corrections continuously — it's a daily confirmation of both special and general relativity.

Black Holes

What happens when spacetime curvature becomes extreme? When matter is compressed within its Schwarzschild radius, something extraordinary occurs — a black hole forms: a region of spacetime from which nothing, not even light, can escape.

The Schwarzschild Solution

Karl Schwarzschild found the first exact solution to Einstein's field equations in 1916 — remarkably, just weeks after Einstein published them, and while Schwarzschild was serving on the Russian front in World War I. For a spherical, non-rotating mass M:

$$ds^2 = \left(1 - \frac{r_s}{r}\right)c^2 dt^2 - \frac{dr^2}{1 - r_s/r} - r^2(d\theta^2 + \sin^2\theta \, d\phi^2)$$

The Schwarzschild radius is:

$$r_s = \frac{2GM}{c^2}$$

This is the critical radius. If a mass M is compressed entirely within radius r_s, an event horizon forms and a black hole is born.

import numpy as np

# Schwarzschild Radius Calculator
# Calculate the event horizon radius for various objects

G = 6.674e-11       # gravitational constant (m³ kg⁻¹ s⁻²)
c = 3.0e8           # speed of light (m/s)
M_sun = 1.989e30    # solar mass (kg)

def schwarzschild_radius(mass_kg):
    """Calculate Schwarzschild radius in meters."""
    return 2 * G * mass_kg / c**2

def density_at_schwarzschild(mass_kg):
    """Average density if object fills its Schwarzschild radius."""
    rs = schwarzschild_radius(mass_kg)
    volume = (4/3) * np.pi * rs**3
    return mass_kg / volume

print("=" * 70)
print("SCHWARZSCHILD RADIUS CALCULATOR")
print("=" * 70)
print(f"{'Object':<25} {'Mass (kg)':<14} {'r_s':<18} {'Actual radius':<16} {'Ratio r/r_s'}")
print("-" * 70)

objects = [
    ("Earth", 5.972e24, 6.371e6, "m"),
    ("Sun", M_sun, 6.96e8, "m"),
    ("Sagittarius A*", 4e6 * M_sun, None, "m"),
    ("M87* (Virgo A)", 6.5e9 * M_sun, None, "m"),
    ("Human (70 kg)", 70, 1.75, "m"),
    ("TON 618 (ultramassive)", 66e9 * M_sun, None, "m"),
]

for name, mass, actual_r, unit in objects:
    rs = schwarzschild_radius(mass)
    if rs < 1e-3:
        rs_str = f"{rs*1e3:.4e} mm"
    elif rs < 1:
        rs_str = f"{rs*100:.4f} cm"
    elif rs < 1000:
        rs_str = f"{rs:.4f} m"
    elif rs < 1e6:
        rs_str = f"{rs/1e3:.2f} km"
    elif rs < 1e9:
        rs_str = f"{rs/1e6:.2f} Mm"
    else:
        rs_str = f"{rs/1.496e11:.2f} AU"
    
    if actual_r:
        ratio = actual_r / rs
        actual_str = f"{actual_r/1e3:.1f} km" if actual_r > 1000 else f"{actual_r:.2f} m"
        ratio_str = f"{ratio:.2e}"
    else:
        actual_str = f"< r_s (BH)"
        ratio_str = "< 1 (BH!)"
    
    print(f"{name:<25} {mass:<14.3e} {rs_str:<18} {actual_str:<16} {ratio_str}")

print("\n--- What would it take to make everyday objects into black holes? ---")
print(f"\nEarth as black hole: compress to r_s = {schwarzschild_radius(5.972e24)*1000:.2f} mm (a marble!)")
print(f"Sun as black hole: compress to r_s = {schwarzschild_radius(M_sun)/1000:.2f} km")
print(f"You (70 kg) as black hole: compress to r_s = {schwarzschild_radius(70):.4e} m")
print(f"  (That's {schwarzschild_radius(70)/1e-15:.0e} times smaller than a proton!)")

# Supermassive black hole densities are surprisingly LOW
print("\n\n--- Surprising fact: Supermassive BH density ---")
for name, mass_solar in [("10 M☉ stellar BH", 10), ("Sgr A* (4M M☉)", 4e6), ("TON 618 (66B M☉)", 66e9)]:
    mass = mass_solar * M_sun
    rho = density_at_schwarzschild(mass)
    water_rho = 1000  # kg/m³
    print(f"{name}: avg density = {rho:.2e} kg/m³ = {rho/water_rho:.2e} × water")

print("\nTON 618 is LESS dense than air (1.2 kg/m³) at its Schwarzschild radius!")
print("Supermassive black holes are 'gentle' at the horizon — you'd cross without noticing.")

Event Horizon & Singularity

A black hole has two remarkable features:

The Event Horizon (at r = r_s): This is not a physical surface — it's a boundary in spacetime beyond which escape is impossible. At r = r_s, the metric component g_{tt} = (1 - r_s/r) \to 0, meaning time dilation becomes infinite. A distant observer sees an infalling object slow down asymptotically, redshift, and fade away — never quite crossing the horizon. But the infalling observer crosses smoothly in finite proper time (for a large enough black hole, they wouldn't even notice the crossing).

The Singularity (at r = 0): Once inside the horizon, all paths lead to r = 0, where the curvature becomes infinite and general relativity itself breaks down. The singularity is not a point in space — it's a moment in the future (since inside the horizon, r is timelike). You cannot avoid it any more than you can avoid tomorrow.

Inside a Black Hole: Once you cross the event horizon, the r-coordinate becomes timelike and t becomes spacelike. This means moving toward r = 0 is no longer a direction in space — it's the future. The singularity isn't "below you" — it's "ahead of you in time." All future light cones point toward r = 0. Escape is not merely difficult — it would require traveling backward in time.

Gravitational Lensing

Light follows geodesics in curved spacetime, just like matter does. When light passes near a massive object, its path bends — an effect called gravitational lensing. This was the first observational confirmation of general relativity.

The deflection angle for light passing a mass M at closest approach distance b (impact parameter) is:

$$\alpha = \frac{4GM}{c^2 b} = \frac{2r_s}{b}$$

This is exactly twice what Newtonian gravity predicts (which gives \alpha_{Newton} = 2GM/c^2b). The extra factor of 2 comes from the spatial curvature component — in Newtonian theory, only the time part of the metric is modified. This factor-of-2 difference was the key prediction that Eddington tested during the 1919 solar eclipse.

For the Sun, the maximum deflection (light grazing the solar limb) is:

$$\alpha_{Sun} = \frac{4GM_{Sun}}{c^2 R_{Sun}} = 1.75 \text{ arcseconds}$$

Gravitational lensing produces several observable phenomena:

  • Einstein rings: When source, lens, and observer are perfectly aligned, the source image is stretched into a complete ring
  • Multiple images: A slightly off-axis source produces 2 or more images of the same object
  • Magnification: Lensing can amplify distant sources, acting as a natural telescope
  • Weak lensing: Statistical distortion of background galaxy shapes, used to map dark matter
Historical Milestone

The 1919 Eclipse Expedition

On May 29, 1919, Sir Arthur Eddington led expeditions to Sobral (Brazil) and Príncipe (West Africa) to photograph stars near the Sun during a total solar eclipse. By comparing star positions with and without the Sun nearby, they measured the light deflection.

Results: Sobral measured 1.98 ± 0.16 arcseconds; Príncipe measured 1.61 ± 0.40 arcseconds. Both were consistent with Einstein's prediction of 1.75" and inconsistent with Newton's prediction of 0.87". The announcement made Einstein an overnight worldwide celebrity.

Modern measurements using radio telescopes and VLBI achieve precision of 0.01% — GR's prediction is confirmed to extraordinary accuracy.

1919 EclipseEddingtonLight Deflection1.75 arcsec

Gravitational Waves

Just as accelerating charges produce electromagnetic waves, accelerating masses produce gravitational waves — ripples in the fabric of spacetime itself that propagate outward at the speed of light. Einstein predicted them in 1916, but they were so weak that he doubted they'd ever be detected. A century later, LIGO proved him wrong.

Gravitational waves are described as small perturbations h_{\mu\nu} on the flat Minkowski background:

$$g_{\mu\nu} = \eta_{\mu\nu} + h_{\mu\nu}, \quad |h_{\mu\nu}| \ll 1$$

In the linearized approximation, the Einstein equations reduce to a wave equation:

$$\Box \bar{h}_{\mu\nu} = -\frac{16\pi G}{c^4} T_{\mu\nu}$$

where \Box = \nabla^2 - (1/c^2)\partial^2/\partial t^2 is the d'Alembertian wave operator. Gravitational waves are transverse (oscillate perpendicular to propagation direction) and have two polarizations called "+" and "×".

The power radiated by a gravitational wave source is given by the quadrupole formula:

$$P = \frac{G}{5c^5} \left\langle \overset{...}{I}_{ij} \overset{...}{I}^{ij} \right\rangle$$

where I_{ij} is the mass quadrupole moment (with dots denoting third time derivatives). Notice the c^5 in the denominator — this makes gravitational radiation incredibly weak. The entire Earth orbiting the Sun radiates only ~200 watts in gravitational waves!

LIGO: The Detection

On September 14, 2015, the Laser Interferometer Gravitational-Wave Observatory (LIGO) detected gravitational waves for the first time — signal GW150914, produced by two merging black holes (36 and 29 solar masses) 1.3 billion light-years away. The signal lasted ~0.2 seconds and the peak strain was h \sim 10^{-21}.

That strain of 10^{-21} means the 4 km LIGO arms changed length by:

$$\Delta L = h \times L = 10^{-21} \times 4000 \text{ m} \approx 4 \times 10^{-18} \text{ m}$$

That's smaller than the diameter of a proton (~10⁻¹⁵ m)! LIGO measures distances 1000 times smaller than an atomic nucleus — it's arguably the most sensitive measurement device ever built by humanity.

What GW150914 told us: In the final 0.2 seconds before merger, those two black holes were orbiting each other 250 times per second (half the speed of light!), radiating 3.6 solar masses worth of energy as gravitational waves — briefly outshining the entire observable universe in gravitational wave luminosity. The merger produced a 62-solar-mass black hole: 36 + 29 − 3 = 62, with 3 solar masses of energy (5.4 × 10⁴⁶ joules) carried away as spacetime ripples.
import numpy as np

# Orbital Precession of Mercury
# GR predicts extra precession beyond Newtonian gravity

G = 6.674e-11       # gravitational constant (m³ kg⁻¹ s⁻²)
c = 3.0e8           # speed of light (m/s)
M_sun = 1.989e30    # solar mass (kg)

print("=" * 65)
print("MERCURY'S PERIHELION PRECESSION (General Relativity)")
print("=" * 65)

# Mercury orbital parameters
a_mercury = 57.91e9       # semi-major axis (m)
e_mercury = 0.2056        # eccentricity
T_mercury = 87.969 * 86400  # orbital period (seconds)

# GR precession formula per orbit (radians):
# Δφ = 6πGM / (c² a (1 - e²))
delta_phi_per_orbit = 6 * np.pi * G * M_sun / (c**2 * a_mercury * (1 - e_mercury**2))
print(f"\nMercury orbital parameters:")
print(f"  Semi-major axis: {a_mercury/1e9:.2f} × 10⁹ m ({a_mercury/1.496e11:.3f} AU)")
print(f"  Eccentricity: {e_mercury}")
print(f"  Period: {T_mercury/86400:.3f} days")

# Convert to arcseconds per orbit
delta_phi_arcsec = delta_phi_per_orbit * (180/np.pi) * 3600
print(f"\nGR precession per orbit: {delta_phi_per_orbit:.6e} rad = {delta_phi_arcsec:.4f} arcsec")

# Per century (Mercury completes ~415 orbits per century)
orbits_per_century = 100 * 365.25 * 86400 / T_mercury
precession_per_century = delta_phi_arcsec * orbits_per_century
print(f"Orbits per century: {orbits_per_century:.1f}")
print(f"GR precession per century: {precession_per_century:.2f} arcseconds")
print(f"Observed anomalous precession: 43.11 ± 0.45 arcseconds/century")
print(f"Match: {'YES ✓' if abs(precession_per_century - 43.11) < 1 else 'NO'}")

# Compare with other planets
print("\n\n--- GR Precession for All Inner Planets ---")
print(f"{'Planet':<10} {'a (AU)':<10} {'e':<8} {'T (days)':<12} {'Precession (\"/century)':<20}")
print("-" * 60)

planets = [
    ("Mercury", 0.387, 0.2056, 87.97),
    ("Venus", 0.723, 0.0068, 224.70),
    ("Earth", 1.000, 0.0167, 365.25),
    ("Mars", 1.524, 0.0934, 686.97),
]

for name, a_au, e, T_days in planets:
    a = a_au * 1.496e11  # convert to meters
    T = T_days * 86400    # convert to seconds
    delta = 6 * np.pi * G * M_sun / (c**2 * a * (1 - e**2))
    delta_arcsec = delta * (180/np.pi) * 3600
    n_orbits = 100 * 365.25 / T_days
    per_century = delta_arcsec * n_orbits
    print(f"{name:<10} {a_au:<10.3f} {e:<8.4f} {T_days:<12.2f} {per_century:<20.4f}")

print("\nMercury's precession is largest because it's closest to the Sun")
print("(strongest curvature) and has the highest eccentricity.")

# Gravitational wave strain estimate
print("\n\n--- Gravitational Wave Estimates ---")
# For a binary system: h ~ (4G²M₁M₂) / (c⁴ r d)
# where r is distance and d is orbital separation

# GW150914 parameters
M1 = 36 * M_sun
M2 = 29 * M_sun
d_source = 1.3e9 * 3.086e16  # 1.3 billion light-years in meters
f_gw = 250  # Hz at merger

# Characteristic strain at merger (simplified)
M_chirp = (M1 * M2)**(3/5) / (M1 + M2)**(1/5)
h_char = (4 * G * M_chirp / c**2) * (np.pi * f_gw * G * M_chirp / c**3)**(2/3) / d_source
print(f"GW150914 estimated strain: h ~ {h_char:.2e}")
print(f"LIGO arm length: 4 km")
print(f"Displacement: ΔL = h × L = {h_char * 4000:.2e} m")
print(f"Proton diameter: ~1e-15 m")
print(f"LIGO measures {1e-15 / (h_char*4000):.0f}× smaller than a proton!")

Practice Exercises

Exercises

Test Your Understanding

1. Calculate the Schwarzschild radius for Jupiter (M_J = 1.898 \times 10^{27} kg). Compare with Jupiter's actual radius (69,911 km). By what factor would Jupiter need to be compressed?

2. A clock is placed at the top of the Burj Khalifa (height 828 m). How many nanoseconds per year does it gain relative to a clock at ground level? Use the weak-field approximation: \Delta\tau/\tau \approx gh/c^2.

3. A star passes behind the Sun as seen from Earth. The closest approach of the light ray to the Sun's center is 2 solar radii. Calculate the deflection angle in arcseconds. How does this compare with the maximum deflection (light grazing the limb)?

4. Using the quadrupole formula, explain qualitatively why a perfectly spherical mass (even if pulsating radially) does NOT emit gravitational waves. What symmetry must be broken?

5. The Hulse-Taylor binary pulsar loses orbital energy at a rate consistent with gravitational wave emission. If the orbital period is decreasing by 76.5 μs/year, and the current period is 7.75 hours, estimate how many years until merger (assuming constant rate of energy loss — this is a rough estimate).

6. Explain physically why the Einstein field equations predict that pressure contributes to gravity (in addition to energy density). Hint: think about what happens when you compress a gas — where does the energy go?

SchwarzschildTime DilationLensingWavesEFE

Conclusion & Next Steps

General relativity is Einstein's crowning achievement — a theory of breathtaking elegance that replaces Newton's mysterious "action at a distance" with pure geometry:

  • The Equivalence Principle established that gravity and acceleration are locally indistinguishable, pointing to a geometric interpretation
  • Curved spacetime replaces gravitational force — objects follow geodesics in a geometry shaped by mass-energy
  • The Einstein Field Equations G_{\mu\nu} = 8\pi G T_{\mu\nu}/c^4 specify exactly how matter curves spacetime
  • Gravitational time dilation means clocks tick at different rates depending on gravitational potential — confirmed by GPS daily
  • Black holes represent extreme curvature where event horizons form and spacetime structure fundamentally changes
  • Gravitational lensing bends light paths around massive objects, confirmed since 1919
  • Gravitational waves are ripples in spacetime detected by LIGO in 2015, opening a new window on the universe

General relativity has passed every experimental test for over a century. Yet we know it cannot be the final word — at the singularity inside black holes and at the Big Bang, quantum effects must dominate, and we don't yet have a complete theory of quantum gravity.

Next in the Series

In Part 6: Cosmology, we'll apply general relativity to the universe as a whole — discovering the Friedmann equations, the expanding universe, the Big Bang, dark energy, and how Einstein's equations predict the entire history and fate of the cosmos.