CHROMA
Public Types | Public Member Functions | Private Attributes | List of all members
Chroma::AsqtadLinOp Class Reference

#include <asqtad_linop_s.h>

Inheritance diagram for Chroma::AsqtadLinOp:
Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::LinearOperator< T >

Public Types

typedef LatticeStaggeredFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Public Member Functions

 AsqtadLinOp ()
 Partial constructor - Must use create later. More...
 
 AsqtadLinOp (Handle< AsqtadConnectStateBase > state_, const Real &Mass_)
 Full constructor. More...
 
void create (Handle< AsqtadConnectStateBase > state_, const Real &Mass_)
 Creation routine. More...
 
 ~AsqtadLinOp ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 
void evenEvenLinOp (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the even-even block onto a source std::vector. More...
 
void evenOddLinOp (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
void oddEvenLinOp (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
void oddOddLinOp (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the odd-odd block onto a source std::vector. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~EvenOddLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the even lattice. More...
 
virtual void operator() (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
virtual void derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the even-even block onto a source std::vector. More...
 
virtual void derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
virtual void derivOddEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
virtual void derivOddOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the the odd-odd block onto a source std::vector. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
virtual unsigned long evenEvenNFlops () const
 Return flops performed by the evenEvenLinOp. More...
 
virtual unsigned long evenOddNFlops () const
 Return flops performed by the evenOddLinOp. More...
 
virtual unsigned long oddEvenNFlops () const
 Return flops performed by the oddEvenLinOp. More...
 
virtual unsigned long oddOddNFlops () const
 Return flops performed by the oddOddLinOp. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
virtual void derivMultipole (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeStaggeredFermion > &chi, const multi1d< LatticeStaggeredFermion > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< T >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign) const =0
 Apply the operator onto a source std::vector. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Private Attributes

Real Mass
 
AsqtadDslash D
 

Detailed Description

Definition at line 18 of file asqtad_linop_s.h.

Member Typedef Documentation

◆ P

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

Definition at line 24 of file asqtad_linop_s.h.

◆ Q

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

Definition at line 25 of file asqtad_linop_s.h.

◆ T

typedef LatticeStaggeredFermion Chroma::AsqtadLinOp::T

Definition at line 23 of file asqtad_linop_s.h.

Constructor & Destructor Documentation

◆ AsqtadLinOp() [1/2]

Chroma::AsqtadLinOp::AsqtadLinOp ( )
inline

Partial constructor - Must use create later.

Definition at line 28 of file asqtad_linop_s.h.

◆ AsqtadLinOp() [2/2]

Chroma::AsqtadLinOp::AsqtadLinOp ( Handle< AsqtadConnectStateBase state_,
const Real &  Mass_ 
)
inline

Full constructor.

Definition at line 31 of file asqtad_linop_s.h.

References create().

◆ ~AsqtadLinOp()

Chroma::AsqtadLinOp::~AsqtadLinOp ( )
inline

Destructor is automatic.

Definition at line 46 of file asqtad_linop_s.h.

Member Function Documentation

◆ create()

void Chroma::AsqtadLinOp::create ( Handle< AsqtadConnectStateBase state_,
const Real &  Mass_ 
)
inline

Creation routine.

Definition at line 37 of file asqtad_linop_s.h.

References Chroma::QDPStaggeredDslash::create(), D, and Mass.

Referenced by AsqtadLinOp().

◆ evenEvenLinOp()

void Chroma::AsqtadLinOp::evenEvenLinOp ( LatticeStaggeredFermion &  chi,
const LatticeStaggeredFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

Apply the the even-even block onto a source std::vector.

Implements Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 53 of file asqtad_linop_s.h.

References Chroma::chi(), Mass, and Chroma::psi.

◆ evenOddLinOp()

void Chroma::AsqtadLinOp::evenOddLinOp ( LatticeStaggeredFermion &  chi,
const LatticeStaggeredFermion &  psi,
enum PlusMinus  isign 
) const
virtual

◆ getFermBC()

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

Return the fermion BC object for this linear operator Return the fermion BC object for this linear operator

Implements Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 50 of file asqtad_linop_s.h.

References D, and Chroma::QDPStaggeredDslash::getFermBC().

◆ nFlops()

unsigned long Chroma::AsqtadLinOp::nFlops ( void  ) const
virtual

Return flops performed by the operator()

Reimplemented from Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 26 of file asqtad_linop_s.cc.

◆ oddEvenLinOp()

void Chroma::AsqtadLinOp::oddEvenLinOp ( LatticeStaggeredFermion &  chi,
const LatticeStaggeredFermion &  psi,
enum PlusMinus  isign 
) const
virtual

◆ oddOddLinOp()

void Chroma::AsqtadLinOp::oddOddLinOp ( LatticeStaggeredFermion &  chi,
const LatticeStaggeredFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

Apply the the odd-odd block onto a source std::vector.

Implements Chroma::EvenOddLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 68 of file asqtad_linop_s.h.

References Chroma::chi(), Mass, and Chroma::psi.

Member Data Documentation

◆ D

AsqtadDslash Chroma::AsqtadLinOp::D
private

Definition at line 85 of file asqtad_linop_s.h.

Referenced by create(), evenOddLinOp(), getFermBC(), and oddEvenLinOp().

◆ Mass

Real Chroma::AsqtadLinOp::Mass
private

Definition at line 78 of file asqtad_linop_s.h.

Referenced by create(), evenEvenLinOp(), and oddOddLinOp().


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