Documentation

TauCeti.Analysis.Calculus.EndomorphismLieDeriv

The Lie derivative of endomorphism fields on normed spaces #

The Lie derivative of an endomorphism field A : E β†’ E β†’L[π•œ] E along a vector field V : E β†’ E on a normed space E is

L_V A (x) = DA(x)(V x) + A(x) ∘ DV(x) - DV(x) ∘ A(x).

As with TauCeti.lieDerivForm, the definition needs no flow and is total, with junk values where A or V is not differentiable, and TauCeti.lieDerivEndomorphismWithin localizes all derivatives to a set s.

Four properties organize the calculus of L_V A:

Main declarations #

References #

noncomputable def TauCeti.lieDerivEndomorphismWithin {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (s : Set E) (x : E) :
E β†’L[π•œ] E

The Lie derivative within s at x of an endomorphism field A along a vector field V: DA|_s(x)(V x) + A(x) ∘ DV|_s(x) - DV|_s(x) ∘ A(x).

Instances For
    noncomputable def TauCeti.lieDerivEndomorphism {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (x : E) :
    E β†’L[π•œ] E

    The Lie derivative at x of an endomorphism field A along a vector field V: DA(x)(V x) + A(x) ∘ DV(x) - DV(x) ∘ A(x).

    Instances For
      theorem TauCeti.lieDerivEndomorphismWithin_def {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (s : Set E) (x : E) :
      lieDerivEndomorphismWithin V A s x = (fderivWithin π•œ A s x) (V x) + A x ∘SL fderivWithin π•œ V s x - fderivWithin π•œ V s x ∘SL A x
      theorem TauCeti.lieDerivEndomorphism_def {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (x : E) :
      lieDerivEndomorphism V A x = (fderiv π•œ A x) (V x) + A x ∘SL fderiv π•œ V x - fderiv π•œ V x ∘SL A x
      @[simp]
      theorem TauCeti.lieDerivEndomorphismWithin_univ {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) :
      theorem TauCeti.lieDerivEndomorphismWithin_apply {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (s : Set E) (x w : E) :
      (lieDerivEndomorphismWithin V A s x) w = ((fderivWithin π•œ A s x) (V x)) w + (A x) ((fderivWithin π•œ V s x) w) - (fderivWithin π•œ V s x) ((A x) w)

      Pointwise evaluation of lieDerivEndomorphismWithin on a vector w.

      theorem TauCeti.lieDerivEndomorphism_apply {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (x w : E) :
      (lieDerivEndomorphism V A x) w = ((fderiv π•œ A x) (V x)) w + (A x) ((fderiv π•œ V x) w) - (fderiv π•œ V x) ((A x) w)

      Pointwise evaluation of lieDerivEndomorphism on a vector w.

      Algebraic properties and locality #

      @[simp]
      theorem TauCeti.lieDerivEndomorphismWithin_zero {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (s : Set E) (x : E) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphism_zero {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphismWithin_zero_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (A : E β†’ E β†’L[π•œ] E) (s : Set E) (x : E) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphism_zero_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (A : E β†’ E β†’L[π•œ] E) :
      theorem TauCeti.lieDerivEndomorphismWithin_const {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (Aβ‚€ : E β†’L[π•œ] E) (s : Set E) (x : E) :
      lieDerivEndomorphismWithin V (fun (x : E) => Aβ‚€) s x = Aβ‚€ ∘SL fderivWithin π•œ V s x - fderivWithin π•œ V s x ∘SL Aβ‚€

      The Lie derivative of a constant endomorphism field Aβ‚€ is the commutator [Aβ‚€, DV].

      theorem TauCeti.lieDerivEndomorphism_const {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (Aβ‚€ : E β†’L[π•œ] E) (x : E) :
      lieDerivEndomorphism V (fun (x : E) => Aβ‚€) x = Aβ‚€ ∘SL fderiv π•œ V x - fderiv π•œ V x ∘SL Aβ‚€

      The Lie derivative of a constant endomorphism field Aβ‚€ is the commutator [Aβ‚€, DV].

      @[simp]
      theorem TauCeti.lieDerivEndomorphismWithin_const_id {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (s : Set E) (x : E) :
      lieDerivEndomorphismWithin V (fun (x : E) => ContinuousLinearMap.id π•œ E) s x = 0
      @[simp]
      theorem TauCeti.lieDerivEndomorphism_const_id {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (x : E) :
      lieDerivEndomorphism V (fun (x : E) => ContinuousLinearMap.id π•œ E) x = 0
      theorem TauCeti.lieDerivEndomorphismWithin_add {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {s : Set E} {x : E} (hs : UniqueDiffWithinAt π•œ s x) (hA : DifferentiableWithinAt π•œ A s x) (hB : DifferentiableWithinAt π•œ B s x) :
      theorem TauCeti.lieDerivEndomorphism_add {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (hB : DifferentiableAt π•œ B x) :
      theorem TauCeti.lieDerivEndomorphismWithin_neg {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {s : Set E} {x : E} (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (hs : UniqueDiffWithinAt π•œ s x) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphism_neg {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) :
      theorem TauCeti.lieDerivEndomorphismWithin_sub {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {s : Set E} {x : E} (hs : UniqueDiffWithinAt π•œ s x) (hA : DifferentiableWithinAt π•œ A s x) (hB : DifferentiableWithinAt π•œ B s x) :
      theorem TauCeti.lieDerivEndomorphism_sub {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (hB : DifferentiableAt π•œ B x) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphismWithin_smul {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {s : Set E} {x : E} (c : π•œ) (A : E β†’ E β†’L[π•œ] E) (hs : UniqueDiffWithinAt π•œ s x) :
      @[simp]
      theorem TauCeti.lieDerivEndomorphism_smul {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} (c : π•œ) (A : E β†’ E β†’L[π•œ] E) :
      theorem TauCeti.lieDerivEndomorphism_add_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {U V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} (hU : DifferentiableAt π•œ U x) (hV : DifferentiableAt π•œ V x) :
      theorem TauCeti.lieDerivEndomorphism_neg_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (x : E) :
      theorem TauCeti.lieDerivEndomorphism_sub_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {U V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} (hU : DifferentiableAt π•œ U x) (hV : DifferentiableAt π•œ V x) :
      theorem TauCeti.lieDerivEndomorphism_const_smul_left {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] (c : π•œ) (V : E β†’ E) (A : E β†’ E β†’L[π•œ] E) (x : E) :
      theorem Filter.EventuallyEq.lieDerivEndomorphismWithin_eq_nhds {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V V₁ : E β†’ E} {A A₁ : E β†’ E β†’L[π•œ] E} {s : Set E} {x : E} (hV : V₁ =αΆ [nhds x] V) (hA : A₁ =αΆ [nhds x] A) :
      theorem Filter.EventuallyEq.lieDerivEndomorphism_eq {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V V₁ : E β†’ E} {A A₁ : E β†’ E β†’L[π•œ] E} {x : E} (hV : V₁ =αΆ [nhds x] V) (hA : A₁ =αΆ [nhds x] A) :
      theorem Filter.EventuallyEq.lieDerivEndomorphism {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V V₁ : E β†’ E} {A A₁ : E β†’ E β†’L[π•œ] E} {x : E} (hV : V₁ =αΆ [nhds x] V) (hA : A₁ =αΆ [nhds x] A) :
      theorem TauCeti.contDiffAt_lieDerivEndomorphism {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} {n m : WithTop β„•βˆž} (hV : ContDiffAt π•œ n V x) (hA : ContDiffAt π•œ n A x) (hmn : m + 1 ≀ n) :
      ContDiffAt π•œ m (lieDerivEndomorphism V A) x

      If V and A are C^n at x with m + 1 ≀ n, then lieDerivEndomorphism V A is C^m at x.

      Bracket formula and composition derivation rule #

      theorem TauCeti.lieDerivEndomorphismWithin_apply_vectorField {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V W : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {s : Set E} {x : E} (hs : UniqueDiffWithinAt π•œ s x) (hA : DifferentiableWithinAt π•œ A s x) (hW : DifferentiableWithinAt π•œ W s x) :
      (lieDerivEndomorphismWithin V A s x) (W x) = VectorField.lieBracketWithin π•œ V (fun (y : E) => (A y) (W y)) s x - (A x) (VectorField.lieBracketWithin π•œ V W s x)

      Bracket formula for lieDerivEndomorphismWithin: evaluated on a vector field W, (L_V A)(W) = [V, A W] - A [V, W].

      theorem TauCeti.lieDerivEndomorphism_apply_vectorField {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V W : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (hW : DifferentiableAt π•œ W x) :
      (lieDerivEndomorphism V A x) (W x) = VectorField.lieBracket π•œ V (fun (y : E) => (A y) (W y)) x - (A x) (VectorField.lieBracket π•œ V W x)

      Bracket formula for lieDerivEndomorphism: evaluated on a vector field W, (L_V A)(W) = [V, A W] - A [V, W].

      theorem TauCeti.lieDerivEndomorphism_apply_eq_lieBracket {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (w : E) :
      (lieDerivEndomorphism V A x) w = VectorField.lieBracket π•œ V (fun (y : E) => (A y) w) x - (A x) (VectorField.lieBracket π•œ V (fun (x : E) => w) x)

      Specializing lieDerivEndomorphism_apply_vectorField to a constant vector field expresses (L_V A)(x) w purely in terms of vector-field brackets.

      theorem TauCeti.lieDerivEndomorphismWithin_comp {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {s : Set E} {x : E} (hs : UniqueDiffWithinAt π•œ s x) (hA : DifferentiableWithinAt π•œ A s x) (hB : DifferentiableWithinAt π•œ B s x) :

      Derivation rule on composition within a set: L_V (A ∘ B) = (L_V A) ∘ B + A ∘ (L_V B). No differentiability of V is required.

      theorem TauCeti.lieDerivEndomorphism_comp {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A B : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (hB : DifferentiableAt π•œ B x) :

      Derivation rule on composition: L_V (A ∘ B) = (L_V A) ∘ B + A ∘ (L_V B).

      theorem TauCeti.lieDerivEndomorphism_comp_add_comp_eq_zero {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} (hA : DifferentiableAt π•œ A x) (hsq : (fun (y : E) => A y ∘SL A y) =αΆ [nhds x] fun (x : E) => -ContinuousLinearMap.id π•œ E) :

      If AΒ² = -1 on a neighborhood of x and A is differentiable at x, then L_V A (x) anticommutes with A x.

      Commutator identity and source-bracket sign comparison #

      theorem TauCeti.lieDerivEndomorphism_lieBracket {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {U V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} {n : WithTop β„•βˆž} (hn : minSmoothness π•œ 2 ≀ n) (hU : ContDiffAt π•œ n U x) (hV : ContDiffAt π•œ n V x) (hA : ContDiffAt π•œ n A x) :

      Commutator identity for Mathlib's Lie bracket [U, V] = DV Β· U - DU Β· V: for CΒ² vector fields U, V and endomorphism field A at x, L_{[U, V]} A = L_U (L_V A) - L_V (L_U A).

      theorem TauCeti.lieDerivEndomorphism_fderiv_sub_fderiv {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {U V : E β†’ E} {A : E β†’ E β†’L[π•œ] E} {x : E} {n : WithTop β„•βˆž} (hn : minSmoothness π•œ 2 ≀ n) (hU : ContDiffAt π•œ n U x) (hV : ContDiffAt π•œ n V x) (hA : ContDiffAt π•œ n A x) :
      lieDerivEndomorphism (fun (y : E) => (fderiv π•œ U y) (V y) - (fderiv π•œ V y) (U y)) A x = lieDerivEndomorphism V (lieDerivEndomorphism U A) x - lieDerivEndomorphism U (lieDerivEndomorphism V A) x

      Source-bracket commutator identity: for the opposite bracket [U, V]_RS(y) = DU(y)(V y) - DV(y)(U y) = -lieBracket π•œ U V y used by Robbin–Salamon, L_{[U, V]_RS} A = L_V (L_U A) - L_U (L_V A).

      Nijenhuis–Lie-derivative identities #

      theorem TauCeti.lieDerivEndomorphism_apply_sub_apply {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {A : E β†’ E β†’L[π•œ] E} {x : E} {X : E β†’ E} (hA : DifferentiableAt π•œ A x) (hX : DifferentiableAt π•œ X x) (hsq : βˆ€ (u : E), (A x) ((A x) u) = -u) (w : E) :
      (lieDerivEndomorphism (fun (y : E) => (A y) (X y)) A x) w - (A x) ((lieDerivEndomorphism X A x) w) = ((fderiv π•œ A x) ((A x) (X x))) w - ((fderiv π•œ A x) ((A x) w)) (X x) + (A x) (((fderiv π•œ A x) w) (X x)) - (A x) (((fderiv π•œ A x) (X x)) w)

      Nijenhuis–Lie-derivative identity: if A x squares to -1, then for every differentiable vector field X, the derivative DX(x) cancels out of (L_{A X} A)(x) w - A x ((L_X A)(x) w), leaving the pointwise Nijenhuis expression of A on (X x, w).

      theorem TauCeti.lieBracket_apply_sub_lieBracket_eq {π•œ : Type u_1} {E : Type u_2} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] {A : E β†’ E β†’L[π•œ] E} {x : E} {U W : E β†’ E} (hA : DifferentiableAt π•œ A x) (hU : DifferentiableAt π•œ U x) (hW : DifferentiableAt π•œ W x) (hsq : βˆ€ (u : E), (A x) ((A x) u) = -u) :
      VectorField.lieBracket π•œ (fun (y : E) => (A y) (U y)) (fun (y : E) => (A y) (W y)) x - VectorField.lieBracket π•œ U W x - (A x) (VectorField.lieBracket π•œ (fun (y : E) => (A y) (U y)) W x) - (A x) (VectorField.lieBracket π•œ U (fun (y : E) => (A y) (W y)) x) = ((fderiv π•œ A x) ((A x) (U x))) (W x) - ((fderiv π•œ A x) ((A x) (W x))) (U x) + (A x) (((fderiv π•œ A x) (W x)) (U x)) - (A x) (((fderiv π•œ A x) (U x)) (W x))

      Pointwise vector-field bracket formula for the Nijenhuis expression on a normed space: when A x squares to -1, the derivatives of U and W cancel out of [A U, A W] - [U, W] - A [A U, W] - A [U, A W].