Imports
/-
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Electromagnetism.Distributional.ElectricFieldThe Magnetic Field
i. Overview
In general dimensions we define the magnetic field matrix from the spatial components of the field strength matrix. This is an antisymmetric matrix. We define it in this module for distributions.
ii. Key results
DistElectromagneticPotential.magneticFieldMatrix : The magnetic field matrix from the
electromagnetic potential in general spatial dimensions.
iii. Table of contents
A. Magnetic field matrix for distributions
A.1. Magnetic field matrix in terms of vector potentials
A.2. The magnetic field matrix in terms of the field strength
A.3. Magnetic field matrix in 1d
iv. References
@[expose] public sectionA. Magnetic field matrix for distributions
attribute [-simp] Fintype.sum_sum_typeattribute [-simp] Nat.succ_eq_add_oneA.1. Magnetic field matrix in terms of vector potentials
lemma magneticFieldMatrix_eq_vectorPotential {c : SpeedOfLight}
(A : DistElectromagneticPotential d)
(ε : 𝓢(Time × Space d, ℝ)) :
A.magneticFieldMatrix c ε = ∑ i, ∑ j,
(Space.distSpaceDeriv j (A.vectorPotential c) ε i -
Space.distSpaceDeriv i (A.vectorPotential c) ε j) •
EuclideanSpace.basisFun (Fin d) ℝ i ⊗ₜ[ℝ] EuclideanSpace.basisFun (Fin d) ℝ j := d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)⊢ ((magneticFieldMatrix c) A) ε =
∑ i,
∑ j,
((((Space.distSpaceDeriv j) ((vectorPotential c) A)) ε).ofLp i -
(((Space.distSpaceDeriv i) ((vectorPotential c) A)) ε).ofLp j) •
(EuclideanSpace.basisFun (Fin d) ℝ) i ⊗ₜ[ℝ] (EuclideanSpace.basisFun (Fin d) ℝ) j
d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)⊢ ∑ x,
∑ x_1,
(-((distDeriv (Sum.inr x)) A) ((compCLMOfContinuousLinearEquiv ℝ (toTimeAndSpace c)) ε) (Sum.inr x_1) +
((distDeriv (Sum.inr x_1)) A) ((compCLMOfContinuousLinearEquiv ℝ (toTimeAndSpace c)) ε) (Sum.inr x)) •
EuclideanSpace.single x 1 ⊗ₜ[ℝ] EuclideanSpace.single x_1 1 =
∑ x,
∑ x_1,
((((Space.distSpaceDeriv x_1) ((vectorPotential c) A)) ε).ofLp x -
(((Space.distSpaceDeriv x) ((vectorPotential c) A)) ε).ofLp x_1) •
EuclideanSpace.single x 1 ⊗ₜ[ℝ] EuclideanSpace.single x_1 1
All goals completed! 🐙lemma magneticFieldMatrix_basis_repr_eq_vector_potential {c : SpeedOfLight}
(A : DistElectromagneticPotential d)
(ε : 𝓢(Time × Space d, ℝ)) (i j : Fin d) :
((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(A.magneticFieldMatrix c ε) (i, j) =
Space.distSpaceDeriv j (A.vectorPotential c) ε i -
Space.distSpaceDeriv i (A.vectorPotential c) ε j := d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin d⊢ (((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr (((magneticFieldMatrix c) A) ε)) (i, j) =
(((Space.distSpaceDeriv j) ((vectorPotential c) A)) ε).ofLp i -
(((Space.distSpaceDeriv i) ((vectorPotential c) A)) ε).ofLp j
All goals completed! 🐙lemma magneticFieldMatrix_distSpaceDeriv_basis_repr_eq_vector_potential {c : SpeedOfLight}
(A : DistElectromagneticPotential d)
(ε : 𝓢(Time × Space d, ℝ)) (i j k : Fin d) :
((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(Space.distSpaceDeriv k (A.magneticFieldMatrix c) ε) (i, j) =
Space.distSpaceDeriv k (Space.distSpaceDeriv j (A.vectorPotential c)) ε i -
Space.distSpaceDeriv k (Space.distSpaceDeriv i (A.vectorPotential c)) ε j := d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin dk:Fin d⊢ (((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((Space.distSpaceDeriv k) ((magneticFieldMatrix c) A)) ε))
(i, j) =
(((Space.distSpaceDeriv k) ((Space.distSpaceDeriv j) ((vectorPotential c) A))) ε).ofLp i -
(((Space.distSpaceDeriv k) ((Space.distSpaceDeriv i) ((vectorPotential c) A))) ε).ofLp j
d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin dk:Fin d⊢ -(((vectorPotential c) A)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis i))
((fderivCLM ℝ (Time × Space d) ℝ)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis k))
((fderivCLM ℝ (Time × Space d) ℝ) ε))))).ofLp
j +
(((vectorPotential c) A)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis j))
((fderivCLM ℝ (Time × Space d) ℝ)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis k))
((fderivCLM ℝ (Time × Space d) ℝ) ε))))).ofLp
i =
(((vectorPotential c) A)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis j))
((fderivCLM ℝ (Time × Space d) ℝ)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis k))
((fderivCLM ℝ (Time × Space d) ℝ) ε))))).ofLp
i -
(((vectorPotential c) A)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis i))
((fderivCLM ℝ (Time × Space d) ℝ)
((SchwartzMap.evalCLM ℝ (Time × Space d) ℝ (0, Space.basis k))
((fderivCLM ℝ (Time × Space d) ℝ) ε))))).ofLp
j
All goals completed! 🐙A.2. The magnetic field matrix in terms of the field strength
lemma magneticFieldMatrix_basis_repr_eq_fieldStrength {c : SpeedOfLight}
(A : DistElectromagneticPotential d)
(ε : 𝓢(Time × Space d, ℝ)) (i j : Fin d) :
((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(A.magneticFieldMatrix c ε) (i, j) =
(Lorentz.Vector.basis.tensorProduct Lorentz.Vector.basis).repr
(distTimeSlice c A.fieldStrength ε) (Sum.inr i, Sum.inr j) := d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin d⊢ (((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr (((magneticFieldMatrix c) A) ε)) (i, j) =
((Vector.basis.tensorProduct Vector.basis).repr (((distTimeSlice c) (fieldStrength A)) ε)) (Sum.inr i, Sum.inr j)
d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin d⊢ (((Space.distSpaceDeriv j) ((vectorPotential c) A)) ε).ofLp i -
(((Space.distSpaceDeriv i) ((vectorPotential c) A)) ε).ofLp j =
-((distDeriv (Sum.inr i)) A) ((compCLMOfContinuousLinearEquiv ℝ (toTimeAndSpace c)) ε) (Sum.inr j) +
((distDeriv (Sum.inr j)) A) ((compCLMOfContinuousLinearEquiv ℝ (toTimeAndSpace c)) ε) (Sum.inr i)
d:ℕc:SpeedOfLightA:DistElectromagneticPotential dε:𝓢(Time × Space d, ℝ)i:Fin dj:Fin d⊢ ((Space.distSpaceDeriv j) ((distTimeSlice c) A)) ε (Sum.inr i) -
((Space.distSpaceDeriv i) ((distTimeSlice c) A)) ε (Sum.inr j) =
-((Space.distSpaceDeriv i) ((distTimeSlice c) A)) ε (Sum.inr j) +
((Space.distSpaceDeriv j) ((distTimeSlice c) A)) ε (Sum.inr i)
All goals completed! 🐙A.3. Magnetic field matrix in 1d
@[simp]
lemma magneticFieldMatrix_one_dim_eq_zero {c : SpeedOfLight}
(A : DistElectromagneticPotential 1) :
A.magneticFieldMatrix c = 0 := c:SpeedOfLightA:DistElectromagneticPotential 1⊢ (magneticFieldMatrix c) A = 0
c:SpeedOfLightA:DistElectromagneticPotential 1ε:𝓢(Time × Space 1, ℝ)⊢ ((magneticFieldMatrix c) A) ε = 0 ε
All goals completed! 🐙