QDP++
QDP::PMatrix< T, N, C > Class Template Reference

Primitive Matrix class. More...

#include <qdp_primmatrix.h>

Inheritance diagram for QDP::PMatrix< T, N, C >:
QDP::PColorMatrix< typename SinglePrecType< T1 >::Type_t, N > QDP::PColorMatrix< typename DoublePrecType< T1 >::Type_t, N > QDP::PColorMatrix< typename UnaryReturn< T1, Op >::Type_t, N > QDP::PColorMatrix< typename BinaryReturn< T1, T2, Op >::Type_t, N > QDP::PColorMatrix< T1, N > & QDP::PColorMatrix< typename BinaryReturn< T1, T2, FnOuterProduct >::Type_t, N > QDP::PColorMatrix< RComplex< REAL >, 3 > QDP::PColorMatrix< RComplex< REAL32 >, 3 > QDP::PSpinMatrix< typename SinglePrecType< T1 >::Type_t, N > QDP::PSpinMatrix< typename DoublePrecType< T1 >::Type_t, N > QDP::PSpinMatrix< typename UnaryReturn< T1, Op >::Type_t, N > QDP::PSpinMatrix< typename BinaryReturn< T1, T2, Op >::Type_t, N > QDP::PSpinMatrix< T1, N > & QDP::PSpinMatrix< typename UnaryReturn< T2, OpUnaryPlus >::Type_t, N > QDP::PSpinMatrix< typename BinaryReturn< T1, T2, FnLocalColorInnerProduct >::Type_t, N > QDP::PSpinMatrix< typename BinaryReturn< T1, T2, FnOuterProduct >::Type_t, N >

Public Types

typedef C< T, N > CC

Public Member Functions

 PMatrix ()
 ~PMatrix ()
template<class T1>
CCassign (const PScalar< T1 > &rhs)
 PMatrix = PScalar.
template<class T1>
CCassign (const C< T1, N > &rhs)
 PMatrix = PMatrix.
template<class T1>
CCoperator+= (const C< T1, N > &rhs)
 PMatrix += PMatrix.
template<class T1>
CCoperator-= (const C< T1, N > &rhs)
 PMatrix -= PMatrix.
template<class T1>
CCoperator+= (const PScalar< T1 > &rhs)
 PMatrix += PScalar.
template<class T1>
CCoperator-= (const PScalar< T1 > &rhs)
 PMatrix -= PScalar.
template<class T1>
CCoperator*= (const PScalar< T1 > &rhs)
 PMatrix *= PScalar.
template<class T1>
CCoperator/= (const PScalar< T1 > &rhs)
 PMatrix /= PScalar.
T & elem (int i, int j)
const T & elem (int i, int j) const

Detailed Description

template<class T, int N, template< class, int > class C>
class QDP::PMatrix< T, N, C >

Primitive Matrix class.

All Matrix classes inherit this class NOTE: For efficiency, there can be no virtual methods, so the data portion is a part of the generic class, hence it is called a domain and not a category

Definition at line 30 of file qdp_primmatrix.h.

Member Typedef Documentation

◆ CC

template<class T, int N, template< class, int > class C>
typedef C<T,N> QDP::PMatrix< T, N, C >::CC

Definition at line 36 of file qdp_primmatrix.h.

Constructor & Destructor Documentation

◆ PMatrix()

template<class T, int N, template< class, int > class C>
QDP::PMatrix< T, N, C >::PMatrix ( )
inline

Definition at line 33 of file qdp_primmatrix.h.

◆ ~PMatrix()

template<class T, int N, template< class, int > class C>
QDP::PMatrix< T, N, C >::~PMatrix ( )
inline

Definition at line 34 of file qdp_primmatrix.h.

Member Function Documentation

