PhysLean Documentation

PhysLean.Relativity.Tensors.RealTensor.Vector.Basic

Lorentz Vectors #

In this module we define Lorentz vectors as real Lorentz tensors with a single up index. We create an API around Lorentz vectors to make working with them as easy as possible.

def Lorentz.Vector (d : := 3) :

Real contravariant Lorentz vector.

Equations
Instances For

    The equivalence between Vector d and EuclideanSpace ℝ (Fin 1 ⊕ Fin d).

    Equations
    Instances For
      @[simp]
      theorem Lorentz.Vector.equivEuclid_apply (d : ) (v : Vector d) (i : Fin 1 Fin d) :
      ((equivEuclid d) v).ofLp i = v i
      @[simp]
      theorem Lorentz.Vector.abs_component_le_norm {d : } (v : Vector d) (i : Fin 1 Fin d) :
      Equations
      • One or more equations did not get rendered due to their size.

      The Euclidean inner product structure on CoVector.

      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem Lorentz.Vector.apply_smul {d : } (c : ) (v : Vector d) (i : Fin 1 Fin d) :
      (c v) i = c * v i
      @[simp]
      theorem Lorentz.Vector.apply_add {d : } (v w : Vector d) (i : Fin 1 Fin d) :
      (v + w) i = v i + w i
      @[simp]
      theorem Lorentz.Vector.apply_sub {d : } (v w : Vector d) (i : Fin 1 Fin d) :
      (v - w) i = v i - w i
      theorem Lorentz.Vector.apply_sum {d : } {ι : Type} [Fintype ι] (f : ιVector d) (i : Fin 1 Fin d) :
      (∑ j : ι, f j) i = j : ι, f j i
      @[simp]
      theorem Lorentz.Vector.neg_apply {d : } (v : Vector d) (i : Fin 1 Fin d) :
      (-v) i = -v i
      @[simp]
      theorem Lorentz.Vector.zero_apply {d : } (i : Fin 1 Fin d) :
      0 i = 0

      The continuous linear map from a Lorentz vector to one of its coordinates.

      Equations
      Instances For
        theorem Lorentz.Vector.coordCLM_apply {d : } (i : Fin 1 Fin d) (v : Vector d) :
        (coordCLM i) v = v i
        theorem Lorentz.Vector.coord_continuous {d : } (i : Fin 1 Fin d) :
        Continuous fun (v : Vector d) => v i
        theorem Lorentz.Vector.coord_contDiff {n : WithTop ℕ∞} {d : } (i : Fin 1 Fin d) :
        ContDiff n fun (v : Vector d) => v i
        theorem Lorentz.Vector.coord_differentiable {d : } (i : Fin 1 Fin d) :
        Differentiable fun (v : Vector d) => v i
        theorem Lorentz.Vector.coord_differentiableAt {d : } (i : Fin 1 Fin d) (v : Vector d) :
        DifferentiableAt (fun (v : Vector d) => v i) v

        The continous linear equivalence between Vector d and Euclidean space.

        Equations
        Instances For

          The continous linear equivalence between Vector d and the corresponding Pi type.

          Equations
          Instances For
            @[simp]
            theorem Lorentz.Vector.equivPi_apply {d : } (v : Vector d) (i : Fin 1 Fin d) :
            (equivPi d) v i = v i
            theorem Lorentz.Vector.continuous_of_apply {d : } {α : Type u_1} [TopologicalSpace α] (f : αVector d) (h : ∀ (i : Fin 1 Fin d), Continuous fun (x : α) => f x i) :
            theorem Lorentz.Vector.differentiable_apply {d : } {α : Type u_1} [NormedAddCommGroup α] [NormedSpace α] (f : αVector d) :
            (∀ (i : Fin 1 Fin d), Differentiable fun (x : α) => f x i) Differentiable f
            theorem Lorentz.Vector.contDiff_apply {n : WithTop ℕ∞} {d : } {α : Type u_1} [NormedAddCommGroup α] [NormedSpace α] (f : αVector d) :
            (∀ (i : Fin 1 Fin d), ContDiff n fun (x : α) => f x i) ContDiff n f
            theorem Lorentz.Vector.fderiv_apply {d : } {α : Type u_1} [NormedAddCommGroup α] [NormedSpace α] (f : αVector d) (h : Differentiable f) (x dt : α) (ν : Fin 1 Fin d) :
            (fderiv f x) dt ν = (fderiv (fun (y : α) => f y ν) x) dt
            @[simp]
            theorem Lorentz.Vector.fderiv_coord {d : } (μ : Fin 1 Fin d) (x : Vector d) :
            fderiv (fun (v : Vector d) => v μ) x = coordCLM μ

            Tensorial #

            The equivalence between the type of indices of a Lorentz vector and Fin 1 ⊕ Fin d.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.

              Basis #

              The basis on Vector d indexed by Fin 1 ⊕ Fin d.

              Equations
              Instances For
                @[simp]
                theorem Lorentz.Vector.basis_apply {d : } (μ ν : Fin 1 Fin d) :
                basis μ ν = if μ = ν then 1 else 0
                theorem Lorentz.Vector.basis_repr_apply {d : } (p : Vector d) (μ : Fin 1 Fin d) :
                (basis.repr p) μ = p μ
                theorem Lorentz.Vector.sum_basis_eq_zero_iff {d : } (f : Fin 1 Fin d) :
                μ : Fin 1 Fin d, f μ basis μ = 0 ∀ (μ : Fin 1 Fin d), f μ = 0
                theorem Lorentz.Vector.sum_inl_inr_basis_eq_zero_iff {d : } (f₀ : ) (f : Fin d) :
                f₀ basis (Sum.inl 0) + i : Fin d, f i basis (Sum.inr i) = 0 f₀ = 0 ∀ (i : Fin d), f i = 0

                The action of the Lorentz group #

                theorem Lorentz.Vector.smul_eq_sum {d : } (i : Fin 1 Fin d) (Λ : (LorentzGroup d)) (p : Vector d) :
                (Λ p) i = j : Fin 1 Fin d, Λ i j * p j
                theorem Lorentz.Vector.smul_eq_mulVec {d : } (Λ : (LorentzGroup d)) (p : Vector d) :
                Λ p = (↑Λ).mulVec p
                theorem Lorentz.Vector.smul_add {d : } (Λ : (LorentzGroup d)) (p q : Vector d) :
                Λ (p + q) = Λ p + Λ q
                @[simp]
                theorem Lorentz.Vector.smul_sub {d : } (Λ : (LorentzGroup d)) (p q : Vector d) :
                Λ (p - q) = Λ p - Λ q
                theorem Lorentz.Vector.smul_zero {d : } (Λ : (LorentzGroup d)) :
                Λ 0 = 0
                theorem Lorentz.Vector.smul_neg {d : } (Λ : (LorentzGroup d)) (p : Vector d) :
                Λ -p = -(Λ p)
                theorem Lorentz.Vector.neg_smul {d : } (Λ : (LorentzGroup d)) (p : Vector d) :
                -Λ p = -(Λ p)
                theorem LorentzGroup.eq_of_action_vector_eq {d : } {Λ Λ' : (LorentzGroup d)} (h : ∀ (p : Lorentz.Vector d), Λ p = Λ' p) :
                Λ = Λ'

                B. The continuous action of the Lorentz group #

                The Lorentz action on vectors as a continuous linear map.

                Equations
                Instances For
                  theorem Lorentz.Vector.actionCLM_apply {d : } (Λ : (LorentzGroup d)) (p : Vector d) :
                  (actionCLM Λ) p = Λ p
                  theorem Lorentz.Vector.smul_basis {d : } (Λ : (LorentzGroup d)) (μ : Fin 1 Fin d) :
                  Λ basis μ = ν : Fin 1 Fin d, Λ ν μ basis ν

                  C. The Spatial part #

                  @[reducible, inline]

                  Extract spatial components from a Lorentz vector, returning them as a vector in Euclidean space.

                  Equations
                  Instances For

                    The spatial part of a Lorentz vector as a continous linear map.

                    Equations
                    Instances For

                      The Temporal component #

                      @[reducible, inline]

                      Extract time component from a Lorentz vector

                      Equations
                      Instances For

                        The temporal part of a Lorentz vector as a continuous linear map.

                        Equations
                        Instances For

                          ## Smoothness

                          The structure of a smooth manifold on Vector .

                          Equations
                          Instances For

                            Properties of the inner product (note not the Minkowski product) #

                            theorem Lorentz.Vector.basis_inner {d : } (μ : Fin 1 Fin d) (p : Vector d) :
                            inner (basis μ) p = p μ
                            theorem Lorentz.Vector.inner_basis {d : } (p : Vector d) (μ : Fin 1 Fin d) :
                            inner p (basis μ) = p μ