Theory of Relativity
Prerequisites & Foundations
Math, classical mechanics & electromagnetism basicsCrisis of Classical Physics
Why relativity was neededSpecial Relativity
Physics at high speedsSpacetime & Geometry
Minkowski spacetime and diagramsGeneral Relativity
Gravity as curved spacetimeCosmology
Relativity at universe scaleExperimental Verification
Evidence and real-world testsMathematical Relativity
Tensors and differential geometryAdvanced Topics & Frontiers
Quantum gravity, wormholes & beyondApplications of Relativity
GPS, astrophysics & technologyFrom 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:
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.
This is summarized in John Wheeler's famous aphorism:
"Spacetime tells matter how to move; matter tells spacetime how to curve."
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.
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.
Three Versions of the Equivalence Principle
The equivalence principle comes in increasingly strong forms:
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:
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:
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:
- Measures distances: ds^2 = g_{\mu\nu} dx^\mu dx^\nu — generalizes the Minkowski interval
- Determines free-fall paths: via the Christoffel symbols and geodesic equation
- 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):
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.
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:
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.
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
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).
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:
where r_s = 2GM/c^2 is the Schwarzschild radius. For weak gravitational fields (like on Earth), this simplifies to:
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:
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:
The Schwarzschild radius is:
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.
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:
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:
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
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.
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:
In the linearized approximation, the Einstein equations reduce to a wave equation:
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:
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:
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.
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
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?
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.