Documentation

Mathlib.Geometry.Manifold.Riemannian.Basic

Riemannian manifolds #

A Riemannian manifold M is a real manifold such that its tangent spaces are endowed with an inner product, depending smoothly on the point, and such that M has an emetric space structure for which the distance is the infimum of lengths of paths.

We register a Prop-valued typeclass IsRiemannianManifold I M recording this fact, building on top of [EMetricSpace M] [RiemannianBundle (fun (x : M) โ†ฆ TangentSpace I x)].

We show that an inner product vector space, with the associated canonical Riemannian metric, satisfies the predicate IsRiemannianManifold ๐“˜(โ„, E) E.

In a general manifold with a Riemannian metric, we define the associated extended distance in the manifold, and show that it defines the same topology as the pre-existing one. Therefore, one may endow the manifold with an emetric space structure, see EmetricSpace.ofRiemannianMetric. By definition, it then satisfies the predicate IsRiemannianManifold I M.

The following code block is the standard way to say "Let M be a C^โˆž Riemannian manifold".

variable
  {E : Type*} [NormedAddCommGroup E] [NormedSpace โ„ E]
  {H : Type*} [TopologicalSpace H] {I : ModelWithCorners โ„ E H}
  {M : Type*} [EMetricSpace M] [ChartedSpace H M] [IsManifold I โˆž M]
  [RiemannianBundle (fun (x : M) โ†ฆ TangentSpace I x)]
  [IsContMDiffRiemannianBundle I โˆž E (fun (x : M) โ†ฆ TangentSpace I x)]
  [IsRiemannianManifold I M]

To register a C^n manifold for a general n, one should replace [IsManifold โˆž I M] with [IsManifold I n M] [IsManifold I 1 M], where the second one is needed to ensure that the tangent bundle is well behaved (not necessary when n is concrete like 2 or 3 as there are automatic instances for these cases). One can require whatever regularity one wants in the IsContMDiffRiemannianBundle instance above, for example [IsContMDiffRiemannianBundle I n E (fun (x : M) โ†ฆ TangentSpace I x)], and one should also add [IsContinuousRiemannianBundle E (fun (x : M) โ†ฆ TangentSpace I x)] (as above, Lean can not infer the latter from the former as it can not guess n).

Consider a manifold in which the tangent spaces are already endowed with an inner product, and the space is already endowed with an extended distance. We say that this is a Riemannian manifold if the distance is given by the infimum of the lengths of C^1 paths, measured using the norm in the tangent spaces.

This is a Prop valued typeclass, on top of existing data.

If you need to construct a distance using a Riemannian structure, see EmetricSpace.ofRiemannianMetric.