◆ assign() [1/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::assign ( const C< T1, N > & rhs)
inline

PMatrix = PMatrix.

Set equal to another PMatrix

Definition at line 58 of file qdp_primmatrix.h.

◆ assign() [2/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::assign ( const PScalar< T1 > & rhs)
inline

PMatrix = PScalar.

Fill with primitive scalar

Definition at line 42 of file qdp_primmatrix.h.

◆ elem() [1/2]

template<class T, int N, template< class, int > class C>
T & QDP::PMatrix< T, N, C >::elem ( int i,
int j )
inline

Definition at line 158 of file qdp_primmatrix.h.

Referenced by QDP::adj(), QDP::adjMultiply(), QDP::adjMultiply(), QDP::adjMultiply(), QDP::adjMultiply(), QDP::adjMultiply(), QDP::adjMultiply(), QDP::adjMultiplyAdj(), QDP::adjMultiplyAdj(), QDP::adjMultiplyAdj(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::assign(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::assign(), QDP::cmplx(), QDP::colorContract(), QDP::conj(), QDP::copy_site(), QDP::copy_site(), QDP::copymask(), QDP::fill_gaussian(), QDP::fill_random(), QDP::gather_sites(), QDP::getSite(), QDP::imag(), QDP::imagTrace(), QDP::isfinite(), QDP::isinf(), QDP::isnan(), QDP::isnormal(), QDP::localInnerProduct(), QDP::localInnerProduct(), QDP::localInnerProduct(), QDP::localInnerProductReal(), QDP::localInnerProductReal(), QDP::localInnerProductReal(), QDP::localNorm2(), QDP::multiplyAdj(), QDP::multiplyAdj(), QDP::multiplyAdj(), QDP::operator*(), QDP::operator*(), QDP::operator*(), QDP::operator*(), QDP::operator*(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator*=(), QDP::operator+(), QDP::operator+(), QDP::operator+(), QDP::operator+(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator+=(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator+=(), QDP::operator-(), QDP::operator-(), QDP::operator-(), QDP::operator-(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator-=(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator-=(), QDP::operator/(), QDP::PMatrix< typename SinglePrecType< T1 >::Type_t, N, C >::operator/=(), QDP::operator<<(), QDP::operator>>(), QDP::peekColor(), QDP::peekColor(), QDP::peekColor(), QDP::peekSpin(), QDP::peekSpin(), QDP::pokeColor(), QDP::pokeColor(), QDP::pokeColor(), QDP::pokeSpin(), QDP::pokeSpin(), QDP::quarkContractXX(), QDP::real(), QDP::realTrace(), QDP::timesI(), QDP::timesMinusI(), QDP::trace(), QDP::traceColor(), QDP::traceColor(), QDP::traceColorMultiply(), QDP::traceColorMultiply(), QDP::traceColorMultiply(), QDP::traceColorMultiply(), QDP::traceColorMultiply(), QDP::traceColorMultiply(), QDP::traceMultiply(), QDP::traceMultiply(), QDP::traceMultiply(), QDP::traceSpin(), QDP::traceSpinMultiply(), QDP::traceSpinMultiply(), QDP::traceSpinMultiply(), QDP::transpose(), QDP::transposeColor(), QDP::transposeColor(), QDP::transposeSpin(), QDP::where(), and QDP::zero_rep().

◆ elem() [2/2]

template<class T, int N, template< class, int > class C>
const T & QDP::PMatrix< T, N, C >::elem ( int i,
int j ) const
inline

Definition at line 159 of file qdp_primmatrix.h.

◆ operator*=()

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator*= ( const PScalar< T1 > & rhs)
inline

PMatrix *= PScalar.

Definition at line 116 of file qdp_primmatrix.h.

◆ operator+=() [1/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator+= ( const C< T1, N > & rhs)
inline

PMatrix += PMatrix.

Definition at line 70 of file qdp_primmatrix.h.

◆ operator+=() [2/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator+= ( const PScalar< T1 > & rhs)
inline

PMatrix += PScalar.

Definition at line 94 of file qdp_primmatrix.h.

◆ operator-=() [1/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator-= ( const C< T1, N > & rhs)
inline

PMatrix -= PMatrix.

Definition at line 82 of file qdp_primmatrix.h.

◆ operator-=() [2/2]

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator-= ( const PScalar< T1 > & rhs)
inline

PMatrix -= PScalar.

Definition at line 105 of file qdp_primmatrix.h.

◆ operator/=()

template<class T, int N, template< class, int > class C>
template<class T1>
CC & QDP::PMatrix< T, N, C >::operator/= ( const PScalar< T1 > & rhs)
inline

PMatrix /= PScalar.

Definition at line 128 of file qdp_primmatrix.h.


The documentation for this class was generated from the following files: