Derivatives on SpaceTime #
i. Overview #
In this module we define and prove basic lemmas about derivatives of functions and
distributions on SpaceTime d.
ii. Key results #
deriv: The derivative of a functionSpaceTime d → Malong theμcoordinate.deriv_sum_inr: The derivative along a spatial coordinate in terms of the derivative onSpace d.deriv_sum_inl: The derivative along the temporal coordinate in terms of the derivative onTime.distDeriv: The derivative of a distribution onSpaceTime dalong theμcoordinate.distDeriv_commute: Derivatives of distributions onSpaceTime dcommute.
iii. Table of contents #
- A. Derivatives of functions on
SpaceTime d- A.1. The definition of the derivative
- A.2. Basic equality lemmas
- A.3. Derivative of the zero function
- A.4. The derivative of a function composed with a Lorentz transformation
- A.5. Spacetime derivatives in terms of time and space derivatives
- B. Derivatives of distributions
- B.1. Commutation of derivatives of distributions
- B.2. Lorentz group action on derivatives of distributions
- C. Derivatives of tensors
- C.1. Derivatives of tensors for distributions
iv. References #
A.1. The definition of the derivative #
noncomputable def
SpaceTime.deriv
{M : Type}
[AddCommGroup M]
[Module ℝ M]
[TopologicalSpace M]
{d : ℕ}
(μ : Fin 1 ⊕ Fin d)
(f : SpaceTime d → M)
:
SpaceTime d → M
The derivative of a function SpaceTime d → ℝ along the μ coordinate.
Equations
- SpaceTime.deriv μ f y = (fderiv ℝ f y) (Lorentz.Vector.basis μ)
Instances For
The derivative of a function SpaceTime d → ℝ along the μ coordinate.
Equations
- SpaceTime.«term∂_» = Lean.ParserDescr.node `SpaceTime.«term∂_» 1024 (Lean.ParserDescr.symbol "∂_")
Instances For
A.2. Basic equality lemmas #
theorem
SpaceTime.deriv_eq
{M : Type}
[AddCommGroup M]
[Module ℝ M]
[TopologicalSpace M]
{d : ℕ}
(μ : Fin 1 ⊕ Fin d)
(f : SpaceTime d → M)
(y : SpaceTime d)
:
theorem
SpaceTime.deriv_apply_eq
{d : ℕ}
(μ ν : Fin 1 ⊕ Fin d)
(f : SpaceTime d → Lorentz.Vector d)
(hf : Differentiable ℝ f)
(y : SpaceTime d)
:
A.3. Derivative of the zero function #
A.4. The derivative of a function composed with a Lorentz transformation #
theorem
SpaceTime.deriv_comp_lorentz_action
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
{d : ℕ}
(μ : Fin 1 ⊕ Fin d)
(f : SpaceTime d → M)
(hf : Differentiable ℝ f)
(Λ : ↑(LorentzGroup d))
(x : SpaceTime d)
:
theorem
SpaceTime.deriv_equivariant
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
[(realLorentzTensor d).Tensorial c M]
[T2Space M]
(f : SpaceTime d → M)
(Λ : ↑(LorentzGroup d))
(x : SpaceTime d)
(hf : Differentiable ℝ f)
(μ : Fin 1 ⊕ Fin d)
:
A.5. Spacetime derivatives in terms of time and space derivatives #
theorem
SpaceTime.deriv_sum_inr
{d : ℕ}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(c : SpeedOfLight)
(f : SpaceTime d → M)
(hf : Differentiable ℝ f)
(x : SpaceTime d)
(i : Fin d)
:
deriv (Sum.inr i) f x = Space.deriv i (fun (y : Space d) => f ((toTimeAndSpace c).symm (((toTimeAndSpace c) x).1, y)))
((toTimeAndSpace c) x).2
theorem
SpaceTime.deriv_sum_inl
{d : ℕ}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(c : SpeedOfLight)
(f : SpaceTime d → M)
(hf : Differentiable ℝ f)
(x : SpaceTime d)
:
deriv (Sum.inl 0) f x = (1 / c.val) • Time.deriv (fun (t : Time) => f ((toTimeAndSpace c).symm (t, ((toTimeAndSpace c) x).2))) ((toTimeAndSpace c) x).1
B. Derivatives of distributions #
noncomputable def
SpaceTime.distDeriv
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(μ : Fin 1 ⊕ Fin d)
:
Given a distribution (function) f : Space d →d[ℝ] M the derivative
of f in direction μ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
SpaceTime.distDeriv_apply
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(μ : Fin 1 ⊕ Fin d)
(f : (SpaceTime d)→d[ℝ] M)
(ε : SchwartzMap (SpaceTime d) ℝ)
:
theorem
SpaceTime.distDeriv_apply'
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(μ : Fin 1 ⊕ Fin d)
(f : (SpaceTime d)→d[ℝ] M)
(ε : SchwartzMap (SpaceTime d) ℝ)
:
((distDeriv μ) f) ε = -f ((SchwartzMap.evalCLM (Lorentz.Vector.basis μ)) ((SchwartzMap.fderivCLM ℝ) ε))
theorem
SpaceTime.apply_fderiv_eq_distDeriv
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(μ : Fin 1 ⊕ Fin d)
(f : (SpaceTime d)→d[ℝ] M)
(ε : SchwartzMap (SpaceTime d) ℝ)
:
f ((SchwartzMap.evalCLM (Lorentz.Vector.basis μ)) ((SchwartzMap.fderivCLM ℝ) ε)) = -((distDeriv μ) f) ε
B.1. Commutation of derivatives of distributions #
B.2. Lorentz group action on derivatives of distributions #
We now show how the Lorentz group action on distributions interacts with derivatives.
theorem
SchwartzMap.sum_apply
{α : Type}
[NormedAddCommGroup α]
[NormedSpace ℝ α]
{ι : Type}
[Fintype ι]
(f : ι → SchwartzMap α ℝ)
(x : α)
:
theorem
SpaceTime.distDeriv_comp_lorentz_action
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
[(realLorentzTensor d).Tensorial c M]
[T2Space M]
{μ : Fin 1 ⊕ Fin d}
(Λ : ↑(LorentzGroup d))
(f : (SpaceTime d)→d[ℝ] M)
:
C. Derivatives of tensors #
Given a function f : SpaceTime d → M where M is a tensor space, we can define the
derivative of f as a tensor. In particular this is ∂_μ f viewed as a tensor in
Lorentz.CoVector d ⊗[ℝ] M.
def
SpaceTime.tensorDeriv
{d : ℕ}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
(f : SpaceTime d → M)
:
SpaceTime d → TensorProduct ℝ (Lorentz.CoVector d) M
The derivative of a tensor, as a tensor.
Equations
- SpaceTime.tensorDeriv f x = ∑ μ : Fin 1 ⊕ Fin d, Lorentz.CoVector.basis μ ⊗ₜ[ℝ] SpaceTime.deriv μ f x
Instances For
theorem
SpaceTime.tensorDeriv_equivariant
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
[(realLorentzTensor d).Tensorial c M]
[T2Space M]
(f : SpaceTime d → M)
(Λ : ↑(LorentzGroup d))
(x : SpaceTime d)
(hf : Differentiable ℝ f)
:
theorem
SpaceTime.tensorDeriv_toTensor_basis_repr
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[NormedSpace ℝ M]
[(realLorentzTensor d).Tensorial c M]
[T2Space M]
{f : SpaceTime d → M}
(hf : Differentiable ℝ f)
(x : SpaceTime d)
(b : TensorSpecies.Tensor.ComponentIdx (Fin.append ![realLorentzTensor.Color.down] c))
:
((TensorSpecies.Tensor.basis (Fin.append ![realLorentzTensor.Color.down] c)).repr
(TensorSpecies.Tensorial.toTensor (tensorDeriv f x)))
b = deriv (Lorentz.CoVector.indexEquiv (TensorSpecies.Tensor.ComponentIdx.prodEquiv b).1)
(fun (x : SpaceTime d) =>
((TensorSpecies.Tensor.basis c).repr (TensorSpecies.Tensorial.toTensor (f x)))
(TensorSpecies.Tensor.ComponentIdx.prodEquiv b).2)
x
C.1. Derivatives of tensors for distributions #
def
SpaceTime.distTensorDeriv
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[InnerProductSpace ℝ M]
[FiniteDimensional ℝ M]
:
The derivative of a tensor, as a tensor for distributions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
SpaceTime.distTensorDeriv_apply
{M : Type}
{d : ℕ}
[NormedAddCommGroup M]
[InnerProductSpace ℝ M]
[FiniteDimensional ℝ M]
(f : (SpaceTime d)→d[ℝ] M)
(ε : SchwartzMap (SpaceTime d) ℝ)
:
theorem
SpaceTime.distTensorDeriv_equivariant
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[InnerProductSpace ℝ M]
[FiniteDimensional ℝ M]
[(realLorentzTensor d).Tensorial c M]
(f : (SpaceTime d)→d[ℝ] M)
(Λ : ↑(LorentzGroup d))
:
theorem
SpaceTime.distTensorDeriv_toTensor_basis_repr
{n d : ℕ}
{c : Fin n → realLorentzTensor.Color}
{M : Type}
[NormedAddCommGroup M]
[InnerProductSpace ℝ M]
[FiniteDimensional ℝ M]
[(realLorentzTensor d).Tensorial c M]
{f : (SpaceTime d)→d[ℝ] M}
(ε : SchwartzMap (SpaceTime d) ℝ)
(b : TensorSpecies.Tensor.ComponentIdx (Fin.append ![realLorentzTensor.Color.down] c))
:
((TensorSpecies.Tensor.basis (Fin.append ![realLorentzTensor.Color.down] c)).repr
(TensorSpecies.Tensorial.toTensor ((distTensorDeriv f) ε)))
b = ((TensorSpecies.Tensor.basis c).repr
(TensorSpecies.Tensorial.toTensor
(((distDeriv (Lorentz.CoVector.indexEquiv (TensorSpecies.Tensor.ComponentIdx.prodEquiv b).1)) f) ε)))
(TensorSpecies.Tensor.ComponentIdx.prodEquiv b).2