Documentation

TauCeti.Geometry.Manifold.Riemannian.WithMetric

A manifold carrying a chosen Riemannian metric #

The Riemannian API (gradient, volume density, Levi-Civita connection, curvature) is driven by a RiemannianBundle instance on the tangent bundle. Comparing two metrics g and g' on the same manifold M, for instance a metric and a conformal rescaling of it, would require two incompatible instances on the same carrier. Instead, TauCeti.WithMetric g is a copy of M whose RiemannianBundle instance is g; different metrics give different copies, and each copy has exactly one metric instance.

The copy carries the topology, charts and manifold structure of M, transported along the tautological equivalence ofWithMetric : WithMetric g → M, and the Borel σ-algebra of that topology. The map ofWithMetric is a diffeomorphism of every order, its differential is the identity of the model space, and the metric of the copy is the pullback of g along it. Two copies of M are related by the identity diffeomorphism TauCeti.WithMetric.diffeomorphWithMetric.

Main definitions #

Main results #

structure TauCeti.WithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) :
Type u_3

The manifold M carrying the Riemannian metric g: a copy of M whose RiemannianBundle instance is g. Distinct metrics on M give distinct copies, so that two metrics can be compared without installing two metric instances on one carrier.

  • toWithMetric :: (
    • ofWithMetric : M

      The underlying point of M.

  • )
