General Relativity

Einstein's Masterpiece: Gravity is the curvature of spacetime. Mass-energy tells spacetime how to curve, and spacetime tells mass-energy how to move.

Chapter 7: Riemann Curvature Tensor

The Riemann tensor is the mathematical object that fully characterizes spacetime curvature. It measures how vectors rotate when parallel transported around infinitesimal loops, encoding all gravitational effects in general relativity.

Definition

The Riemann tensor arises from the non-commutativity of covariant derivatives:

\( [\nabla_\mu, \nabla_\nu] V^\rho = R^\rho_{\;\sigma\mu\nu} V^\sigma \)

Curvature = failure of covariant derivatives to commute

In terms of Christoffel symbols:

\( R^\rho_{\;\sigma\mu\nu} = \partial_\mu \Gamma^\rho_{\nu\sigma} - \partial_\nu \Gamma^\rho_{\mu\sigma} + \Gamma^\rho_{\mu\lambda}\Gamma^\lambda_{\nu\sigma} - \Gamma^\rho_{\nu\lambda}\Gamma^\lambda_{\mu\sigma} \)

Symmetry Properties

Antisymmetry in Last Two Indices

\( R^\rho_{\;\sigma\mu\nu} = -R^\rho_{\;\sigma\nu\mu} \)

Antisymmetry in First Two Indices (lowered)

\( R_{\rho\sigma\mu\nu} = -R_{\sigma\rho\mu\nu} \)

Pair Exchange Symmetry

\( R_{\rho\sigma\mu\nu} = R_{\mu\nu\rho\sigma} \)

First Bianchi Identity

\( R^\rho_{\;\sigma\mu\nu} + R^\rho_{\;\mu\nu\sigma} + R^\rho_{\;\nu\sigma\mu} = 0 \)

These symmetries reduce the 4⁴ = 256 components to just 20 independent components in 4D.

Physical Interpretation

Geodesic Deviation

\( \frac{D^2 \xi^\mu}{d\tau^2} = R^\mu_{\;\nu\rho\sigma} u^\nu u^\sigma \xi^\rho \)

Tidal forces between nearby geodesics

Holonomy

Rotation of vector around small loop ∝ R × (area enclosed)

Tidal Forces

Stretching and squeezing of extended bodies near massive objects

Spacetime Flatness

\( R^\rho_{\;\sigma\mu\nu} = 0 \) everywhere ⟺ spacetime is flat

Python: Symbolic Riemann Tensor

Compute the Riemann tensor symbolically for the Schwarzschild metric using SymPy. Click Run to execute the code on the server.

Riemann Tensor Calculation

Python

Symbolic computation using SymPy

riemann_tensor.py98 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

Fortran: Numerical Riemann Tensor

Compute the Riemann tensor numerically at a specific point using Fortran. The code is compiled with gfortran and executed on the server.

Numerical Riemann Tensor

Fortran

High-precision numerical computation

riemann_numerical.f90144 lines

Click Run to execute the Fortran code

Code will be compiled with gfortran and executed on the server

Kretschmann Scalar

The Kretschmann scalar is a curvature invariant formed by contracting the Riemann tensor with itself:

\( K = R_{\alpha\beta\gamma\delta} R^{\alpha\beta\gamma\delta} \)

For the Schwarzschild metric:

\( K = \frac{48M^2}{r^6} \)

Diverges at r = 0 (true singularity), finite at r = 2M (coordinate singularity)

3D Spacetime Curvature Visualization

This interactive visualization shows Flamm's paraboloid - an embedding diagram that represents how the Schwarzschild spacetime curves in the vicinity of a black hole. The funnel shape illustrates how space becomes increasingly curved as you approach the event horizon.

Schwarzschild Spacetime Embedding

Flamm's paraboloid visualization of curved spacetime

Flamm's Paraboloid: This is the embedding diagram of the equatorial plane (θ = π/2) of Schwarzschild spacetime into 3D Euclidean space.

The surface is defined by: z = 2√(2M(r - 2M)) for r > 2M

The "funnel" shape shows how space curves near a black hole. The red circle marks the event horizon at r = 2M, beyond which nothing can escape.