Vector and Matrix Types
4-Momenta
QEDcore.SFourMomentum
— Typestruct SFourMomentum <: AbstractFourMomentum
Builds a static LorentzVectorLike with real components used to statically model the four-momentum of a particle or field.
Fields
E::Float64
: energy componentpx::Float64
:x
componentpy::Float64
:y
componentpz::Float64
:z
component
QEDcore.MFourMomentum
— Typemutable struct MFourMomentum <: AbstractFourMomentum
Builds a mutable LorentzVector with real components used to statically model the four-momentum of a particle or field.
Fields
E::Float64
: energy componentpx::Float64
:x
componentpy::Float64
:y
componentpz::Float64
:z
component
Spinors
QEDcore.BiSpinor
— Typestruct BiSpinor <: AbstractDiracVector{ComplexF64}
Concrete type to model a Dirac four-spinor with complex-valued components. These are the elements of an actual spinor space.
QEDcore.AdjointBiSpinor
— Typestruct AdjointBiSpinor <: AbstractDiracVector{ComplexF64}
Concrete type to model an adjoint Dirac four-spinor with complex-valued components. These are the elements of the dual spinor space.
Lorentz Vectors
QEDcore.SLorentzVector
— Typestruct SLorentzVector{T} <: AbstractLorentzVector{T}
Concrete implementation of a generic static Lorentz vector. Each manipulation of an concrete implementation which is not self-contained (i.e. produces the same Lorentz vector type) will result in this type.
Fields
t::Any
:t
componentx::Any
:x
componenty::Any
:y
componentz::Any
:z
component
QEDcore.MLorentzVector
— Typemutable struct MLorentzVector{T} <: AbstractLorentzVector{T}
Concrete implementation of a generic mutable Lorentz vector. Each manipulation of an concrete implementation which is not self-contained (i.e. produces the same Lorentz vector type) will result in this type.
Fields
t::Any
:t
componentx::Any
:x
componenty::Any
:y
componentz::Any
:z
component
Dirac Matrix
QEDcore.DiracMatrix
— Typestruct DiracMatrix <: AbstractDiracMatrix{ComplexF64}
Concrete type to model Dirac matrices, i.e. matrix representations of linear mappings between two spinor spaces.
Multiplications
QEDcore._mul
— Function_mul(aBS::AdjointBiSpinor, BS::BiSpinor) -> ComplexF64
Tensor product of an adjoint with a standard bi-spinor resulting in a scalar.
This also overloads the *
operator for this types.
_mul(BS::BiSpinor, aBS::AdjointBiSpinor) -> DiracMatrix
Tensor product of a standard with an adjoint bi-spinor resulting in a Dirac matrix.
This also overloads the *
operator for this types.
_mul(DM::DiracMatrix, BS::BiSpinor) -> BiSpinor
Tensor product of an Dirac matrix with a standard bi-spinor resulting in another standard bi-spinor.
This also overloads the *
operator for this types.
_mul(
aBS::AdjointBiSpinor,
DM::DiracMatrix
) -> AdjointBiSpinor
Tensor product of an adjoint bi-spinor with a Dirac matrix resulting in another adjoint bi-spinor.
This also overloads the *
operator for this types.
_mul(DM1::DiracMatrix, DM2::DiracMatrix) -> DiracMatrix
Tensor product two Dirac matrices resulting in another Dirac matrix.
This also overloads the *
operator for this types.
_mul(
aBS::AdjointBiSpinor,
DM::DiracMatrix,
BS::BiSpinor
) -> ComplexF64
Tensor product of Dirac matrix sandwiched between an adjoint and a standard bi-spinor resulting in a scalar.