QDP++
QDP main operations

Classes

class  QDP::QDPType< T, C >
 QDPType - major type class/container for all QDP objects. More...

Functions

template<int N, int m, class T2, class C2>
MakeReturn< BinaryNode< OpGammaConstMultiply, typenameCreateLeaf< GammaConst< N, m > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaConst< N, m >, C2, OpGammaConstMultiply >::Type_t >::Expression_t QDP::operator* (const GammaConst< N, m > &l, const QDPType< T2, C2 > &r)
 GammaConst * QDPType.
template<class T1, class C1, int N, int m>
MakeReturn< BinaryNode< OpMultiplyGammaConst, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaConst< N, m > >::Leaf_t >, typenameBinaryReturn< C1, GammaConst< N, m >, OpMultiplyGammaConst >::Type_t >::Expression_t QDP::operator* (const QDPType< T1, C1 > &l, const GammaConst< N, m > &r)
 QDPType * GammaConst.
template<int N, class T2, class C2>
MakeReturn< BinaryNode< OpGammaTypeMultiply, typenameCreateLeaf< GammaType< N > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaType< N >, C2, OpGammaTypeMultiply >::Type_t >::Expression_t QDP::operator* (const GammaType< N > &l, const QDPType< T2, C2 > &r)
 GammaType * QDPType.
template<class T1, class C1, int N>
MakeReturn< BinaryNode< OpMultiplyGammaType, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaType< N > >::Leaf_t >, typenameBinaryReturn< C1, GammaType< N >, OpMultiplyGammaType >::Type_t >::Expression_t QDP::operator* (const QDPType< T1, C1 > &l, const GammaType< N > &r)
 QDPType * GammaType.
template<int N, int m, class T2, class C2>
MakeReturn< BinaryNode< OpGammaConstDPMultiply, typenameCreateLeaf< GammaConstDP< N, m > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaConstDP< N, m >, C2, OpGammaConstDPMultiply >::Type_t >::Expression_t QDP::operator* (const GammaConstDP< N, m > &l, const QDPType< T2, C2 > &r)
 GammaConstDP * QDPType.
template<class T1, class C1, int N, int m>
MakeReturn< BinaryNode< OpMultiplyGammaConstDP, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaConstDP< N, m > >::Leaf_t >, typenameBinaryReturn< C1, GammaConstDP< N, m >, OpMultiplyGammaConstDP >::Type_t >::Expression_t QDP::operator* (const QDPType< T1, C1 > &l, const GammaConstDP< N, m > &r)
 QDPType * GammaConstDP.
template<int N, class T2, class C2>
MakeReturn< BinaryNode< OpGammaTypeDPMultiply, typenameCreateLeaf< GammaTypeDP< N > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaTypeDP< N >, C2, OpGammaTypeDPMultiply >::Type_t >::Expression_t QDP::operator* (const GammaTypeDP< N > &l, const QDPType< T2, C2 > &r)
 GammaTypeDP * QDPType.
template<class T1, class C1, int N>
MakeReturn< BinaryNode< OpMultiplyGammaTypeDP, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaTypeDP< N > >::Leaf_t >, typenameBinaryReturn< C1, GammaTypeDP< N >, OpMultiplyGammaTypeDP >::Type_t >::Expression_t QDP::operator* (const QDPType< T1, C1 > &l, const GammaTypeDP< N > &r)
 QDPType * GammaTypeDP.
template<class T1, class C1>
MakeReturn< UnaryNode< FnAdjoint, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnAdjoint >::Type_t >::Expression_t adj (const QDPType< T1, C1 > &l)
 Hermitian adjoint.
template<class T1, class C1>
MakeReturn< UnaryNode< FnConjugate, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnConjugate >::Type_t >::Expression_t conj (const QDPType< T1, C1 > &l)
 Complex conjugate.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTranspose, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTranspose >::Type_t >::Expression_t transpose (const QDPType< T1, C1 > &l)
 Transpose.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTransposeColor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeColor >::Type_t >::Expression_t transposeColor (const QDPType< T1, C1 > &l)
 Transpose in Color Space Only.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTransposeSpin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeSpin >::Type_t >::Expression_t transposeSpin (const QDPType< T1, C1 > &l)
 Transpose in Spin Space Only.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTrace >::Type_t >::Expression_t trace (const QDPType< T1, C1 > &l)
 Trace on all fiber indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnRealTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnRealTrace >::Type_t >::Expression_t realTrace (const QDPType< T1, C1 > &l)
 Real part of the trace on all fiber indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnImagTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImagTrace >::Type_t >::Expression_t imagTrace (const QDPType< T1, C1 > &l)
 Imag part of the trace on all fiber indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTraceColor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceColor >::Type_t >::Expression_t traceColor (const QDPType< T1, C1 > &l)
 Trace on only color indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTraceSpin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceSpin >::Type_t >::Expression_t traceSpin (const QDPType< T1, C1 > &l)
 Trace on only spin indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real (const QDPType< T1, C1 > &l)
 Real part.
template<class T1, class C1>
MakeReturn< UnaryNode< FnImag, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImag >::Type_t >::Expression_t imag (const QDPType< T1, C1 > &l)
 Imag part.
template<class T1, class C1>
MakeReturn< UnaryNode< FnLocalNorm2, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLocalNorm2 >::Type_t >::Expression_t localNorm2 (const QDPType< T1, C1 > &l)
 InnerProduct on only fiber indices.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTimesI, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesI >::Type_t >::Expression_t timesI (const QDPType< T1, C1 > &l)
 Multiply by imaginary i.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTimesMinusI, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesMinusI >::Type_t >::Expression_t timesMinusI (const QDPType< T1, C1 > &l)
 Multiply by minus imaginary i.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSeedToFloat, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSeedToFloat >::Type_t >::Expression_t seedToFloat (const QDPType< T1, C1 > &l)
 Convert a seed (big int) to a float.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir0Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Plus >::Type_t >::Expression_t spinProjectDir0Plus (const QDPType< T1, C1 > &l)
 Spin projection in direction 0.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir1Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Plus >::Type_t >::Expression_t spinProjectDir1Plus (const QDPType< T1, C1 > &l)
 Spin projection in direction 1.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir2Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Plus >::Type_t >::Expression_t spinProjectDir2Plus (const QDPType< T1, C1 > &l)
 Spin projection in direction 2.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir3Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Plus >::Type_t >::Expression_t spinProjectDir3Plus (const QDPType< T1, C1 > &l)
 Spin projection in direction 3.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir0Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Minus >::Type_t >::Expression_t spinProjectDir0Minus (const QDPType< T1, C1 > &l)
 Spin projection in direction 0.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir1Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Minus >::Type_t >::Expression_t spinProjectDir1Minus (const QDPType< T1, C1 > &l)
 Spin projection in direction 1.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir2Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Minus >::Type_t >::Expression_t spinProjectDir2Minus (const QDPType< T1, C1 > &l)
 Spin projection in direction 2.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir3Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Minus >::Type_t >::Expression_t spinProjectDir3Minus (const QDPType< T1, C1 > &l)
 Spin projection in direction 3.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir0Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Plus >::Type_t >::Expression_t spinReconstructDir0Plus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 3.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir1Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Plus >::Type_t >::Expression_t spinReconstructDir1Plus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 1.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir2Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Plus >::Type_t >::Expression_t spinReconstructDir2Plus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 2.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir3Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Plus >::Type_t >::Expression_t spinReconstructDir3Plus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 3.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir0Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Minus >::Type_t >::Expression_t spinReconstructDir0Minus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 0.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir1Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Minus >::Type_t >::Expression_t spinReconstructDir1Minus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 1.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir2Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Minus >::Type_t >::Expression_t spinReconstructDir2Minus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 2.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir3Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Minus >::Type_t >::Expression_t spinReconstructDir3Minus (const QDPType< T1, C1 > &l)
 Spin reconstruct in direction 3.
