Vector and Matrix Types

4-Momenta

QEDcore.SFourMomentumType
struct 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 component

  • px::Float64: x component

  • py::Float64: y component

  • pz::Float64: z component

source
QEDcore.MFourMomentumType
mutable 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 component

  • px::Float64: x component

  • py::Float64: y component

  • pz::Float64: z component

source

Spinors

QEDcore.BiSpinorType
struct BiSpinor <: AbstractDiracVector{ComplexF64}

Concrete type to model a Dirac four-spinor with complex-valued components. These are the elements of an actual spinor space.

source
QEDcore.AdjointBiSpinorType
struct 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.

source

Lorentz Vectors

QEDcore.SLorentzVectorType
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: t component

  • x::Any: x component

  • y::Any: y component

  • z::Any: z component

source
QEDcore.MLorentzVectorType
mutable 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 component

  • x::Any: x component

  • y::Any: y component

  • z::Any: z component

source

Dirac Matrix

QEDcore.DiracMatrixType
struct DiracMatrix <: AbstractDiracMatrix{ComplexF64}

Concrete type to model Dirac matrices, i.e. matrix representations of linear mappings between two spinor spaces.

source

Multiplications

QEDcore._mulFunction
_mul(aBS::AdjointBiSpinor, BS::BiSpinor) -> ComplexF64

Tensor product of an adjoint with a standard bi-spinor resulting in a scalar.

Multiplication operator

This also overloads the * operator for this types.

source
_mul(BS::BiSpinor, aBS::AdjointBiSpinor) -> DiracMatrix

Tensor product of a standard with an adjoint bi-spinor resulting in a Dirac matrix.

Multiplication operator

This also overloads the * operator for this types.

source
_mul(DM::DiracMatrix, BS::BiSpinor) -> BiSpinor

Tensor product of an Dirac matrix with a standard bi-spinor resulting in another standard bi-spinor.

Multiplication operator

This also overloads the * operator for this types.

source
_mul(
    aBS::AdjointBiSpinor,
    DM::DiracMatrix
) -> AdjointBiSpinor

Tensor product of an adjoint bi-spinor with a Dirac matrix resulting in another adjoint bi-spinor.

Multiplication operator

This also overloads the * operator for this types.

source
_mul(DM1::DiracMatrix, DM2::DiracMatrix) -> DiracMatrix

Tensor product two Dirac matrices resulting in another Dirac matrix.

Multiplication operator

This also overloads the * operator for this types.

source
_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.

source