PhysLean/HepLean/Lorentz/Algebra/Basic.lean

84 lines
3.3 KiB
Text
Raw Normal View History

2024-05-24 15:33:29 -04:00
/-
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
2024-07-12 16:39:44 -04:00
Released under Apache 2.0 license as described in the file LICENSE.
2024-05-24 15:33:29 -04:00
Authors: Joseph Tooby-Smith
-/
2024-11-09 17:37:12 +00:00
import HepLean.Lorentz.RealVector.Basic
2024-05-24 15:33:29 -04:00
/-!
# The Lorentz Algebra
2024-06-09 14:33:56 -04:00
We define
- Define `lorentzAlgebra` via `LieAlgebra.Orthogonal.so'` as a subalgebra of
2024-07-02 10:13:52 -04:00
`Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) `.
2024-06-09 14:33:56 -04:00
- In `mem_iff` prove that a matrix is in the Lorentz algebra if and only if it satisfies the
condition `Aᵀ * η = - η * A`.
2024-05-24 15:33:29 -04:00
-/
open Matrix
open TensorProduct
/-- The Lorentz algebra as a subalgebra of `Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) `. -/
2024-07-02 10:13:52 -04:00
def lorentzAlgebra : LieSubalgebra (Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) ) :=
2024-05-24 15:33:29 -04:00
(LieAlgebra.Orthogonal.so' (Fin 1) (Fin 3) )
namespace lorentzAlgebra
2024-07-02 10:13:52 -04:00
open minkowskiMatrix
2024-05-24 15:33:29 -04:00
2024-07-12 11:23:02 -04:00
lemma transpose_eta (A : lorentzAlgebra) : A.1ᵀ * η = - η * A.1 := by
2024-07-02 10:13:52 -04:00
have h1 := A.2
erw [mem_skewAdjointMatricesLieSubalgebra] at h1
2024-10-03 13:50:18 +00:00
simpa only [neg_mul, mem_skewAdjointMatricesSubmodule, IsSkewAdjoint, IsAdjointPair,
mul_neg] using h1
2024-07-02 10:13:52 -04:00
lemma mem_of_transpose_eta_eq_eta_mul_self {A : Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) }
(h : Aᵀ * η = - η * A) : A ∈ lorentzAlgebra := by
2024-07-02 10:13:52 -04:00
erw [mem_skewAdjointMatricesLieSubalgebra]
simpa [LieAlgebra.Orthogonal.so', IsSkewAdjoint, IsAdjointPair] using h
lemma mem_iff {A : Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) } :
2024-07-12 11:23:02 -04:00
A ∈ lorentzAlgebra ↔ Aᵀ * η = - η * A :=
2024-06-09 14:33:56 -04:00
Iff.intro (fun h => transpose_eta ⟨A, h⟩) (fun h => mem_of_transpose_eta_eq_eta_mul_self h)
2024-05-24 15:33:29 -04:00
lemma mem_iff' (A : Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) ) :
A ∈ lorentzAlgebra ↔ A = - η * Aᵀ * η := by
2024-05-29 16:42:04 -04:00
rw [mem_iff]
2024-07-02 10:13:52 -04:00
refine Iff.intro (fun h => ?_) (fun h => ?_)
· trans -η * (Aᵀ * η)
· rw [h]
trans (η * η) * A
· rw [minkowskiMatrix.sq]
noncomm_ring
· noncomm_ring
· noncomm_ring
2024-07-02 10:13:52 -04:00
· nth_rewrite 2 [h]
2024-07-12 11:23:02 -04:00
trans (η * η) * Aᵀ * η
· rw [minkowskiMatrix.sq]
noncomm_ring
· noncomm_ring
2024-07-02 10:13:52 -04:00
lemma diag_comp (Λ : lorentzAlgebra) (μ : Fin 1 ⊕ Fin 3) : Λ.1 μ μ = 0 := by
2024-06-12 13:19:57 -04:00
have h := congrArg (fun M ↦ M μ μ) $ mem_iff.mp Λ.2
2024-07-02 10:13:52 -04:00
simp only [minkowskiMatrix, LieAlgebra.Orthogonal.indefiniteDiagonal, mul_diagonal,
transpose_apply, diagonal_neg, diagonal_mul, neg_mul] at h
2024-09-04 06:28:46 -04:00
rcases μ with μ | μ
· simp only [Sum.elim_inl, mul_one, one_mul] at h
exact eq_zero_of_neg_eq (id (Eq.symm h))
· simp only [Sum.elim_inr, mul_neg, mul_one, neg_mul, one_mul, neg_neg] at h
exact eq_zero_of_neg_eq h
2024-07-02 10:13:52 -04:00
lemma time_comps (Λ : lorentzAlgebra) (i : Fin 3) :
Λ.1 (Sum.inr i) (Sum.inl 0) = Λ.1 (Sum.inl 0) (Sum.inr i) := by
simpa only [Fin.isValue, minkowskiMatrix, LieAlgebra.Orthogonal.indefiniteDiagonal, mul_diagonal,
transpose_apply, Sum.elim_inr, mul_neg, mul_one, diagonal_neg, diagonal_mul, Sum.elim_inl,
neg_mul, one_mul, neg_inj] using congrArg (fun M ↦ M (Sum.inl 0) (Sum.inr i)) $ mem_iff.mp Λ.2
2024-06-12 13:19:57 -04:00
lemma space_comps (Λ : lorentzAlgebra) (i j : Fin 3) :
2024-07-02 10:13:52 -04:00
Λ.1 (Sum.inr i) (Sum.inr j) = - Λ.1 (Sum.inr j) (Sum.inr i) := by
simpa only [minkowskiMatrix, LieAlgebra.Orthogonal.indefiniteDiagonal, diagonal_neg, diagonal_mul,
Sum.elim_inr, neg_neg, one_mul, mul_diagonal, transpose_apply, mul_neg, mul_one] using
(congrArg (fun M ↦ M (Sum.inr i) (Sum.inr j)) $ mem_iff.mp Λ.2).symm
2024-06-12 13:19:57 -04:00
2024-05-24 15:33:29 -04:00
end lorentzAlgebra