template<class T1, class C1>
MakeReturn< UnaryNode< FnChiralProjectPlus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectPlus >::Type_t >::Expression_t chiralProjectPlus (const QDPType< T1, C1 > &l)
 Apply P_+ = 0.5*(1+gamma_5).
template<class T1, class C1>
MakeReturn< UnaryNode< FnChiralProjectMinus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectMinus >::Type_t >::Expression_t chiralProjectMinus (const QDPType< T1, C1 > &l)
 Apply P_ = -0.5*(1-gamma_5).
template<class T1, class C1>
MakeReturn< UnaryNode< FnArcCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcCos >::Type_t >::Expression_t acos (const QDPType< T1, C1 > &l)
 Arc cos.
template<class T1, class C1>
MakeReturn< UnaryNode< FnArcSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcSin >::Type_t >::Expression_t asin (const QDPType< T1, C1 > &l)
 Arc sin.
template<class T1, class C1>
MakeReturn< UnaryNode< FnArcTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcTan >::Type_t >::Expression_t atan (const QDPType< T1, C1 > &l)
 Arc tangent.
template<class T1, class C1>
MakeReturn< UnaryNode< FnCeil, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCeil >::Type_t >::Expression_t ceil (const QDPType< T1, C1 > &l)
 Floating point ceiling of source.
template<class T1, class C1>
MakeReturn< UnaryNode< FnCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCos >::Type_t >::Expression_t cos (const QDPType< T1, C1 > &l)
 Cosine.
template<class T1, class C1>
MakeReturn< UnaryNode< FnHypCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypCos >::Type_t >::Expression_t cosh (const QDPType< T1, C1 > &l)
 Hyperbolic cosine.
template<class T1, class C1>
MakeReturn< UnaryNode< FnExp, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnExp >::Type_t >::Expression_t exp (const QDPType< T1, C1 > &l)
 Exponential.
template<class T1, class C1>
MakeReturn< UnaryNode< FnFabs, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFabs >::Type_t >::Expression_t fabs (const QDPType< T1, C1 > &l)
 Floating point absolute value.
template<class T1, class C1>
MakeReturn< UnaryNode< FnFloor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFloor >::Type_t >::Expression_t floor (const QDPType< T1, C1 > &l)
 floating point floor of source
template<class T1, class C1>
MakeReturn< UnaryNode< FnLog, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog >::Type_t >::Expression_t log (const QDPType< T1, C1 > &l)
 Log.
template<class T1, class C1>
MakeReturn< UnaryNode< FnLog10, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog10 >::Type_t >::Expression_t log10 (const QDPType< T1, C1 > &l)
 Log base 10.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSin >::Type_t >::Expression_t sin (const QDPType< T1, C1 > &l)
 Sine.
template<class T1, class C1>
MakeReturn< UnaryNode< FnHypSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypSin >::Type_t >::Expression_t sinh (const QDPType< T1, C1 > &l)
 Hyperbolic sine.
template<class T1, class C1>
MakeReturn< UnaryNode< FnSqrt, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSqrt >::Type_t >::Expression_t sqrt (const QDPType< T1, C1 > &l)
 Square root.
template<class T1, class C1>
MakeReturn< UnaryNode< FnTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTan >::Type_t >::Expression_t tan (const QDPType< T1, C1 > &l)
 Tangent.
template<class T1, class C1>
MakeReturn< UnaryNode< FnHypTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypTan >::Type_t >::Expression_t tanh (const QDPType< T1, C1 > &l)
 Hyperbolic tangent.
template<class T1, class C1>
MakeReturn< UnaryNode< OpUnaryMinus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpUnaryMinus >::Type_t >::Expression_t operator- (const QDPType< T1, C1 > &l)
 Unary minus.
template<class T1, class C1>
MakeReturn< UnaryNode< OpUnaryPlus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpUnaryPlus >::Type_t >::Expression_t operator+ (const QDPType< T1, C1 > &l)
 Unary plus.
template<class T1, class C1>
MakeReturn< UnaryNode< OpBitwiseNot, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpBitwiseNot >::Type_t >::Expression_t operator~ (const QDPType< T1, C1 > &l)
 Bitwise not.
template<class T1, class C1>
MakeReturn< UnaryNode< OpIdentity, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpIdentity >::Type_t >::Expression_t PETE_identity (const QDPType< T1, C1 > &l)
 Identity operator.
