Documentation

TauCeti.Geometry.Manifold.Riemannian.Isometry.Curvature

Curvature under Riemannian isometries #

A local Riemannian isometry f : M → N, and in particular a smooth Riemannian isometry, carries the Riemann curvature tensor of M to that of N:

df_x (R(u, v) w) = R(df_x u, df_x v) (df_x w)

for all tangent vectors u, v, w at x. Consequently it preserves every curvature quantity built from the curvature tensor and the metric: the sectional curvature of each tangent two-plane, the Ricci tensor and the scalar curvature. Since f need not be injective or surjective, this applies to the inclusion of an open submanifold with the restricted metric, so these curvatures are local invariants of the metric.

These invariants are what constrain an isometry of a homogeneous space that is not a space form. For example, on S² × ℝ the tangent planes of the sphere factor are exactly the planes of sectional curvature 1, and the line field tangent to the ℝ factor is the kernel of the Ricci tensor, so the differential of an isometry preserves the product splitting of each tangent space. Combined with the determination of isometries by their first-order data, this is the input for identifying the full isometry groups of such model spaces.

The curvature identity follows from the naturality of the Levi-Civita connection (TauCeti.IsLocalRiemannianIsometry.mfderiv_leviCivitaConnection_mpullback) and of the Lie bracket (VectorField.mpullback_mlieBracket): pulling back three smooth vector fields along f pulls back each of the three terms in R(X, Y) Z = ∇_X ∇_Y Z - ∇_Y ∇_X Z - ∇_[X, Y] Z.

Main results #

In the namespace TauCeti.IsLocalRiemannianIsometry:

These apply to a Riemannian isometry Φ, which is a local Riemannian isometry (Φ.isLocalRiemannianIsometry). In the namespace TauCeti.RiemannianIsometry, hasSectionalCurvatureAt_map_iff and hasConstantSectionalCurvature_iff use surjectivity: isometries preserve pointwise and constant sectional curvature.

References #

theorem TauCeti.IsLocalRiemannianIsometry.mfderiv_curvatureOperator_mpullback {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} (hf : IsLocalRiemannianIsometry I J f) {X Y Z : (y : N) → TangentSpace J y} (hX : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, X y⟩) (hY : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, Y y⟩) (hZ : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, Z y⟩) (x : M) :

Naturality of the curvature operator under local Riemannian isometries. For smooth vector fields X, Y, Z on N, the curvature operator of M applied to their pullbacks along f is the pullback of the curvature operator of N: df_x (R(f^* X, f^* Y) (f^* Z) x) = R(X, Y) Z (f x).

theorem TauCeti.IsLocalRiemannianIsometry.curvatureOperator_mpullback {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} (hf : IsLocalRiemannianIsometry I J f) {X Y Z : (y : N) → TangentSpace J y} (hX : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, X y⟩) (hY : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, Y y⟩) (hZ : ContMDiff J J.tangent ↑⊤ fun (y : N) => ⟨y, Z y⟩) :

The vector-field form of the naturality of the curvature operator: for smooth vector fields X, Y, Z on N, R(f^* X, f^* Y) (f^* Z) = f^* (R(X, Y) Z).

@[simp]
theorem TauCeti.IsLocalRiemannianIsometry.mfderiv_curvatureTensor {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} [T2Space M] [T2Space N] (hf : IsLocalRiemannianIsometry I J f) (x : M) (u v w : TangentSpace I x) :
(mfderiv% f x) (((((CovariantDerivative.leviCivitaConnection I M).curvatureTensor x) u) v) w) = ((((CovariantDerivative.leviCivitaConnection J N).curvatureTensor (f x)) ((mfderiv% f x) u)) ((mfderiv% f x) v)) ((mfderiv% f x) w)

Naturality of the Riemann curvature tensor under local Riemannian isometries: df_x (R(u, v) w) = R(df_x u, df_x v) (df_x w).

@[simp]
theorem TauCeti.IsLocalRiemannianIsometry.inner_curvatureTensor_mfderiv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} [T2Space M] [T2Space N] (hf : IsLocalRiemannianIsometry I J f) (x : M) (u v w z : TangentSpace I x) :
inner ℝ (((((CovariantDerivative.leviCivitaConnection J N).curvatureTensor (f x)) ((mfderiv% f x) u)) ((mfderiv% f x) v)) ((mfderiv% f x) w)) ((mfderiv% f x) z) = inner ℝ (((((CovariantDerivative.leviCivitaConnection I M).curvatureTensor x) u) v) w) z

A local Riemannian isometry preserves the curvature tensor paired with the metric: ⟪R(df_x u, df_x v) (df_x w), df_x z⟫ = ⟪R(u, v) w, z⟫.

theorem TauCeti.IsLocalRiemannianIsometry.sectionalCurvature_mfderiv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} [T2Space M] [T2Space N] (hf : IsLocalRiemannianIsometry I J f) (x : M) (u v : TangentSpace I x) :

A local Riemannian isometry preserves sectional curvature: the plane spanned by df_x u and df_x v has the same sectional curvature as the plane spanned by u and v.

theorem TauCeti.IsLocalRiemannianIsometry.ricciTensor_mfderiv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsContMDiffRiemannianBundle I (↑⊤) E fun (x : M) => TangentSpace I x] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {H' : Type u_5} [TopologicalSpace H'] {J : ModelWithCorners ℝ F H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold J (↑⊤) N] [Bundle.RiemannianBundle fun (y : N) => TangentSpace J y] [IsContMDiffRiemannianBundle J (↑⊤) F fun (y : N) => TangentSpace J y] {f : M → N} [T2Space M] [T2Space N] (hf : IsLocalRiemannianIsometry I J f) (x : M) (u v : TangentSpace I x) :
(((CovariantDerivative.leviCivitaConnection J N).ricciTensor (f x)) ((mfderiv% f x) u)) ((mfderiv% f x) v) = (((CovariantDerivative.leviCivitaConnection I M).ricciTensor x) u) v

A local Riemannian isometry preserves the Ricci tensor: Ric(df_x u, df_x v) = Ric(u, v).

A local Riemannian isometry preserves scalar curvature.

@[simp]

A Riemannian isometry Φ preserves pointwise sectional curvature: N has sectional curvature k at Φ x exactly when M has sectional curvature k at x.