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

Even-odd preconditioned Wilson-Dirac operator. More...

#include <eoprec_wilson_linop_w.h>

Inheritance diagram for Chroma::EvenOddPrecWilsonLinOp:
Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecLinearOperator< T, P, Q > Chroma::EvenOddPrecLinearOperator< T, P, Q > Chroma::DiffLinearOperator< T, P, Q > Chroma::DiffLinearOperator< T, P, Q > Chroma::LinearOperator< T > Chroma::LinearOperator< T >

Public Types

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

Public Member Functions

 EvenOddPrecWilsonLinOp ()
 Partial constructor. More...
 
 EvenOddPrecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_)
 Full constructor. More...
 
 EvenOddPrecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
 Full constructor with Anisotropy. More...
 
 EvenOddPrecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const multi1d< Real > &coeffs_)
 Full constructor with array of coefficients. More...
 
 ~EvenOddPrecWilsonLinOp ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_)
 Creation routine. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
 Creation routine with Anisotropy. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const multi1d< Real > &coeffs_)
 Creation routine with general coefficients. More...
 
void evenEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-even block onto a source std::vector. More...
 
void evenEvenInvLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the inverse of the even-even block onto a source std::vector. More...
 
void evenOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
void oddEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
void oddOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-odd block onto a source std::vector. More...
 
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Override inherited one with a few more funkies. More...
 
void derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the even-even block onto a source std::vector. More...
 
void derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
void derivOddEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
void derivOddOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &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...
 
 EvenOddPrecWilsonLinOp ()
 Partial constructor. More...
 
 EvenOddPrecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_)
 Full constructor. More...
 
 EvenOddPrecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
 Full constructor with Anisotropy. More...
 
 ~EvenOddPrecWilsonLinOp ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_)
 Creation routine. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
 Creation routine with Anisotropy. More...
 
void evenEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-even block onto a source std::vector. More...
 
void evenEvenInvLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the inverse of the even-even block onto a source std::vector. More...
 
void evenOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
void oddEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
void oddOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-odd block onto a source std::vector. More...
 
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Override inherited one with a few more funkies. More...
 
void derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the even-even block onto a source std::vector. More...
 
void derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the even-odd block onto a source std::vector. More...
 
void derivOddEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the the odd-even block onto a source std::vector. More...
 
void derivOddOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &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::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~EvenOddPrecConstDetLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the derivative of the operator onto a source std::vector. More...
 
