Vector and Matrix Types
4-Momenta
QEDcore.SFourMomentum — Type
struct SFourMomentum{T<:Real} <: AbstractFourMomentum{T<:Real}Builds a static LorentzVectorLike with real components used to statically model the four-momentum of a particle or field.
Fields
E::Real: energy componentpx::Real:xcomponentpy::Real:ycomponentpz::Real:zcomponent
Spinors
QEDcore.BiSpinor — Type
struct BiSpinor{T<:Number} <: AbstractDiracVector{T<:Number}Concrete type to model a Dirac four-spinor. These are the elements of an actual spinor space. By default, a constructed BiSpinor will have complex-valued components, using ComplexF64, but any other Number type can be used by explicitly calling BiSpinor{T}(el1, el2, el3, el4), which converts all given elements to T.
QEDcore.AdjointBiSpinor — Type
struct AdjointBiSpinor{T<:Number} <: AbstractDiracVector{T<:Number}Concrete type to model an adjoint Dirac four-spinor. These are the elements of the dual spinor space. By default, a constructed AdjointBiSpinor will have complex-valued components, using ComplexF64, but any other Number type can be used by explicitly calling AdjointBiSpinor{T}(el1, el2, el3, el4), which converts all given elements to T.
Lorentz Vectors
QEDcore.SLorentzVector — Type
struct 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:tcomponentx::Any:xcomponenty::Any:ycomponentz::Any:zcomponent
Dirac Matrix
QEDcore.DiracMatrix — Type
struct DiracMatrix{T<:Number} <: AbstractDiracMatrix{T<:Number}Concrete type to model Dirac matrices, i.e. matrix representations of linear mappings between two spinor spaces.
sourceMultiplications
QEDcore._mul — Function
_mul(abs::AdjointBiSpinor, bs::BiSpinor) -> Any
Tensor product of an adjoint with a standard bi-spinor resulting in a scalar.
source_mul(bs::BiSpinor, abs::AdjointBiSpinor) -> DiracMatrix
Tensor product of a standard with an adjoint bi-spinor resulting in a Dirac matrix.
source_mul(dm::DiracMatrix, bs::BiSpinor) -> Any
Tensor product of an Dirac matrix with a standard bi-spinor resulting in another standard bi-spinor.
source_mul(abs::AdjointBiSpinor, dm::DiracMatrix) -> Any
Tensor product of an adjoint bi-spinor with a Dirac matrix resulting in another adjoint bi-spinor.
source_mul(dm1::DiracMatrix, dm2::DiracMatrix) -> DiracMatrix
Tensor product two Dirac matrices resulting in another Dirac matrix.
source_mul(d::DiracMatrix, a::AdjointBiSpinor)
The product of a Dirac matrix with an adjoint bi-spinor from the right is not defined. Therefore, this throws a method error.
We must throw this error explicitly, because otherwise the multiplication is dispatched to methods from StaticArrays.jl.
_mul(b::BiSpinor, d::DiracMatrix)
The product of a Dirac matrix with a bi-spinor from the left is not defined. Therefore, this throws a method error.
We must throw this error explicitly, because otherwise the multiplication is dispatched to methods from StaticArrays.jl.