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 5: Parallel Transport

Parallel transport moves vectors along curves while keeping them "as constant as possible." On curved surfaces, this process is path-dependentβ€”a key signature of curvature.

Parallel Transport Equation

A vector VΞΌ is parallel transported along a curve xΞΌ(Ξ») if:

\( \frac{DV^\mu}{d\lambda} = \frac{dV^\mu}{d\lambda} + \Gamma^\mu_{\nu\rho} V^\nu \frac{dx^\rho}{d\lambda} = 0 \)

Covariant derivative along curve vanishes

This is a set of first-order ODEs. Given initial conditions VΞΌ(Ξ»β‚€), there exists a unique solution along the curve.

Geometric Interpretation

On Flat Space

In flat space with Cartesian coordinates, Ξ“ = 0 and parallel transport reduces to keeping components constant: dVΞΌ/dΞ» = 0. The vector doesn't change.

On Curved Space

Components must change to compensate for the changing basis vectors. The result is path-dependent: transporting around a closed loop generally rotates the vector.

Holonomy

The rotation acquired after parallel transport around a closed loop is called holonomy. For small loops, the rotation angle is proportional to the enclosed area times the Riemann curvature tensor.

Classic Example: The 2-Sphere

On a sphere, parallel transport around a closed loop rotates a vector. Consider transporting a vector from the North Pole:

  1. Start at North Pole with vector pointing along 0Β° longitude
  2. Transport down to equator along 0Β° meridian
  3. Transport along equator to 90Β° longitude
  4. Transport back to North Pole along 90Β° meridian
  5. Vector now points along 90Β° longitudeβ€”rotated 90Β°!

The rotation angle equals the solid angle enclosed (Ο€/2 steradians = 90Β°).

Python: Parallel Transport on a Sphere

Python
script.py187 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

Fortran: Parallel Transport in Schwarzschild

Fortran
program.f90134 lines

Click Run to execute the Fortran code

Code will be compiled with gfortran and executed on the server