template<class T1, class C1>
MakeReturn< UnaryNode< OpNot, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpNot >::Type_t >::Expression_t operator! (const QDPType< T1, C1 > &l)
 Boolean not operator.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnCmplx, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnCmplx >::Type_t >::Expression_t cmplx (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Build a complex from two reals.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnOuterProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnOuterProduct >::Type_t >::Expression_t outerProduct (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Construct the outer product of two vectors.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnColorVectorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorVectorContract >::Type_t >::Expression_t colorVectorContract (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Sum over colorvector indices.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnColorCrossProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorCrossProduct >::Type_t >::Expression_t colorCrossProduct (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Cross product of two Nc=3 color vectors.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProduct >::Type_t >::Expression_t localInnerProduct (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 InnerProduct on only fiber indices.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalInnerProductReal, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProductReal >::Type_t >::Expression_t localInnerProductReal (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Real part of innerproduct on only fiber indices.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalColorInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalColorInnerProduct >::Type_t >::Expression_t localColorInnerProduct (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 InnerProduct on only color fiber indices.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract13, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract13 >::Type_t >::Expression_t quarkContract13 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract14, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract14 >::Type_t >::Expression_t quarkContract14 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract23, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract23 >::Type_t >::Expression_t quarkContract23 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract24, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract24 >::Type_t >::Expression_t quarkContract24 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract12, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract12 >::Type_t >::Expression_t quarkContract12 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract34, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract34 >::Type_t >::Expression_t quarkContract34 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Contraction for quark propagators.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpAdd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdd >::Type_t >::Expression_t operator+ (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Binary addition.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpSubtract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpSubtract >::Type_t >::Expression_t operator- (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Binary subtract.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpMultiply, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMultiply >::Type_t >::Expression_t operator* (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Binary multiply.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpDivide, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpDivide >::Type_t >::Expression_t operator/ (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Binary division.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpMod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMod >::Type_t >::Expression_t operator% (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Binary mod.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseAnd >::Type_t >::Expression_t operator& (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Bitwise and.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseOr >::Type_t >::Expression_t operator| (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Bitwise or.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseXor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseXor >::Type_t >::Expression_t operator^ (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Bitwise exclusive or.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLdexp, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLdexp >::Type_t >::Expression_t ldexp (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Load exponent.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnPow, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnPow >::Type_t >::Expression_t pow (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 a to the power b
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnFmod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnFmod >::Type_t >::Expression_t fmod (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Floating point remainder.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnArcTan2, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnArcTan2 >::Type_t >::Expression_t atan2 (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Arctan of a/b.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLT >::Type_t >::Expression_t operator< (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Less than.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLE >::Type_t >::Expression_t operator<= (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Less than equal.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpGT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGT >::Type_t >::Expression_t operator> (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Great than.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpGE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGE >::Type_t >::Expression_t operator>= (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Great than equal.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpEQ, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpEQ >::Type_t >::Expression_t operator== (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Equality.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpNE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpNE >::Type_t >::Expression_t operator!= (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Not equal.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAnd >::Type_t >::Expression_t operator&& (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Logical and.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpOr >::Type_t >::Expression_t operator|| (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Logical or.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLeftShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLeftShift >::Type_t >::Expression_t operator<< (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Left shift.
template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpRightShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpRightShift >::Type_t >::Expression_t operator>> (const QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r)
 Right shift.
template<class T1, class C1, class T2, class C2, class T3, class C3>
MakeReturn< TrinaryNode< FnColorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< QDPType< T3, C3 > >::Leaf_t >, typenameTrinaryReturn< C1, C2, C3, FnColorContract >::Type_t >::Expression_t colorContract (const QDPType< T1, C1 > &a, const QDPType< T2, C2 > &b, const QDPType< T3, C3 > &c)
 Contraction for color objects.
template<class T1, class C1, class T2, class C2, class T3, class C3>
MakeReturn< TrinaryNode< FnWhere, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< QDPType< T3, C3 > >::Leaf_t >, typenameTrinaryReturn< C1, C2, C3, FnWhere >::Type_t >::Expression_t where (const QDPType< T1, C1 > &a, const QDPType< T2, C2 > &b, const QDPType< T3, C3 > &c)
 The C ? operator.
template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekColorMatrix, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekColorMatrix >::Type_t >::Expression_t peekColor (const QDPType< T1, C1 > &l, int row, int col)
 Extract color matrix components.
template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekColorVector, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekColorVector >::Type_t >::Expression_t peekColor (const QDPType< T1, C1 > &l, int row)
 Extract color vector components.
template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekSpinMatrix, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekSpinMatrix >::Type_t >::Expression_t peekSpin (const QDPType< T1, C1 > &l, int row, int col)
 Extract spin matrix components.
template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekSpinVector, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekSpinVector >::Type_t >::Expression_t peekSpin (const QDPType< T1, C1 > &l, int row)
 Extract spin vector components.
template<class T1, class C1, class T2, class C2>
C1 & pokeColor (QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r, int row, int col)
 Insert color matrix components.
template<class T1, class C1, class T2, class C2>
C1 & pokeColor (QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r, int row)
 Insert color vector components.
template<class T1, class C1, class T2, class C2>
C1 & pokeSpin (QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r, int row, int col)
 Insert spin matrix components.
template<class T1, class C1, class T2, class C2>
C1 & pokeSpin (QDPType< T1, C1 > &l, const QDPType< T2, C2 > &r, int row)
 Insert spin vector components.
template<class T1>
OScalar< T1 > peekSite (const OScalar< T1 > &l, const multi1d< int > &coord)
 Extract site element.
template<class RHS, class T1>
OScalar< T1 > peekSite (const QDPExpr< RHS, OScalar< T1 > > &l, const multi1d< int > &coord)
 Extract site element.
template<class T1>
OScalar< T1 > peekSite (const OLattice< T1 > &l, const multi1d< int > &coord)
 Extract site element.
template<class RHS, class T1>
OScalar< T1 > peekSite (const QDPExpr< RHS, OLattice< T1 > > &l, const multi1d< int > &coord)
 Extract site element.
template<class T1>
OLattice< T1 > & pokeSite (OLattice< T1 > &l, const OScalar< T1 > &r, const multi1d< int > &coord)
 Insert site element.
template<class T>
void QDP_extract (multi1d< OScalar< T > > &dest, const OLattice< T > &src, const Subset &s)
 Copy data values from field src to array dest.
template<class T>
void QDP_insert (OLattice< T > &dest, const multi1d< OScalar< T > > &src, const Subset &s)
 Inserts data values from site array src.
template<class T1, class T2>
OLattice< T1 > & pokeSite (OLattice< T1 > &l, const OScalar< T2 > &r, const multi1d< int > &coord)
 Insert site element.
template<class T>
void QDP_extract (multi1d< OScalar< typename UnaryReturn< T, FnGetSite >::Type_t > > &dest, const OLattice< T > &src, const Subset &s)
 Copy data values from field src to array dest.
template<class T>
void QDP_insert (OLattice< T > &dest, const multi1d< OScalar< typename UnaryReturn< T, FnGetSite >::Type_t > > &src, const Subset &s)
 Inserts data values from site array src.

Detailed Description

Lattice site-wide operations that can be applied to QDPTypes. All operations can be used in expressions

Function Documentation

◆ acos()

template<class T1, class C1>
MakeReturn< UnaryNode< FnArcCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcCos >::Type_t >::Expression_t acos ( const QDPType< T1, C1 > & l)
related

Arc cos.

Definition at line 1173 of file qdp.h.

◆ adj()

template<class T1, class C1>
MakeReturn< UnaryNode< FnAdjoint, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnAdjoint >::Type_t >::Expression_t adj ( const QDPType< T1, C1 > & l)
related

Hermitian adjoint.

Definition at line 562 of file qdp.h.

◆ asin()

template<class T1, class C1>
MakeReturn< UnaryNode< FnArcSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcSin >::Type_t >::Expression_t asin ( const QDPType< T1, C1 > & l)
related

Arc sin.

Definition at line 1189 of file qdp.h.

◆ atan()

template<class T1, class C1>
MakeReturn< UnaryNode< FnArcTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnArcTan >::Type_t >::Expression_t atan ( const QDPType< T1, C1 > & l)
related

Arc tangent.

Definition at line 1205 of file qdp.h.

◆ atan2()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnArcTan2, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnArcTan2 >::Type_t >::Expression_t atan2 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Arctan of a/b.

Produces correct angles near +-pi/2 (or a near 0). Based on the C-math lib function.

Returns
atan2(a,b)

Definition at line 2121 of file qdp.h.

◆ ceil()

template<class T1, class C1>
MakeReturn< UnaryNode< FnCeil, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCeil >::Type_t >::Expression_t ceil ( const QDPType< T1, C1 > & l)
related

Floating point ceiling of source.

Definition at line 1221 of file qdp.h.

◆ chiralProjectMinus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnChiralProjectMinus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectMinus >::Type_t >::Expression_t chiralProjectMinus ( const QDPType< T1, C1 > & l)
related

Apply P_ = -0.5*(1-gamma_5).

Returns full-spin vector

Parameters
lfull-spin vector
Returns
0.5*(1 - gamma[5])*l

Definition at line 1157 of file qdp.h.

◆ chiralProjectPlus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnChiralProjectPlus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnChiralProjectPlus >::Type_t >::Expression_t chiralProjectPlus ( const QDPType< T1, C1 > & l)
related

Apply P_+ = 0.5*(1+gamma_5).

Returns full-spin vector

Parameters
lfull-spin vector
Returns
0.5*(1 + gamma[5])*l

Definition at line 1138 of file qdp.h.

◆ cmplx()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnCmplx, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnCmplx >::Type_t >::Expression_t cmplx ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Build a complex from two reals.

Returns a complex value

Parameters
lreal (a reality scalar)
rreal (a reality scalar)
Returns
(l + i*r)

Definition at line 1524 of file qdp.h.

◆ colorContract()

template<class T1, class C1, class T2, class C2, class T3, class C3>
MakeReturn< TrinaryNode< FnColorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< QDPType< T3, C3 > >::Leaf_t >, typenameTrinaryReturn< C1, C2, C3, FnColorContract >::Type_t >::Expression_t colorContract ( const QDPType< T1, C1 > & a,
const QDPType< T2, C2 > & b,
const QDPType< T3, C3 > & c )
related

Contraction for color objects.

epsilon contract 3 color primitives and return a primitive scalar. Eventually, it could handle larger Nc.

The sources and targets must all be of the same primitive type (a matrix or vector) but not necessarily of the same lattice type. In explicit index form, the operation colorContract does

$target =
   \epsilon^{i j k}\epsilon^{i' j' k'}* source1^{i i'}* source2^{j j'}*source3^{k k'}$ or $target =
   \epsilon^{i j k}* source1^{i}* source2^{j}*source3^{k}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 4799 of file qdp.h.

◆ colorCrossProduct()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnColorCrossProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorCrossProduct >::Type_t >::Expression_t colorCrossProduct ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Cross product of two Nc=3 color vectors.

Antisymmetric combination of two Nc=3 color vectors

Parameters
lvector
rvector
Returns
$target^{i} = \sum_{jk}\epsilon^{i j k}*source1^{j}*source2^{k}$

Definition at line 1596 of file qdp.h.

◆ colorVectorContract()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnColorVectorContract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnColorVectorContract >::Type_t >::Expression_t colorVectorContract ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Sum over colorvector indices.

Contract two colorvectors with no conjugation

Parameters
lvector
rvector
Returns
$\sum_i l_i * r_i$

Definition at line 1572 of file qdp.h.

◆ conj()

template<class T1, class C1>
MakeReturn< UnaryNode< FnConjugate, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnConjugate >::Type_t >::Expression_t conj ( const QDPType< T1, C1 > & l)
related

Complex conjugate.

Definition at line 578 of file qdp.h.

◆ cos()

template<class T1, class C1>
MakeReturn< UnaryNode< FnCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnCos >::Type_t >::Expression_t cos ( const QDPType< T1, C1 > & l)
related

Cosine.

Definition at line 1237 of file qdp.h.

◆ cosh()

template<class T1, class C1>
MakeReturn< UnaryNode< FnHypCos, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypCos >::Type_t >::Expression_t cosh ( const QDPType< T1, C1 > & l)
related

Hyperbolic cosine.

Definition at line 1253 of file qdp.h.

◆ exp()

template<class T1, class C1>
MakeReturn< UnaryNode< FnExp, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnExp >::Type_t >::Expression_t exp ( const QDPType< T1, C1 > & l)
related

Exponential.

Definition at line 1269 of file qdp.h.

◆ fabs()

template<class T1, class C1>
MakeReturn< UnaryNode< FnFabs, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFabs >::Type_t >::Expression_t fabs ( const QDPType< T1, C1 > & l)
related

Floating point absolute value.

Definition at line 1285 of file qdp.h.

◆ floor()

template<class T1, class C1>
MakeReturn< UnaryNode< FnFloor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnFloor >::Type_t >::Expression_t floor ( const QDPType< T1, C1 > & l)
related

floating point floor of source

Definition at line 1301 of file qdp.h.

◆ fmod()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnFmod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnFmod >::Type_t >::Expression_t fmod ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Floating point remainder.

Computes a modulo b. Based on the C-math lib function.

Returns
fmod(a,b)

Definition at line 2099 of file qdp.h.

◆ imag()

template<class T1, class C1>
MakeReturn< UnaryNode< FnImag, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImag >::Type_t >::Expression_t imag ( const QDPType< T1, C1 > & l)
related

Imag part.

Definition at line 742 of file qdp.h.

◆ imagTrace()

template<class T1, class C1>
MakeReturn< UnaryNode< FnImagTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnImagTrace >::Type_t >::Expression_t imagTrace ( const QDPType< T1, C1 > & l)
related

Imag part of the trace on all fiber indices.

See also
imag()

Definition at line 676 of file qdp.h.

◆ ldexp()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLdexp, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLdexp >::Type_t >::Expression_t ldexp ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Load exponent.

Calculates the value a times 2 to the power b. Based on the C-math lib function.

Returns
ldexp(a,b)

Definition at line 2056 of file qdp.h.

◆ localColorInnerProduct()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalColorInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalColorInnerProduct >::Type_t >::Expression_t localColorInnerProduct ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

InnerProduct on only color fiber indices.

L2 norm only color fiber indices

See also
adj(), trace()
Returns
(traceColor(adj(l)*r)

Definition at line 1662 of file qdp.h.

◆ localInnerProduct()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalInnerProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProduct >::Type_t >::Expression_t localInnerProduct ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

InnerProduct on only fiber indices.

L2 norm only fiber indices

See also
adj(), trace()
Returns
(trace(adj(l)*r)

Definition at line 1618 of file qdp.h.

◆ localInnerProductReal()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnLocalInnerProductReal, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnLocalInnerProductReal >::Type_t >::Expression_t localInnerProductReal ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Real part of innerproduct on only fiber indices.

L2 norm only fiber indices

See also
adj(), trace(), real()
Returns
(real(trace(adj(l)*r))

Definition at line 1640 of file qdp.h.

◆ localNorm2()

template<class T1, class C1>
MakeReturn< UnaryNode< FnLocalNorm2, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLocalNorm2 >::Type_t >::Expression_t localNorm2 ( const QDPType< T1, C1 > & l)
related

InnerProduct on only fiber indices.

L2 norm only fiber indices

See also
adj(), trace()
Returns
(trace(adj(l)*l)

Definition at line 761 of file qdp.h.

◆ log()

template<class T1, class C1>
MakeReturn< UnaryNode< FnLog, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog >::Type_t >::Expression_t log ( const QDPType< T1, C1 > & l)
related

Log.

Definition at line 1317 of file qdp.h.

◆ log10()

template<class T1, class C1>
MakeReturn< UnaryNode< FnLog10, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnLog10 >::Type_t >::Expression_t log10 ( const QDPType< T1, C1 > & l)
related

Log base 10.

Definition at line 1333 of file qdp.h.

◆ operator!()

template<class T1, class C1>
MakeReturn< UnaryNode< OpNot, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpNot >::Type_t >::Expression_t operator! ( const QDPType< T1, C1 > & l)
related

Boolean not operator.

Returns
(!a)

Definition at line 1503 of file qdp.h.

◆ operator!=()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpNE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpNE >::Type_t >::Expression_t operator!= ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Not equal.

Boolean result

Returns
(a != b)

Definition at line 2247 of file qdp.h.

◆ operator%()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpMod, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMod >::Type_t >::Expression_t operator% ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Binary mod.

Also call mod(a,b)

Returns
(a % b)

Definition at line 1971 of file qdp.h.

◆ operator&()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseAnd >::Type_t >::Expression_t operator& ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Bitwise and.

Returns
(a & b)

Definition at line 1992 of file qdp.h.

◆ operator&&()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpAnd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAnd >::Type_t >::Expression_t operator&& ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Logical and.

Boolean result

Returns
(a && b)

Definition at line 2268 of file qdp.h.

◆ operator*() [1/9]

template<int N, int m, class T2, class C2>
MakeReturn< BinaryNode< OpGammaConstMultiply, typenameCreateLeaf< GammaConst< N, m > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaConst< N, m >, C2, OpGammaConstMultiply >::Type_t >::Expression_t QDP::operator* ( const GammaConst< N, m > & l,
const QDPType< T2, C2 > & r )
inline

GammaConst * QDPType.

Definition at line 849 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [2/9]

template<int N, int m, class T2, class C2>
MakeReturn< BinaryNode< OpGammaConstDPMultiply, typenameCreateLeaf< GammaConstDP< N, m > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaConstDP< N, m >, C2, OpGammaConstDPMultiply >::Type_t >::Expression_t QDP::operator* ( const GammaConstDP< N, m > & l,
const QDPType< T2, C2 > & r )
inline

GammaConstDP * QDPType.

Definition at line 995 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [3/9]

template<int N, class T2, class C2>
MakeReturn< BinaryNode< OpGammaTypeMultiply, typenameCreateLeaf< GammaType< N > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaType< N >, C2, OpGammaTypeMultiply >::Type_t >::Expression_t QDP::operator* ( const GammaType< N > & l,
const QDPType< T2, C2 > & r )
inline

GammaType * QDPType.

Definition at line 920 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [4/9]

template<int N, class T2, class C2>
MakeReturn< BinaryNode< OpGammaTypeDPMultiply, typenameCreateLeaf< GammaTypeDP< N > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< GammaTypeDP< N >, C2, OpGammaTypeDPMultiply >::Type_t >::Expression_t QDP::operator* ( const GammaTypeDP< N > & l,
const QDPType< T2, C2 > & r )
inline

GammaTypeDP * QDPType.

Definition at line 1066 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [5/9]

template<class T1, class C1, int N, int m>
MakeReturn< BinaryNode< OpMultiplyGammaConst, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaConst< N, m > >::Leaf_t >, typenameBinaryReturn< C1, GammaConst< N, m >, OpMultiplyGammaConst >::Type_t >::Expression_t QDP::operator* ( const QDPType< T1, C1 > & l,
const GammaConst< N, m > & r )
inline

QDPType * GammaConst.

Definition at line 884 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [6/9]

template<class T1, class C1, int N, int m>
MakeReturn< BinaryNode< OpMultiplyGammaConstDP, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaConstDP< N, m > >::Leaf_t >, typenameBinaryReturn< C1, GammaConstDP< N, m >, OpMultiplyGammaConstDP >::Type_t >::Expression_t QDP::operator* ( const QDPType< T1, C1 > & l,
const GammaConstDP< N, m > & r )
inline

QDPType * GammaConstDP.

Definition at line 1030 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [7/9]

template<class T1, class C1, int N>
MakeReturn< BinaryNode< OpMultiplyGammaType, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaType< N > >::Leaf_t >, typenameBinaryReturn< C1, GammaType< N >, OpMultiplyGammaType >::Type_t >::Expression_t QDP::operator* ( const QDPType< T1, C1 > & l,
const GammaType< N > & r )
inline

QDPType * GammaType.

Definition at line 955 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [8/9]

template<class T1, class C1, int N>
MakeReturn< BinaryNode< OpMultiplyGammaTypeDP, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< GammaTypeDP< N > >::Leaf_t >, typenameBinaryReturn< C1, GammaTypeDP< N >, OpMultiplyGammaTypeDP >::Type_t >::Expression_t QDP::operator* ( const QDPType< T1, C1 > & l,
const GammaTypeDP< N > & r )
inline

QDPType * GammaTypeDP.

Definition at line 1101 of file qdp_newops.h.

References QDP::MakeReturn< T, C >::make().

◆ operator*() [9/9]

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpMultiply, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpMultiply >::Type_t >::Expression_t operator* ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Binary multiply.

Returns
(a * b)

Definition at line 1929 of file qdp.h.

◆ operator+() [1/2]

template<class T1, class C1>
MakeReturn< UnaryNode< OpUnaryPlus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpUnaryPlus >::Type_t >::Expression_t operator+ ( const QDPType< T1, C1 > & l)
related

Unary plus.

Returns
+a

Definition at line 1449 of file qdp.h.

◆ operator+() [2/2]

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpAdd, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpAdd >::Type_t >::Expression_t operator+ ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Binary addition.

Returns
(a+b)

Definition at line 1887 of file qdp.h.

◆ operator-() [1/2]

template<class T1, class C1>
MakeReturn< UnaryNode< OpUnaryMinus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpUnaryMinus >::Type_t >::Expression_t operator- ( const QDPType< T1, C1 > & l)
related

Unary minus.

Returns
-a

Definition at line 1431 of file qdp.h.

◆ operator-() [2/2]

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpSubtract, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpSubtract >::Type_t >::Expression_t operator- ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Binary subtract.

Returns
(a-b)

Definition at line 1908 of file qdp.h.

◆ operator/()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpDivide, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpDivide >::Type_t >::Expression_t operator/ ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Binary division.

Returns
(a / b)

Definition at line 1950 of file qdp.h.

◆ operator<()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLT >::Type_t >::Expression_t operator< ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Less than.

Boolean result

Returns
(a < b)

Definition at line 2141 of file qdp.h.

◆ operator<<()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLeftShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLeftShift >::Type_t >::Expression_t operator<< ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Left shift.

Not cyclic

Returns
(a left shifted by b bits)

Definition at line 2310 of file qdp.h.

◆ operator<=()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpLE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpLE >::Type_t >::Expression_t operator<= ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Less than equal.

Boolean result

Returns
(a <= b)

Definition at line 2162 of file qdp.h.

◆ operator==()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpEQ, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpEQ >::Type_t >::Expression_t operator== ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Equality.

Boolean result

Returns
(a == b)

Definition at line 2226 of file qdp.h.

◆ operator>()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpGT, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGT >::Type_t >::Expression_t operator> ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Great than.

Boolean result

Returns
(a > b)

Definition at line 2184 of file qdp.h.

◆ operator>=()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpGE, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpGE >::Type_t >::Expression_t operator>= ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Great than equal.

Boolean result

Returns
(a >= b)

Definition at line 2205 of file qdp.h.

◆ operator>>()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpRightShift, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpRightShift >::Type_t >::Expression_t operator>> ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Right shift.

Not cyclic

Returns
(a right shifted by b bits)

Definition at line 2332 of file qdp.h.

◆ operator^()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseXor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseXor >::Type_t >::Expression_t operator^ ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Bitwise exclusive or.

Returns
(a ^ b)

Definition at line 2034 of file qdp.h.

◆ operator|()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpBitwiseOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpBitwiseOr >::Type_t >::Expression_t operator| ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Bitwise or.

Returns
(a | b)

Definition at line 2013 of file qdp.h.

◆ operator||()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< OpOr, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, OpOr >::Type_t >::Expression_t operator|| ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Logical or.

Boolean result

Returns
(a | b)

Definition at line 2290 of file qdp.h.

◆ operator~()

template<class T1, class C1>
MakeReturn< UnaryNode< OpBitwiseNot, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpBitwiseNot >::Type_t >::Expression_t operator~ ( const QDPType< T1, C1 > & l)
related

Bitwise not.

Returns
(~a)

Definition at line 1467 of file qdp.h.

◆ outerProduct()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnOuterProduct, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnOuterProduct >::Type_t >::Expression_t outerProduct ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Construct the outer product of two vectors.

Constructs the outer product of two vectors within the same vector space

Parameters
lvector
rvector
Returns
$(l_i * r_j^*)_{ij}$

Definition at line 1548 of file qdp.h.

◆ peekColor() [1/2]

template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekColorVector, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekColorVector >::Type_t >::Expression_t peekColor ( const QDPType< T1, C1 > & l,
int row )
related

Extract color vector components.

Definition at line 197 of file qdp_newops.h.

◆ peekColor() [2/2]

template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekColorMatrix, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekColorMatrix >::Type_t >::Expression_t peekColor ( const QDPType< T1, C1 > & l,
int row,
int col )
related

Extract color matrix components.

Definition at line 148 of file qdp_newops.h.

◆ peekSite() [1/4]

template<class T1>
OScalar< T1 > peekSite ( const OLattice< T1 > & l,
const multi1d< int > & coord )
related

Extract site element.

Parameters
lsource to examine
coordNd lattice coordinates to examine
Returns
single site object of the same primitive type

Definition at line 1753 of file qdp_parscalar_specific.h.

◆ peekSite() [2/4]

template<class T1>
OScalar< T1 > peekSite ( const OScalar< T1 > & l,
const multi1d< int > & coord )
related

Extract site element.

Parameters
lsource to examine
coordNd lattice coordinates to examine
Returns
single site object of the same primitive type

Definition at line 1720 of file qdp_parscalar_specific.h.

◆ peekSite() [3/4]

template<class RHS, class T1>
OScalar< T1 > peekSite ( const QDPExpr< RHS, OLattice< T1 > > & l,
const multi1d< int > & coord )
related

Extract site element.

Parameters
lsource to examine
coordNd lattice coordinates to examine
Returns
single site object of the same primitive type

Definition at line 1784 of file qdp_parscalar_specific.h.

◆ peekSite() [4/4]

template<class RHS, class T1>
OScalar< T1 > peekSite ( const QDPExpr< RHS, OScalar< T1 > > & l,
const multi1d< int > & coord )
related

Extract site element.

Parameters
lsource to examine
coordNd lattice coordinates to examine
Returns
single site object of the same primitive type

Definition at line 1734 of file qdp_parscalar_specific.h.

◆ peekSpin() [1/2]

template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekSpinVector, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekSpinVector >::Type_t >::Expression_t peekSpin ( const QDPType< T1, C1 > & l,
int row )
related

Extract spin vector components.

Definition at line 294 of file qdp_newops.h.

◆ peekSpin() [2/2]

template<class T1, class C1>
MakeReturn< UnaryNode< FnPeekSpinMatrix, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnPeekSpinMatrix >::Type_t >::Expression_t peekSpin ( const QDPType< T1, C1 > & l,
int row,
int col )
related

Extract spin matrix components.

Definition at line 245 of file qdp_newops.h.

◆ PETE_identity()

template<class T1, class C1>
MakeReturn< UnaryNode< OpIdentity, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, OpIdentity >::Type_t >::Expression_t PETE_identity ( const QDPType< T1, C1 > & l)
related

Identity operator.

Constructs expression form of a source

Returns
(a)

Definition at line 1485 of file qdp.h.

Referenced by QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::assign(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::assign(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator%=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator%=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator&=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator&=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator*=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator*=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator+=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator+=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator-=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator-=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator/=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator/=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator<<=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator<<=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator>>=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator>>=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator^=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator^=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator|=(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator|=(), and QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::operator|=().

◆ pokeColor() [1/2]

template<class T1, class C1, class T2, class C2>
C1 & pokeColor ( QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r,
int row )
related

Insert color vector components.

Parameters
ltarget to update
rsource
rowrow of color vector
Returns
updated target

Definition at line 425 of file qdp_newops.h.

◆ pokeColor() [2/2]

template<class T1, class C1, class T2, class C2>
C1 & pokeColor ( QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r,
int row,
int col )
related

Insert color matrix components.

Parameters
ltarget to update
rsource
rowrow of color matrix
colcolumn of color matrix
Returns
updated target

Definition at line 350 of file qdp_newops.h.

◆ pokeSite() [1/2]

template<class T1>
OLattice< T1 > & pokeSite ( OLattice< T1 > & l,
const OScalar< T1 > & r,
const multi1d< int > & coord )
related

Insert site element.

Parameters
ltarget to update
rsource to insert
coordNd lattice coordinates where to insert
Returns
object of the same primitive type but of promoted lattice type

Definition at line 1803 of file qdp_parscalar_specific.h.

◆ pokeSite() [2/2]

template<class T1, class T2>
OLattice< T1 > & pokeSite ( OLattice< T1 > & l,
const OScalar< T2 > & r,
const multi1d< int > & coord )
related

Insert site element.

Parameters
ltarget to update
rsource to insert
coordNd lattice coordinates where to insert
Returns
object of the same primitive type but of promoted lattice type

Definition at line 885 of file qdp_parscalarvec_specific.h.

◆ pokeSpin() [1/2]

template<class T1, class C1, class T2, class C2>
C1 & pokeSpin ( QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r,
int row )
related

Insert spin vector components.

Parameters
ltarget to update
rsource
rowrow of spin vector
Returns
updated target

Definition at line 576 of file qdp_newops.h.

◆ pokeSpin() [2/2]

template<class T1, class C1, class T2, class C2>
C1 & pokeSpin ( QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r,
int row,
int col )
related

Insert spin matrix components.

Parameters
ltarget to update
rsource
rowrow of spin matrix
colcolumn of spin matrix
Returns
updated target

Definition at line 500 of file qdp_newops.h.

◆ pow()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnPow, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnPow >::Type_t >::Expression_t pow ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

a to the power b

Based on the C-math lib function.

Returns
pow(a,b)

Definition at line 2077 of file qdp.h.

◆ QDP_extract() [1/2]

template<class T>
void QDP_extract ( multi1d< OScalar< T > > & dest,
const OLattice< T > & src,
const Subset & s )
related

Copy data values from field src to array dest.

Parameters
desttarget to update
srcQDP source to insert
ssubset

Definition at line 1821 of file qdp_parscalar_specific.h.

◆ QDP_extract() [2/2]

template<class T>
void QDP_extract ( multi1d< OScalar< typename UnaryReturn< T, FnGetSite >::Type_t > > & dest,
const OLattice< T > & src,
const Subset & s )
related

Copy data values from field src to array dest.

Parameters
desttarget to update
srcQDP source to insert
ssubset

Definition at line 907 of file qdp_parscalarvec_specific.h.

◆ QDP_insert() [1/2]

template<class T>
void QDP_insert ( OLattice< T > & dest,
const multi1d< OScalar< T > > & src,
const Subset & s )
related

Inserts data values from site array src.

Parameters
destQDP target to update
srcsource to insert
ssubset

Definition at line 1843 of file qdp_parscalar_specific.h.

◆ QDP_insert() [2/2]

template<class T>
void QDP_insert ( OLattice< T > & dest,
const multi1d< OScalar< typename UnaryReturn< T, FnGetSite >::Type_t > > & src,
const Subset & s )
related

Inserts data values from site array src.

Parameters
destQDP target to update
srcsource to insert
ssubset

Definition at line 931 of file qdp_parscalarvec_specific.h.

◆ quarkContract12()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract12, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract12 >::Type_t >::Expression_t quarkContract12 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract12 does

$target^{k' k}_{\alpha\beta} =
  \epsilon^{i j k}\epsilon^{i' j' k'}*source1^{i i'}_{\rho\rho}*source2^{j j'}_{\alpha\beta}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1832 of file qdp.h.

◆ quarkContract13()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract13, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract13 >::Type_t >::Expression_t quarkContract13 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract13 does

$target^{k' k}_{\alpha\beta} =
   \epsilon^{i j k}\epsilon^{i' j' k'}* source1^{i i'}_{\rho\alpha}* source2^{j j'}_{\rho\beta}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1696 of file qdp.h.

◆ quarkContract14()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract14, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract14 >::Type_t >::Expression_t quarkContract14 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract14 does

$target^{k' k}_{\alpha\beta} =
  \epsilon^{i j k}\epsilon^{i' j' k'}*source1^{i i'}_{\rho\alpha}*source2^{j j'}_{\beta\rho}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1730 of file qdp.h.

◆ quarkContract23()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract23, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract23 >::Type_t >::Expression_t quarkContract23 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract23 does

$target^{k' k}_{\alpha\beta} =
  \epsilon^{i j k}\epsilon^{i' j' k'}*source1^{i i'}_{\alpha\rho}*source2^{j j'}_{\rho\beta}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1764 of file qdp.h.

◆ quarkContract24()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract24, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract24 >::Type_t >::Expression_t quarkContract24 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract24 does

$target^{k' k}_{\alpha\beta} =
  \epsilon^{i j k}\epsilon^{i' j' k'}*source1^{i i'}_{\rho\alpha}*source2^{j j'}_{\beta\rho}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1798 of file qdp.h.

◆ quarkContract34()

template<class T1, class C1, class T2, class C2>
MakeReturn< BinaryNode< FnQuarkContract34, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t >, typenameBinaryReturn< C1, C2, FnQuarkContract34 >::Type_t >::Expression_t quarkContract34 ( const QDPType< T1, C1 > & l,
const QDPType< T2, C2 > & r )
related

Contraction for quark propagators.

epsilon contract 2 quark propagators and return a quark propagator. This is used for diquark constructions. Eventually, it could handle larger Nc. The numbers represent which spin index to sum over.

The sources and targets must all be propagators but not necessarily of the same lattice type. Effectively, one can use this to construct an anti-quark from a di-quark contraction. In explicit index form, the operation QuarkContract34 does

$target^{k' k}_{\alpha\beta} =
  \epsilon^{i j k}\epsilon^{i' j' k'}*source1^{i i'}_{\alpha\beta}*source2^{j j'}_{\rho\rho}$

and is (currently) only appropriate for Nc=3 (or SU(3)).

Definition at line 1866 of file qdp.h.

◆ real()

template<class T1, class C1>
MakeReturn< UnaryNode< FnReal, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnReal >::Type_t >::Expression_t real ( const QDPType< T1, C1 > & l)
related

Real part.

Definition at line 726 of file qdp.h.

◆ realTrace()

template<class T1, class C1>
MakeReturn< UnaryNode< FnRealTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnRealTrace >::Type_t >::Expression_t realTrace ( const QDPType< T1, C1 > & l)
related

Real part of the trace on all fiber indices.

See also
real()

Definition at line 659 of file qdp.h.

◆ seedToFloat()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSeedToFloat, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSeedToFloat >::Type_t >::Expression_t seedToFloat ( const QDPType< T1, C1 > & l)
related

Convert a seed (big int) to a float.

Used only by random number generator

Returns
a float in [0,1] from a seed (big int)

Definition at line 815 of file qdp.h.

◆ sin()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSin >::Type_t >::Expression_t sin ( const QDPType< T1, C1 > & l)
related

Sine.

Definition at line 1349 of file qdp.h.

◆ sinh()

template<class T1, class C1>
MakeReturn< UnaryNode< FnHypSin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypSin >::Type_t >::Expression_t sinh ( const QDPType< T1, C1 > & l)
related

Hyperbolic sine.

Definition at line 1365 of file qdp.h.

◆ spinProjectDir0Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir0Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Minus >::Type_t >::Expression_t spinProjectDir0Minus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 0.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 - gamma[0])*l

Definition at line 910 of file qdp.h.

◆ spinProjectDir0Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir0Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Plus >::Type_t >::Expression_t spinProjectDir0Plus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 0.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 + gamma[0])*l

Definition at line 834 of file qdp.h.

◆ spinProjectDir1Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir1Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Minus >::Type_t >::Expression_t spinProjectDir1Minus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 1.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 - gamma[1])*l

Definition at line 929 of file qdp.h.

◆ spinProjectDir1Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir1Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Plus >::Type_t >::Expression_t spinProjectDir1Plus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 1.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 + gamma[1])*l

Definition at line 853 of file qdp.h.

◆ spinProjectDir2Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir2Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Minus >::Type_t >::Expression_t spinProjectDir2Minus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 2.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 - gamma[2])*l

Definition at line 948 of file qdp.h.

◆ spinProjectDir2Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir2Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Plus >::Type_t >::Expression_t spinProjectDir2Plus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 2.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 + gamma[2])*l

Definition at line 872 of file qdp.h.

◆ spinProjectDir3Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir3Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Minus >::Type_t >::Expression_t spinProjectDir3Minus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 3.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 - gamma[3])*l

Definition at line 967 of file qdp.h.

◆ spinProjectDir3Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinProjectDir3Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Plus >::Type_t >::Expression_t spinProjectDir3Plus ( const QDPType< T1, C1 > & l)
related

Spin projection in direction 3.

Returns half-spin vector from a full spin vector source

Parameters
lfull spin vector
Returns
(1 + gamma[3])*l

Definition at line 891 of file qdp.h.

◆ spinReconstructDir0Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir0Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Minus >::Type_t >::Expression_t spinReconstructDir0Minus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 0.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 - gamma[0])*l

Definition at line 1062 of file qdp.h.

◆ spinReconstructDir0Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir0Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Plus >::Type_t >::Expression_t spinReconstructDir0Plus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 3.

Returns full spin vector from a half spin vector source

Parameters
lhalf-spin vector
Returns
(1 + gamma[0])*l

Definition at line 986 of file qdp.h.

◆ spinReconstructDir1Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir1Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Minus >::Type_t >::Expression_t spinReconstructDir1Minus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 1.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 - gamma[1])*l

Definition at line 1081 of file qdp.h.

◆ spinReconstructDir1Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir1Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Plus >::Type_t >::Expression_t spinReconstructDir1Plus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 1.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 + gamma[1])*l

Definition at line 1005 of file qdp.h.

◆ spinReconstructDir2Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir2Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Minus >::Type_t >::Expression_t spinReconstructDir2Minus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 2.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 - gamma[2])*l

Definition at line 1100 of file qdp.h.

◆ spinReconstructDir2Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir2Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Plus >::Type_t >::Expression_t spinReconstructDir2Plus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 2.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 + gamma[2])*l

Definition at line 1024 of file qdp.h.

◆ spinReconstructDir3Minus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir3Minus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Minus >::Type_t >::Expression_t spinReconstructDir3Minus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 3.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 - gamma[3])*l

Definition at line 1119 of file qdp.h.

◆ spinReconstructDir3Plus()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSpinReconstructDir3Plus, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Plus >::Type_t >::Expression_t spinReconstructDir3Plus ( const QDPType< T1, C1 > & l)
related

Spin reconstruct in direction 3.

Returns full-spin vector from a half-spin vector source

Parameters
lhalf-spin vector
Returns
(1 + gamma[3])*l

Definition at line 1043 of file qdp.h.

◆ sqrt()

template<class T1, class C1>
MakeReturn< UnaryNode< FnSqrt, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSqrt >::Type_t >::Expression_t sqrt ( const QDPType< T1, C1 > & l)
related

Square root.

Definition at line 1381 of file qdp.h.

◆ tan()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTan >::Type_t >::Expression_t tan ( const QDPType< T1, C1 > & l)
related

Tangent.

Definition at line 1397 of file qdp.h.

◆ tanh()

template<class T1, class C1>
MakeReturn< UnaryNode< FnHypTan, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnHypTan >::Type_t >::Expression_t tanh ( const QDPType< T1, C1 > & l)
related

Hyperbolic tangent.

Definition at line 1413 of file qdp.h.

◆ timesI()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTimesI, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesI >::Type_t >::Expression_t timesI ( const QDPType< T1, C1 > & l)
related

Multiply by imaginary i.

See also
operator*()
Returns
(i * a)

Definition at line 779 of file qdp.h.

◆ timesMinusI()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTimesMinusI, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTimesMinusI >::Type_t >::Expression_t timesMinusI ( const QDPType< T1, C1 > & l)
related

Multiply by minus imaginary i.

See also
operator*()
Returns
(-i * a)

Definition at line 797 of file qdp.h.

◆ trace()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTrace, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTrace >::Type_t >::Expression_t trace ( const QDPType< T1, C1 > & l)
related

Trace on all fiber indices.

Definition at line 642 of file qdp.h.

◆ traceColor()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTraceColor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceColor >::Type_t >::Expression_t traceColor ( const QDPType< T1, C1 > & l)
related

Trace on only color indices.

See also
trace(), TraceColor()

Definition at line 693 of file qdp.h.

◆ traceSpin()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTraceSpin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTraceSpin >::Type_t >::Expression_t traceSpin ( const QDPType< T1, C1 > & l)
related

Trace on only spin indices.

See also
trace()

Definition at line 710 of file qdp.h.

◆ transpose()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTranspose, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTranspose >::Type_t >::Expression_t transpose ( const QDPType< T1, C1 > & l)
related

Transpose.

Definition at line 594 of file qdp.h.

◆ transposeColor()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTransposeColor, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeColor >::Type_t >::Expression_t transposeColor ( const QDPType< T1, C1 > & l)
related

Transpose in Color Space Only.

Definition at line 610 of file qdp.h.

◆ transposeSpin()

template<class T1, class C1>
MakeReturn< UnaryNode< FnTransposeSpin, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnTransposeSpin >::Type_t >::Expression_t transposeSpin ( const QDPType< T1, C1 > & l)
related

Transpose in Spin Space Only.

Definition at line 626 of file qdp.h.

◆ where()

template<class T1, class C1, class T2, class C2, class T3, class C3>
MakeReturn< TrinaryNode< FnWhere, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t, typenameCreateLeaf< QDPType< T2, C2 > >::Leaf_t, typenameCreateLeaf< QDPType< T3, C3 > >::Leaf_t >, typenameTrinaryReturn< C1, C2, C3, FnWhere >::Type_t >::Expression_t where ( const QDPType< T1, C1 > & a,
const QDPType< T2, C2 > & b,
const QDPType< T3, C3 > & c )
related

The C ? operator.

The where statement is similar to the C ? operator.

Returns
(if (a) return b; else return c;)

Definition at line 4823 of file qdp.h.