Riemann Geometry is foundation of general relativity. When I was studying general relativity, I don’t know how Riemann use his method to measure the curvature of a manifold and the exact process of his idea. In this passage, I use some simple examples to visualize the Riemann Curvature and discuss the idea of it. We will find Riemann’s idea is useful to describe the curvature of a manifold, but it fails in some situations.
Start with Euclidean Geometry
Start with Euclidean Geometry
The geometry we learned in primary school and high school is called Euclidean Geometry, or Plane Geometry. But many years later, Lobachevsky replaced one of the axioms and created Hyperbolic Geometry. Then, Riemann created a new kind of geometry which has been a important part of Differential Geometry. In Riemann Geometry, the background can not be plane but also other shape.
Let’s start with the most beautiful situation - sphere, which is highly symmetric.
On the plane, no matter where the vector start, the most important thing is their starting and ending points. Because in Euclidean Geometry, we discuss problem on a plane and we can translate a vector to wherever we want.
On the plane, no matter where the vector start, the most important thing is their starting and ending points. Because in Euclidean Geometry, we discuss problem on a plane and we can translate a vector to wherever we want.
In[]:=
Show[Graphics3D[{InfinitePlane[{{-2,0,0},{0,0,0},{0,1,0}}],Arrow[{{0,0,0},{1,1,1}}],Arrow[{{2,1,0},{3,2,1}}]},Boxed->False],ParametricPlot3D[{t,t/2,0},{t,0,2},PlotStyle->{Red,Dashed}]]
Out[]=
From the figure above, we can see that the two vectors are same because we can translate one from its starting point to the other vector’s starting point along a line.
This inspire us how to compare two vectors with different starting points - we can translate one of them to the other’s starting point. Then, we get two vectors with same starting point. We can compare them directly.
This inspire us how to compare two vectors with different starting points - we can translate one of them to the other’s starting point. Then, we get two vectors with same starting point. We can compare them directly.
In[]:=
Show[Graphics3D[{InfinitePlane[{{-2,0,0},{0,0,0},{0,1,0}}],Arrow[{{0,0,0},{1,1,1}}],Arrow[{{2,1,0},{3,2,1}}],Arrow[{{2,1,0},{1,2,1}}]},Boxed->False],ParametricPlot3D[{t,t/2,0},{t,0,2},PlotStyle->{Red,Dashed}]]
Out[]=
We can translate the vector along any curve on a plane - but how to compare two vectors on a curved background, for example, a sphere. This is what we will discuss.
When we translate a vector along a curve on the plane, we don’t change the norm of the vector and the its direction. That’s the key point. If we want to compare two vectors on a sphere, we need to translate one along a curve to meet the other. In this translation process, we shouldn’t change the norm and direction of the vector, which can be described by its “direction derivative”.
Every curve is one dimensional and can be determined by one parameter. Besides, we can describe the changing rate and direction locally with its tangent vector. So, we can describe the changing rate of a vector at a certain point with tangent vector when it’s moving along a curve. In differential geometry, we use the following expression to describe the “direction derivative”:
Every curve is one dimensional and can be determined by one parameter. Besides, we can describe the changing rate and direction locally with its tangent vector. So, we can describe the changing rate of a vector at a certain point with tangent vector when it’s moving along a curve. In differential geometry, we use the following expression to describe the “direction derivative”:
a
T
∇
a
b
v
where T is the tangent vector of the curve and v is the vector we want to translate. The translate of a vector can be used to describe the curvature of the background manifold.
Discussion on the Sphere
Discussion on the Sphere
Next, we will use some knowledge of differential geometry and do some calculations to visualize the curvature of a sphere.
Given the background manifold as a unit sphere, we choose an initial vector (the tangent vector of θ curves) at point {1, , 0} to discuss our problem.We can use CoordinateTransform to calculate the Cartesian coordinates, which can be used in plot directly.
∂
∂θ
π
2
In[]:=
{p1,pos}=CoordinateTransform["Spherical"->"Cartesian",#]&/@{{1,Pi/2,0},{r,θ,ϕ}}
Out[]=
{{1,0,0},{rCos[ϕ]Sin[θ],rSin[θ]Sin[ϕ],rCos[θ]}}
In[]:=
vec=D[pos,{{r,θ,ϕ}}].{0,1,0}
Out[]=
{rCos[θ]Cos[ϕ],rCos[θ]Sin[ϕ],-rSin[θ]}
We can plot the our vector on a unit sphere now.
∂
∂θ
In[]:=
fig1=Show[Graphics3D[{Arrow[{p1,p1+vec/.{r->1,θ->Pi/2,θ->0}}]}],ContourPlot3D[x^2+y^2+z^2==1,{x,-1,1},{y,-1,1},{z,-1,1},PlotTheme->"Classic",Mesh->3],ViewPoint->{1,1,.8},Boxed->False]
Out[]=
When we translate a vector, its norm and direction shouldn’t be changed, which resulting its direction derivative in the direction of tangent vector vanishes.
In another word, if we want to translate the vector along the θ curve which means r=1 and ϕ=0 are constant, we must calculate a vector filed v which satisfy the following conditions:
In another word, if we want to translate the vector along the θ curve which means r=1 and ϕ=0 are constant, we must calculate a vector filed v which satisfy the following conditions:
v=
|
r=1,θ=ϕ=0
∂
∂θ
a
∂
∂θ
∇
a
b
v
In[]:=
<<SpTm`
Because we choose a unit sphere as background manifold, given the coordinate system {θ,ϕ}, we can easily know the components of metric are
.
1 | 0 |
0 | 2 Sin[θ] |
In[]:=
SetMetric[DiagonalMatrix[{1,Sin[θ]^2}],{θ,ϕ}]
First we set a tensor with components{1,0}, which is equal to . Then we calculate the direction derivative in the direction of the θ curve.
∂
∂θ
In[]:=
SetTensor[,{1,0}];STSpecify
a
v
a
(θ)
∇
a
b
v
Out[]=
β
0 |
0 |
The components all vanish. Therefore, we can translate the vector v from point (Spherical) to point (Spherical) = {0, 0, 1}(Cartesian) along the θ curve.
p1=1,,0
π
2
p2={1,0,0}
In[]:=
p2=pos/.{r->1,θ->0,ϕ->0}
Out[]=
{0,0,1}
And then, we translate the vector at p3 to p2 as what we did to vector at p1 to p2.
We can see that the two translated vectors from the same starting point and same vector do not same. If we choose another curve to do translation, the result will be much more different as following:
You can see that there are countless curves to translate the vectors to the same point but different result. The translation result depends on the curve we choose.
If we can translate a vector along different curves to get different results, we can judge the background manifold is curved. And Riemann found a way to measure this kind of curvature - Riemann Tensor. We can calculate the Riemann Tensor of a sphere with radius R.
If we can translate a vector along different curves to get different results, we can judge the background manifold is curved. And Riemann found a way to measure this kind of curvature - Riemann Tensor. We can calculate the Riemann Tensor of a sphere with radius R.
We can see that the components are not all 0. So the sphere is a curved manifold. It is interesting that the Riemann tensor of a sphere is irrelevant to its radius.
Discussion on the Cylinder
Discussion on the Cylinder
What’s more, if we are creatures living on the surface of a cylinder, we can’t use Riemann’s idea to know our world is curved. Because the Riemann tensor vanishes on a cylinder. Whatever curve you choose to translate the vector, the results are same. The result is irrelevant to the translation curve we choose.
Riemann tensor all vanishing on a cylinder means that the cylinder is “plane” or “flat”. But we know that is incorrect from a 3 dimensional Euclidean space. However, it is true for the creatures living on the surface of a cylinder. Besides, they will find if they walk in a certain direction, they will get back to where they started, from which they will know the world is not a simple plane.