Lesson 14 of 15

Riemann Curvature Tensor

Riemann Curvature Tensor

The Riemann curvature tensor RR measures how much parallel transport around a small loop rotates vectors. This is the quantitative measure of the curvature of a manifold.

The Riemann tensor is defined in terms of the Lie bracket and covariant derivative:

R(u,v)w=uvwvuw[u,v]wR(u, v)w = \nabla_u \nabla_v w - \nabla_v \nabla_u w - \nabla_{[u,v]} w

In components, using the Christoffel symbols:

Rklij=iΓjlkjΓilk+m(ΓimkΓjlmΓjmkΓilm)R^k{}_{l ij} = \partial_i \Gamma^k_{jl} - \partial_j \Gamma^k_{il} + \sum_m\left(\Gamma^k_{im}\Gamma^m_{jl} - \Gamma^k_{jm}\Gamma^m_{il}\right)

Sphere Example

For the unit sphere with g=diag(1,sin2θ)g = \text{diag}(1, \sin^2\theta):

Rθϕθϕ=sin2θR^\theta{}_{\phi\theta\phi} = \sin^2\theta

At θ=π/2\theta = \pi/2: Rθϕθϕ=1R^\theta{}_{\phi\theta\phi} = 1.

At θ=π/4\theta = \pi/4: Rθϕθϕ=sin2(π/4)=0.5R^\theta{}_{\phi\theta\phi} = \sin^2(\pi/4) = 0.5.

Gaussian Curvature

For a 2D surface, the Riemann tensor has one independent component. The Gaussian curvature is:

K=Rθϕθϕgϕϕ=sin2θsin2θ=1K = \frac{R^\theta{}_{\phi\theta\phi}}{g_{\phi\phi}} = \frac{\sin^2\theta}{\sin^2\theta} = 1

For the unit sphere, K=1K = 1 everywhere — it is a surface of constant positive curvature.

Flat space has K=0K = 0: all Γ=0\Gamma = 0, so all R=0R = 0.

Your Task

Implement riemann(g_fn) that returns a function at(point) computing R[k][l][i][j]=RklijR[k][l][i][j] = R^k{}_{lij}.

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