Lesson 13 of 15

Parallel Transport

Parallel Transport

When you move a vector along a curve on a manifold while keeping it "as parallel as possible", you perform parallel transport. This is the covariant version of "keeping a vector constant".

Given a curve γ(t)\gamma(t) with velocity γ˙i\dot{\gamma}^i, the parallel transport equation for a vector VkV^k is:

dVkdt+Γijkγ˙iVj=0\frac{dV^k}{dt} + \Gamma^k_{ij}\, \dot{\gamma}^i\, V^j = 0

Flat space: all Γ=0\Gamma = 0, so dV/dt=0dV/dt = 0 — vectors don't change.

Sphere Example: Transport Along a Meridian

Consider the unit sphere with θ\theta as colatitude and ϕ\phi as longitude. Transport the vector V=[0,1]V = [0, 1] (pointing east) along the meridian ϕ=0\phi = 0, decreasing θ\theta from π/2\pi/2 toward 00.

The curve: γ(t)=(π/2t,  0)\gamma(t) = (\pi/2 - t,\; 0), so θ˙=1\dot{\theta} = -1, ϕ˙=0\dot{\phi} = 0.

The equations become: dVθdt=0\frac{dV^\theta}{dt} = 0 dVϕdt=ΓθϕϕVϕ=cot(θ)Vϕ\frac{dV^\phi}{dt} = \Gamma^\phi_{\theta\phi}\, V^\phi = \cot(\theta)\, V^\phi

Starting from V=[0,1]V = [0, 1] at θ=π/2\theta = \pi/2, after time tt:

Vϕ(t)=1costV^\phi(t) = \frac{1}{\cos t}

At t=π/3t = \pi/3: Vϕ=1/cos(π/3)=2.0V^\phi = 1/\cos(\pi/3) = 2.0. The coordinate component grows, but the physical length stays 1: V2=sin2(π/6)4=1|V|^2 = \sin^2(\pi/6) \cdot 4 = 1.

Your Task

Implement parallel_transport(gamma_dot, V0, christoffel_fn, t_end, steps) using RK4 integration. It should return the final transported vector.

Python runtime loading...
Loading...
Click "Run" to execute your code.