Instances For
    theorem TauCeti.WithMetric.ext {E : Type u_1} {inst✝ : NormedAddCommGroup E} {inst✝¹ : NormedSpace ℝ E} {H : Type u_2} {inst✝² : TopologicalSpace H} {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} {inst✝³ : TopologicalSpace M} {inst✝⁴ : ChartedSpace H M} {inst✝⁵ : IsManifold I 1 M} {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {x y : WithMetric g} (ofWithMetric : x.ofWithMetric = y.ofWithMetric) :
    x = y
    theorem TauCeti.WithMetric.ext_iff {E : Type u_1} {inst✝ : NormedAddCommGroup E} {inst✝¹ : NormedSpace ℝ E} {H : Type u_2} {inst✝² : TopologicalSpace H} {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} {inst✝³ : TopologicalSpace M} {inst✝⁴ : ChartedSpace H M} {inst✝⁵ : IsManifold I 1 M} {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {x y : WithMetric g} :

    The tautological equivalence between the copy of M carrying g and M.

    Instances For
      @[simp]
      @[simp]
      theorem TauCeti.WithMetric.equiv_symm_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) (x : M) :
      (equiv g).symm x = { ofWithMetric := x }
      @[simp]
      theorem TauCeti.WithMetric.ofWithMetric_toWithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) (x : M) :
      { ofWithMetric := x }.ofWithMetric = x
      @[simp]
      theorem TauCeti.WithMetric.toWithMetric_ofWithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) (x : WithMetric g) :
      { ofWithMetric := x.ofWithMetric } = x
      theorem TauCeti.WithMetric.toWithMetric_inj {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) {x y : M} :
      { ofWithMetric := x } = { ofWithMetric := y } ↔ x = y

      Two points of M give the same point of the copy only if they are equal. Not tagged @[simp]: simp already proves it with the constructor lemma TauCeti.WithMetric.toWithMetric.injEq.

      @[instance_reducible]

      The copy of M carrying g has the topology of M.

      The tautological homeomorphism between the copy of M carrying g and M.

      Instances For

        The copy of a compact manifold is compact.

        The copy of a Lindelöf manifold is Lindelöf.

        @[instance_reducible]

        The copy of M carrying g is measured on its Borel σ-algebra.

        @[instance_reducible]

        The copy of M carrying g has the charts of M, precomposed with ofWithMetric.

        The chart transitions of the copy are those of M, so it is a manifold of the same smoothness.

        theorem TauCeti.WithMetric.extChartAt_symm_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (α : WithMetric g) (z : E) :
        ↑(extChartAt I α).symm z = { ofWithMetric := ↑(extChartAt I α.ofWithMetric).symm z }
        theorem TauCeti.WithMetric.trivializationAt_apply_snd {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (α x : WithMetric g) (v : TangentSpace I x) :
        (↑(trivializationAt E (TangentSpace I) α) ⟨x, v⟩).2 = (↑(trivializationAt E (TangentSpace I) α.ofWithMetric) ⟨x.ofWithMetric, v⟩).2

        The tangent trivializations of the copy read a tangent vector in the same coordinates as those of M.

        noncomputable def TauCeti.WithMetric.diffeomorph {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] (g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) (k : WithTop ℕ∞) :

        The tautological diffeomorphism, of every order, between the copy of M carrying g and M.

        Instances For

          ofWithMetric is a diffeomorphism, hence smooth of every order.

          toWithMetric g is a diffeomorphism, hence smooth of every order.

          The differential of ofWithMetric is the identity of the model space.

          The differential of toWithMetric g is the identity of the model space.

          The tangent spaces TangentSpace I x of a point x of the copy and TangentSpace I x.ofWithMetric of the underlying point of M are both, by definition, the model space E. The following lemmas state that the differentials of ofWithMetric and toWithMetric g are the identity under this identification; later statements comparing tangent vectors of the copy with tangent vectors of M go through these lemmas rather than through the identification.

          The differential of ofWithMetric is the identity of the model space.

          The differential of toWithMetric g is the identity of the model space.

          theorem TauCeti.WithMetric.mfderiv_ofWithMetric_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (x : WithMetric g) (v : TangentSpace I x) :
          (mfderiv% ofWithMetric x) v = v

          The differential of ofWithMetric maps a tangent vector to itself.

          theorem TauCeti.WithMetric.mfderiv_toWithMetric_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (x : M) (v : TangentSpace I x) :
          (mfderiv% (toWithMetric g) x) v = v

          The differential of toWithMetric g maps a tangent vector to itself.

          @[simp]
          theorem TauCeti.WithMetric.mfderiv_ofWithMetric_mfderiv_toWithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (x : M) (v : TangentSpace I x) :
          (mfderiv% ofWithMetric { ofWithMetric := x }) ((mfderiv% (toWithMetric g) x) v) = v

          Transporting a tangent vector of M to the copy and back gives the vector itself.

          @[simp]

          Transporting a tangent vector of the copy to M and back gives the vector itself.

          theorem TauCeti.WithMetric.mdifferentiableAt_comp_ofWithMetric_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [ChartedSpace H' M'] {u : M → M'} {x : WithMetric g} :
          MDiffAt (u ∘ ofWithMetric) x ↔ MDiffAt u x.ofWithMetric

          A map out of M is differentiable at a point exactly when it is differentiable as a map out of the copy of M.

          theorem TauCeti.WithMetric.mfderiv_comp_ofWithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {E' : Type u_4} [NormedAddCommGroup E'] [NormedSpace ℝ E'] {H' : Type u_5} [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {M' : Type u_6} [TopologicalSpace M'] [ChartedSpace H' M'] (u : M → M') (x : WithMetric g) :
          mfderiv% (u ∘ ofWithMetric) x = mfderiv% u x.ofWithMetric ∘SL mfderiv% ofWithMetric x

          The chain rule along ofWithMetric. Since ofWithMetric is a diffeomorphism, it holds without a differentiability hypothesis on u.

          theorem TauCeti.WithMetric.mvfderiv_comp_ofWithMetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {F : Type u_7} [NormedAddCommGroup F] [NormedSpace ℝ F] (u : M → F) (x : WithMetric g) :
          d% (u ∘ ofWithMetric) x = d% u x.ofWithMetric ∘SL mfderiv% ofWithMetric x

          The differential of a vector-valued function pulls back along ofWithMetric, without any differentiability hypothesis on the function.

          theorem TauCeti.WithMetric.mvfderiv_comp_ofWithMetric_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} {F : Type u_7} [NormedAddCommGroup F] [NormedSpace ℝ F] (u : M → F) (x : WithMetric g) (v : TangentSpace I x) :
          (d% (u ∘ ofWithMetric) x) v = (d% u x.ofWithMetric) ((mfderiv% ofWithMetric x) v)

          The differential of a vector-valued function read on the copy of M.

          The identity diffeomorphism from the copy of M carrying g to the copy carrying g'.

          Instances For
            @[simp]
            theorem TauCeti.WithMetric.diffeomorphWithMetric_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} (g' : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x) (k : WithTop ℕ∞) (x : WithMetric g) :
            (diffeomorphWithMetric g g' k) x = { ofWithMetric := x.ofWithMetric }

            The differential of the identity diffeomorphism between two copies of M is the identity of the model space.

            The metric of the copy of M carrying g: the pullback of g along ofWithMetric.

            Instances For
              @[instance_reducible]

              The copy of M carrying g has the metric g.

              The metric of the copy of M carrying a C^n metric is C^n.

              The metric of the copy of M carrying g is continuous.

              theorem TauCeti.WithMetric.inner_def {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {n : WithTop ℕ∞} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I 1 M] {g : Bundle.ContMDiffRiemannianMetric I n E fun (x : M) => TangentSpace I x} [FiniteDimensional ℝ E] (x : WithMetric g) (v w : TangentSpace I x) :
              inner ℝ v w = ((g.inner x.ofWithMetric) ((mfderiv% ofWithMetric x) v)) ((mfderiv% ofWithMetric x) w)

              The inner product of two tangent vectors of the copy of M carrying g is g evaluated on the corresponding tangent vectors of M.