CHROMA
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members

General Wilson-Dirac dslash of arrays. More...

#include <lwldslash_array_qdpopt_w.h>

Inheritance diagram for Chroma::QDPWilsonDslashArrayOpt:
Chroma::WilsonDslashBaseArray Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperatorArray< T, P, Q > Chroma::LinearOperatorArray< T >

Public Types

typedef LatticeFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 
- Public Types inherited from Chroma::WilsonDslashBaseArray
typedef LatticeFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Public Member Functions

 QDPWilsonDslashArrayOpt ()
 Empty constructor. Must use create later. More...
 
 QDPWilsonDslashArrayOpt (Handle< FermState< T, P, Q > > state, int N5_)
 Full constructor. More...
 
 QDPWilsonDslashArrayOpt (Handle< FermState< T, P, Q > > state, int N5_, const AnisoParam_t &aniso_)
 Full constructor. More...
 
void create (Handle< FermState< T, P, Q > > state, int N5_)
 Creation routine. More...
 
void create (Handle< FermState< T, P, Q > > state, int N5_, const AnisoParam_t &aniso_)
 Creation routine. More...
 
void create (Handle< FermState< T, P, Q > > state, int N5_, const multi1d< Real > &coeffs_)
 Creation routine. More...
 
int size () const
 Expected length of array index. More...
 
 ~QDPWilsonDslashArrayOpt ()
 No real need for cleanup here. More...
 
void apply (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const
 General Wilson-Dirac dslash. More...
 
void apply (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int cb) const
 General Wilson-Dirac dslash. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
- Public Member Functions inherited from Chroma::WilsonDslashBaseArray
virtual ~WilsonDslashBaseArray ()
 No real need for cleanup here. More...
 
const Subset & subset () const
 Subset is all here. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Take deriv of D. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const
 Take deriv of D. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int cb) const
 Take deriv of D. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DslashLinearOperatorArray ()
 Virtual destructor to help in cleanup. More...
 
virtual void operator() (multi1d< LatticeFermion > &d, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Apply operator on both checkerboards (entire lattice) More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q >
virtual ~DiffLinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
- Public Member Functions inherited from Chroma::LinearOperatorArray< T >
virtual ~LinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Protected Member Functions

const multi1d< Real > & getCoeffs () const
 Get the anisotropy parameters. More...
 

Private Attributes

int N5
 
multi1d< Real > coeffs
 
multi1d< LatticeColorMatrix > u
 
Handle< FermBC< T, P, Q > > fbc
 

Detailed Description

General Wilson-Dirac dslash of arrays.

DSLASH

This routine is specific to Wilson fermions!

Description:

This routine applies the operator D' to Psi, putting the result in Chi.

      Nd-1
      ---
      \

chi(x) := > U (x) (1 - isign gamma ) psi(x+mu)

/ mu mu

mu=0

  Nd-1
  ---
  \    +
 +    >  U  (x-mu) (1 + isign gamma  ) psi(x-mu)
  /    mu                    mu
  ---
  mu=0

Definition at line 45 of file lwldslash_array_qdpopt_w.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::QDPWilsonDslashArrayOpt::P

Definition at line 50 of file lwldslash_array_qdpopt_w.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::QDPWilsonDslashArrayOpt::Q

Definition at line 51 of file lwldslash_array_qdpopt_w.h.

◆ T

typedef LatticeFermion Chroma::QDPWilsonDslashArrayOpt::T

Definition at line 49 of file lwldslash_array_qdpopt_w.h.

Constructor & Destructor Documentation

◆ QDPWilsonDslashArrayOpt() [1/3]

Chroma::QDPWilsonDslashArrayOpt::QDPWilsonDslashArrayOpt ( )
inline

Empty constructor. Must use create later.

Definition at line 54 of file lwldslash_array_qdpopt_w.h.

◆ QDPWilsonDslashArrayOpt() [2/3]

Chroma::QDPWilsonDslashArrayOpt::QDPWilsonDslashArrayOpt ( Handle< FermState< T, P, Q > >  state,
int  N5_ 
)
inline

Full constructor.

Definition at line 57 of file lwldslash_array_qdpopt_w.h.

References create(), and Chroma::state.

◆ QDPWilsonDslashArrayOpt() [3/3]

Chroma::QDPWilsonDslashArrayOpt::QDPWilsonDslashArrayOpt ( Handle< FermState< T, P, Q > >  state,
int  N5_,
const AnisoParam_t aniso_ 
)
inline

Full constructor.

Definition at line 62 of file lwldslash_array_qdpopt_w.h.

References create(), and Chroma::state.

◆ ~QDPWilsonDslashArrayOpt()

Chroma::QDPWilsonDslashArrayOpt::~QDPWilsonDslashArrayOpt ( )
inline

No real need for cleanup here.

Definition at line 85 of file lwldslash_array_qdpopt_w.h.

Member Function Documentation

◆ create() [1/2]

void Chroma::QDPWilsonDslashArrayOpt::create ( Handle< FermState< T, P, Q > >  state,
int  N5_,
const AnisoParam_t aniso_ 
)

Creation routine.

Creation routine with anisotropy.

Definition at line 50 of file lwldslash_array_qdpopt_w.cc.

References create(), Chroma::END_CODE(), Chroma::makeFermCoeffs(), Chroma::START_CODE(), and Chroma::state.

◆ create() [2/2]

void Chroma::QDPWilsonDslashArrayOpt::create ( Handle< FermState< T, P, Q > >  state,
int  N5_,
const multi1d< Real > &  coeffs_ 
)

Creation routine.

Definition at line 61 of file lwldslash_array_qdpopt_w.cc.

References coeffs, Chroma::END_CODE(), fbc, mu, N5, Chroma::START_CODE(), Chroma::state, and u.

◆ getCoeffs()

const multi1d<Real>& Chroma::QDPWilsonDslashArrayOpt::getCoeffs ( ) const
inlineprotectedvirtual

Get the anisotropy parameters.

Implements Chroma::WilsonDslashBaseArray.

Definition at line 120 of file lwldslash_array_qdpopt_w.h.

References coeffs.

◆ getFermBC()

const FermBC<T,P,Q>& Chroma::QDPWilsonDslashArrayOpt::getFermBC ( ) const
inlinevirtual

◆ size()

int Chroma::QDPWilsonDslashArrayOpt::size ( void  ) const
inlinevirtual

Member Data Documentation

◆ coeffs

multi1d<Real> Chroma::QDPWilsonDslashArrayOpt::coeffs
private

Nd array of coefficients of terms in the action

Definition at line 124 of file lwldslash_array_qdpopt_w.h.

Referenced by create(), and getCoeffs().

◆ fbc

Handle< FermBC<T,P,Q> > Chroma::QDPWilsonDslashArrayOpt::fbc
private

Definition at line 126 of file lwldslash_array_qdpopt_w.h.

Referenced by create(), and getFermBC().

◆ N5

int Chroma::QDPWilsonDslashArrayOpt::N5
private

Definition at line 123 of file lwldslash_array_qdpopt_w.h.

Referenced by apply(), create(), and size().

◆ u

multi1d<LatticeColorMatrix> Chroma::QDPWilsonDslashArrayOpt::u
private

Definition at line 125 of file lwldslash_array_qdpopt_w.h.

Referenced by apply(), and create().


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