Instances

    Riemannian structure on an inner product vector space #

    We endow an inner product vector space with the canonical Riemannian metric, given by the inner product of the vector space in each of the tangent spaces, and we show that this construction satisfies the IsRiemannianManifold ๐“˜(โ„, E) E predicate, i.e., the extended distance between two points is the infimum of the length of paths between these points.

    The standard riemannian metric on a vector space with an inner product, given by this inner product on each tangent space.

    Equations
    Instances For

      An inner product vector space is a Riemannian manifold, i.e., the distance between two points is the infimum of the lengths of paths between these points.

      Constructing a distance from a Riemannian structure #

      Let M be a real manifold with a Riemannian structure. We construct the associated distance and show that the associated topology coincides with the pre-existing topology. Therefore, one may endow M with an emetric space structure, called EmetricSpace.ofRiemannianMetric. Moreover, we show that in this case the resulting emetric space satisfies the predicate IsRiemannianManifold I M.

      Showing that the distance topology coincides with the pre-existing topology is not trivial. The two inclusions are proved respectively in eventually_riemmanianEDist_lt and setOf_riemmanianEDist_lt_subset_nhds.

      For the first one, we have to show that points which are close for the topology are at small distance. For this, we use the path between the two points which is the pullback of the segment in the extended chart, and argue that it is short because the images are close in the extended chart.

      For the second one, we have to show that any neighborhood of x contains all the points y with riemannianEDist x y < c for some c > 0. For this, we argue that a short path from x to y remains short in the extended chart, and therefore it doesn't have the time to exit the image of the neighborhood in the extended chart.

      Register on the tangent space to a normed vector space the same NormedAddCommGroup structure as in the vector space.

      Should not be a global instance, as it does not coincide definitionally with the Riemannian structure for inner product spaces, but can be activated locally.

      Equations
      Instances For

        Register on the tangent space to a normed vector space the same NormedSpace structure as in the vector space.

        Should not be a global instance, as it does not coincide definitionally with the Riemannian structure for inner product spaces, but can be activated locally.

        Equations
        Instances For
          theorem eventually_riemannianEDist_le_edist_extChartAt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace โ„ E] {H : Type u_2} [TopologicalSpace H] (I : ModelWithCorners โ„ E H) {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsManifold I 1 M] [IsContinuousRiemannianBundle E fun (x : M) => TangentSpace I x] (x : M) :
          โˆƒ C > 0, โˆ€แถ  (y : M) in nhds x, Manifold.riemannianEDist I x y โ‰ค โ†‘C * edist (โ†‘(extChartAt I x) x) (โ†‘(extChartAt I x) y)

          Around any point x, the Riemannian distance between two points is controlled by the distance in the extended chart. In other words, the extended chart is locally Lipschitz.

          If points are close for the topology, then their Riemannian distance is small.

          theorem setOf_riemmanianEDist_lt_subset_nhds {E : Type u_1} [NormedAddCommGroup E] [NormedSpace โ„ E] {H : Type u_2} [TopologicalSpace H] (I : ModelWithCorners โ„ E H) {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsManifold I 1 M] [IsContinuousRiemannianBundle E fun (x : M) => TangentSpace I x] [RegularSpace M] {x : M} {s : Set M} (hs : s โˆˆ nhds x) :
          โˆƒ c > 0, {y : M | Manifold.riemannianEDist I x y < โ†‘c} โІ s

          Any neighborhood of x contains all the points which are close enough to x for the Riemannian distance, โ„โ‰ฅ0 version.

          theorem setOf_riemmanianEDist_lt_subset_nhds' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace โ„ E] {H : Type u_2} [TopologicalSpace H] (I : ModelWithCorners โ„ E H) {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [Bundle.RiemannianBundle fun (x : M) => TangentSpace I x] [IsManifold I 1 M] [IsContinuousRiemannianBundle E fun (x : M) => TangentSpace I x] [RegularSpace M] {x : M} {s : Set M} (hs : s โˆˆ nhds x) :
          โˆƒ c > 0, {y : M | Manifold.riemannianEDist I x y < c} โІ s

          Any neighborhood of x contains all the points which are close enough to x for the Riemannian distance, โ„โ‰ฅ0โˆž version.

          @[reducible]

          The pseudoemetric space structure associated to a Riemannian metric on a manifold. Designed so that the topology is defeq to the original one.

          This should only be used when constructing data in specific situtations. To develop the theory, one should rather assume that there is an already existing emetric space structure, which satisfies additionally the predicate IsRiemannianManifold I M.

          Equations
          Instances For

            Given a manifold with a Riemannian metric, consider the associated Riemannian distance. Then by definition the distance is the infimum of the length of paths between the points, i.e., the manifold satsifies the IsRiemannianManifold I M predicate.

            @[reducible]

            The emetric space structure associated to a Riemannian metric on a manifold. Designed so that the topology is defeq to the original one.

            This should only be used when constructing data in specific situations. To develop the theory, one should rather assume that there is an already existing emetric space structure, which satisfies additionally the predicate IsRiemannianManifold I M.

            Equations
            Instances For