Skip to content

Class TempLat::SU2Commutator

template <typename R, typename T>

ClassList > TempLat > SU2Commutator

A class which computes the commutator of two SU(2) matrices. More...

  • #include <su2commutator.h>

Inherits the following classes: TempLat::SU2BinaryOperator

Public Types

Type Name
typedef typename SU2GetGetReturnType< R >::type SV

Public Types inherited from TempLat::SU2BinaryOperator

See TempLat::SU2BinaryOperator

Type Name
typedef SU2Getter Getter

Public Static Attributes inherited from TempLat::SU2BinaryOperator

See TempLat::SU2BinaryOperator

Type Name
constexpr size_t size = 4

Public Functions

Type Name
SU2Commutator (const R & pR, const T & pT)
auto SU2Get (Tag< 0 > t) const
auto SU2Get (Tag< 1 > t) const
auto SU2Get (Tag< 2 > t) const
auto SU2Get (Tag< 3 > t) const
DEVICE_INLINE_FUNCTION auto eval (const IDX &... idx) const
virtual std::string operatorString () override const
Override this method in your derived class, to have an easy implementation of your toString method.

Public Functions inherited from TempLat::SU2BinaryOperator

See TempLat::SU2BinaryOperator

Type Name
SU2BinaryOperator (const R & pR, const T & pT)
device::Idx confirmGhostsUpToDate () const
void confirmSpace (const LayoutStruct< NDim > & newLayout, const SpaceStateType & spaceType) const
void doWeNeedGhosts () const
Space/ghost confirmation by walking this SU(2) expression's own (linear) structure - forwarded to both operands, mirroring the generic BinaryOperator . This lets an SU(2) assignment confirm space/ghosts on the whole expression instead of building the exponential per-component SU2Get expansion just for confirmation (see_su2liealgebrafield.h /su2field.h _operator=).
auto getDx () const
const R & getFirst () const
Access the two operands. Used by the algebraic simplification rules (e.g. the dagger anti-homomorphism (A.B)^dagger = B^dagger.A^dagger, see su2dagger.h ).
auto getKIR () const
const T & getSecond () const
auto getToolBox () const
virtual std::string operatorString () const
Override this method in your derived class, to have an easy implementation of your toString method.
void postGet ()
void preGet ()
std::string toString () const
If your descending class implements operatorString() and your operator is of the type "a OP b" (where OP is * or whatever), this toString method does all the work for you.

Public Static Functions inherited from TempLat::SU2BinaryOperator

See TempLat::SU2BinaryOperator

Type Name
consteval size_t getNDim ()

Protected Attributes inherited from TempLat::SU2BinaryOperator

See TempLat::SU2BinaryOperator

Type Name
R mR
T mT

Detailed Description

Unit test: ctest -R test-su2commutator

Public Types Documentation

typedef SV

using TempLat::SU2Commutator< R, T >::SV =  typename SU2GetGetReturnType<R>::type;

Public Functions Documentation

function SU2Commutator

inline TempLat::SU2Commutator::SU2Commutator (
    const R & pR,
    const T & pT
) 

function SU2Get [1/4]

inline auto TempLat::SU2Commutator::SU2Get (
    Tag < 0 > t
) const

function SU2Get [2/4]

inline auto TempLat::SU2Commutator::SU2Get (
    Tag < 1 > t
) const

function SU2Get [3/4]

inline auto TempLat::SU2Commutator::SU2Get (
    Tag < 2 > t
) const

function SU2Get [4/4]

inline auto TempLat::SU2Commutator::SU2Get (
    Tag < 3 > t
) const

function eval

template<typename... IDX>
inline DEVICE_INLINE_FUNCTION auto TempLat::SU2Commutator::eval (
    const IDX &... idx
) const

function operatorString

Override this method in your derived class, to have an easy implementation of your toString method.

inline virtual std::string TempLat::SU2Commutator::operatorString () override const

Implements TempLat::SU2BinaryOperator::operatorString



The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/algebra/su2algebra/su2commutator.h