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.ElectricField

The 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 section

A. Magnetic field matrix for distributions

attribute [-simp] Fintype.sum_sum_typeattribute [-simp] Nat.succ_eq_add_one

A.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! 🐙