virtual void derivEvenEvenLinOpMP (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 
virtual void derivEvenOddLinOpMP (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 
virtual void derivOddEvenLinOpMP (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 
virtual void derivOddOddLinOpMP (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 
virtual void derivMultipole (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Apply the derivative of the operator onto a source std::vector. More...
 
- Public Member Functions inherited from Chroma::EvenOddPrecLinearOperator< T, P, Q >
virtual ~EvenOddPrecLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the odd lattice. More...
 
virtual void unprecLinOp (T &chi, const T &psi, enum PlusMinus isign) const
 Apply the UNPRECONDITIONED operator onto a source std::vector. More...
 
virtual void derivUnprecLinOp (P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const
 
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...
 
virtual unsigned long evenEvenInvNFlops () const
 Return flops performed by the evenEvenInvLinOp. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< T, P, Q >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (P &ds_u, const T &chi, const 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::LinearOperator< T >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. 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
 
multi1d< Real > coeffs
 
Real fact
 
Real invfact
 
WilsonDslash D
 

Detailed Description

Even-odd preconditioned Wilson-Dirac operator.

This routine is specific to Wilson fermions!

The kernel for Wilson fermions is

 M  =  (d+M) - (1/2) D'

Definition at line 27 of file eoprec_wilson_linop_w.h.

Member Typedef Documentation

◆ P [1/2]

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

Definition at line 33 of file eoprec_wilson_linop_w.h.

◆ P [2/2]

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

Definition at line 33 of file tprec_wilson_linop_w.h.

◆ Q [1/2]

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

Definition at line 34 of file eoprec_wilson_linop_w.h.

◆ Q [2/2]

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

Definition at line 34 of file tprec_wilson_linop_w.h.

◆ T [1/2]

typedef LatticeFermion Chroma::EvenOddPrecWilsonLinOp::T

Definition at line 32 of file eoprec_wilson_linop_w.h.

◆ T [2/2]

typedef LatticeFermion Chroma::EvenOddPrecWilsonLinOp::T

Definition at line 32 of file tprec_wilson_linop_w.h.

Constructor & Destructor Documentation

◆ EvenOddPrecWilsonLinOp() [1/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( )
inline

Partial constructor.

Definition at line 37 of file eoprec_wilson_linop_w.h.

◆ EvenOddPrecWilsonLinOp() [2/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_ 
)
inline

Full constructor.

Definition at line 40 of file eoprec_wilson_linop_w.h.

References create().

◆ EvenOddPrecWilsonLinOp() [3/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const AnisoParam_t aniso 
)
inline

Full constructor with Anisotropy.

Definition at line 45 of file eoprec_wilson_linop_w.h.

References create().

◆ EvenOddPrecWilsonLinOp() [4/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const multi1d< Real > &  coeffs_ 
)
inline

Full constructor with array of coefficients.

Definition at line 51 of file eoprec_wilson_linop_w.h.

References create().

◆ ~EvenOddPrecWilsonLinOp() [1/2]

Chroma::EvenOddPrecWilsonLinOp::~EvenOddPrecWilsonLinOp ( )
inline

Destructor is automatic.

Definition at line 57 of file eoprec_wilson_linop_w.h.

◆ EvenOddPrecWilsonLinOp() [5/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( )
inline

Partial constructor.

Definition at line 37 of file tprec_wilson_linop_w.h.

◆ EvenOddPrecWilsonLinOp() [6/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_ 
)
inline

Full constructor.

Definition at line 40 of file tprec_wilson_linop_w.h.

References create().

◆ EvenOddPrecWilsonLinOp() [7/7]

Chroma::EvenOddPrecWilsonLinOp::EvenOddPrecWilsonLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const AnisoParam_t aniso 
)
inline

Full constructor with Anisotropy.

Definition at line 45 of file tprec_wilson_linop_w.h.

References create().

◆ ~EvenOddPrecWilsonLinOp() [2/2]

Chroma::EvenOddPrecWilsonLinOp::~EvenOddPrecWilsonLinOp ( )
inline

Destructor is automatic.

Definition at line 51 of file tprec_wilson_linop_w.h.

Member Function Documentation

◆ create() [1/5]

void Chroma::EvenOddPrecWilsonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_ 
)

Creation routine.

Parameters
fsgauge state (Read)
Mass_fermion kappa (Read)
u_gauge field (Read)
Mass_fermion kappa (Read)

Definition at line 15 of file eoprec_wilson_linop_w.cc.

References Nd.

Referenced by EvenOddPrecWilsonLinOp().

◆ create() [2/5]

void Chroma::EvenOddPrecWilsonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_ 
)

Creation routine.

◆ create() [3/5]

void Chroma::EvenOddPrecWilsonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const AnisoParam_t anisoParam 
)

Creation routine with Anisotropy.

Parameters
fsgauge state (Read)
Mass_fermion kappa (Read)
anisoanisotropy struct (Read)
u_gauge field (Read)
Mass_fermion kappa (Read)
anisoanisotropy struct (Read)

Definition at line 30 of file eoprec_wilson_linop_w.cc.

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

◆ create() [4/5]

void Chroma::EvenOddPrecWilsonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const AnisoParam_t aniso 
)

Creation routine with Anisotropy.

◆ create() [5/5]

void Chroma::EvenOddPrecWilsonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const multi1d< Real > &  coeffs_ 
)

Creation routine with general coefficients.

Parameters
fsgauge state (Read)
Mass_fermion kappa (Read)
coeffs_fermion coeffs (Read)

Definition at line 48 of file eoprec_wilson_linop_w.cc.

References END_CODE, Mass, mu, Nd, and START_CODE.

◆ derivEvenEvenLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::derivEvenEvenLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 114 of file eoprec_wilson_linop_w.h.

References mu, Nd, and Chroma::zero.

◆ derivEvenEvenLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::derivEvenEvenLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 103 of file tprec_wilson_linop_w.h.

References mu, Nd, and Chroma::zero.

◆ derivEvenOddLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::derivEvenOddLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Derivative of even-odd linop component.

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 172 of file eoprec_wilson_linop_w.cc.

References chi, END_CODE, Chroma::isign, mu, Nd, psi, and START_CODE.

◆ derivEvenOddLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::derivEvenOddLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

◆ derivOddEvenLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::derivOddEvenLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Derivative of odd-even linop component.

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 192 of file eoprec_wilson_linop_w.cc.

References chi, END_CODE, Chroma::isign, mu, Nd, psi, and START_CODE.

◆ derivOddEvenLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::derivOddEvenLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

◆ derivOddOddLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::derivOddOddLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 135 of file eoprec_wilson_linop_w.h.

References mu, Nd, and Chroma::zero.

◆ derivOddOddLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::derivOddOddLinOp ( multi1d< LatticeColorMatrix > &  ds_u,
const LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 124 of file tprec_wilson_linop_w.h.

References mu, Nd, and Chroma::zero.

◆ evenEvenInvLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::evenEvenInvLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 86 of file eoprec_wilson_linop_w.h.

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

◆ evenEvenInvLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::evenEvenInvLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 75 of file tprec_wilson_linop_w.h.

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

◆ evenEvenLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::evenEvenLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 78 of file eoprec_wilson_linop_w.h.

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

◆ evenEvenLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::evenEvenLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 67 of file tprec_wilson_linop_w.h.

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

◆ evenOddLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::evenOddLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Apply even-odd linop component.

The operator acts on the entire even sublattice

Parameters
chiPseudofermion field (Write)
psiPseudofermion field (Read)
isignFlag ( PLUS | MINUS ) (Read)

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 86 of file eoprec_wilson_linop_w.cc.

References chi, END_CODE, Chroma::isign, psi, and START_CODE.

◆ evenOddLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::evenOddLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

◆ getFermBC() [1/2]

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

◆ getFermBC() [2/2]

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

◆ nFlops() [1/2]

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

Return flops performed by the operator()

Reimplemented from Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 249 of file eoprec_wilson_linop_w.cc.

◆ nFlops() [2/2]

unsigned long Chroma::EvenOddPrecWilsonLinOp::nFlops ( ) const
virtual

Return flops performed by the operator()

Reimplemented from Chroma::EvenOddPrecLinearOperator< T, P, Q >.

◆ oddEvenLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::oddEvenLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Apply odd-even linop component.

The operator acts on the entire odd sublattice

Parameters
chiPseudofermion field (Write)
psiPseudofermion field (Read)
isignFlag ( PLUS | MINUS ) (Read)

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 109 of file eoprec_wilson_linop_w.cc.

References chi, END_CODE, Chroma::isign, psi, and START_CODE.

◆ oddEvenLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::oddEvenLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

◆ oddOddLinOp() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::oddOddLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 102 of file eoprec_wilson_linop_w.h.

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

◆ oddOddLinOp() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::oddOddLinOp ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

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

Implements Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 91 of file tprec_wilson_linop_w.h.

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

◆ operator()() [1/2]

void Chroma::EvenOddPrecWilsonLinOp::operator() ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

Override inherited one with a few more funkies.

Reimplemented from Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Definition at line 126 of file eoprec_wilson_linop_w.cc.

References chi, END_CODE, Chroma::isign, psi, START_CODE, tmp2, and tmp3.

◆ operator()() [2/2]

void Chroma::EvenOddPrecWilsonLinOp::operator() ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

Override inherited one with a few more funkies.

Reimplemented from Chroma::EvenOddPrecLinearOperator< T, P, Q >.

Member Data Documentation

◆ coeffs

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

Nd array of coefficients of terms in the action

Definition at line 151 of file eoprec_wilson_linop_w.h.

◆ D

WilsonDslash Chroma::EvenOddPrecWilsonLinOp::D
private

Wilson dslash term

Definition at line 156 of file eoprec_wilson_linop_w.h.

Referenced by getFermBC().

◆ fact

Real Chroma::EvenOddPrecWilsonLinOp::fact
private

Definition at line 153 of file eoprec_wilson_linop_w.h.

Referenced by evenEvenLinOp(), and oddOddLinOp().

◆ invfact

Real Chroma::EvenOddPrecWilsonLinOp::invfact
private

tmp holding 1/(Nd+Mass)

Definition at line 154 of file eoprec_wilson_linop_w.h.

Referenced by evenEvenInvLinOp().

◆ Mass

Real Chroma::EvenOddPrecWilsonLinOp::Mass
private

yep, the mass

Definition at line 150 of file eoprec_wilson_linop_w.h.


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