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

Unpreconditioned W12 operator. More...

#include <unprec_w12_linop_w.h>

Inheritance diagram for Chroma::UnprecW12LinOp:
Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::LinearOperator< LatticeFermion >

Public Types

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

Public Member Functions

 UnprecW12LinOp ()
 Partial constructor. More...
 
 UnprecW12LinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Full constructor. More...
 
 ~UnprecW12LinOp ()
 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 CloverFermActParams &param_)
 Creation routine. More...
 
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Derivative of unpreconditioned W12 dM/dU. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~UnprecLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &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< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< LatticeFermion >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Protected Member Functions

void gamW (multi1d< LatticeFermion > &chi, const LatticeFermion &psi, int j_decay, enum PlusMinus isign) const
 GAMWM. More...
 
void gamWmu (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, int j_decay, enum PlusMinus isign) const
 GAMWMUM. More...
 

Private Attributes

CloverFermActParams param
 
Real aniso_fact
 
Real fact1
 
Real fact2
 
Real fact3
 
Real fact4
 
int j_decay
 
multi1d< LatticeColorMatrix > u
 
CloverTerm A
 

Detailed Description

Unpreconditioned W12 operator.

The W12 action does Chi = (m0 - (2/3*((1/2)*(1/4))*sigma.F + W' + (1/6)*W^2_mu) * Psi

Definition at line 22 of file unprec_w12_linop_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 28 of file unprec_w12_linop_w.h.

◆ Q

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

Definition at line 29 of file unprec_w12_linop_w.h.

◆ T

typedef LatticeFermion Chroma::UnprecW12LinOp::T

Definition at line 27 of file unprec_w12_linop_w.h.

Constructor & Destructor Documentation

◆ UnprecW12LinOp() [1/2]

Chroma::UnprecW12LinOp::UnprecW12LinOp ( )
inline

Partial constructor.

Definition at line 32 of file unprec_w12_linop_w.h.

◆ UnprecW12LinOp() [2/2]

Chroma::UnprecW12LinOp::UnprecW12LinOp ( Handle< FermState< T, P, Q > >  fs,
const CloverFermActParams param_ 
)
inline

Full constructor.

Definition at line 35 of file unprec_w12_linop_w.h.

References create().

◆ ~UnprecW12LinOp()

Chroma::UnprecW12LinOp::~UnprecW12LinOp ( )
inline

Destructor is automatic.

Definition at line 39 of file unprec_w12_linop_w.h.

Member Function Documentation

◆ create()

void Chroma::UnprecW12LinOp::create ( Handle< FermState< T, P, Q > >  fs,
const CloverFermActParams param_ 
)

Creation routine.

Referenced by UnprecW12LinOp().

◆ deriv()

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

◆ gamW()

void Chroma::UnprecW12LinOp::gamW ( multi1d< LatticeFermion > &  chi,
const LatticeFermion &  psi,
int  j_decay,
enum PlusMinus  isign 
) const
protected

GAMWM.

Description:

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

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

    • (1 + isign gamma ) U (x-mu) psi(x-mu) mu mu

◆ gamWmu()

void Chroma::UnprecW12LinOp::gamWmu ( multi1d< LatticeFermion > &  chi,
const multi1d< LatticeFermion > &  psi,
int  j_decay,
enum PlusMinus  isign 
) const
protected

GAMWMUM.

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

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

    • (1 + isign gamma ) U (x-mu) psi (x-mu) mu mu mu

◆ getFermBC()

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

Return the fermion BC object for this linear operator.

Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 42 of file unprec_w12_linop_w.h.

References A, and Chroma::QDPCloverTermT< T, U >::getFermBC().

◆ nFlops()

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

Return flops performed by the operator()

Reimplemented from Chroma::LinearOperator< LatticeFermion >.

◆ operator()()

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

Apply the operator onto a source std::vector.

Implements Chroma::LinearOperator< LatticeFermion >.

Member Data Documentation

◆ A

CloverTerm Chroma::UnprecW12LinOp::A
private

Definition at line 101 of file unprec_w12_linop_w.h.

Referenced by getFermBC().

◆ aniso_fact

Real Chroma::UnprecW12LinOp::aniso_fact
private

Definition at line 94 of file unprec_w12_linop_w.h.

◆ fact1

Real Chroma::UnprecW12LinOp::fact1
private

Definition at line 95 of file unprec_w12_linop_w.h.

◆ fact2

Real Chroma::UnprecW12LinOp::fact2
private

Definition at line 96 of file unprec_w12_linop_w.h.

◆ fact3

Real Chroma::UnprecW12LinOp::fact3
private

Definition at line 97 of file unprec_w12_linop_w.h.

◆ fact4

Real Chroma::UnprecW12LinOp::fact4
private

Definition at line 98 of file unprec_w12_linop_w.h.

◆ j_decay

int Chroma::UnprecW12LinOp::j_decay
private

Definition at line 99 of file unprec_w12_linop_w.h.

◆ param

CloverFermActParams Chroma::UnprecW12LinOp::param
private

Definition at line 93 of file unprec_w12_linop_w.h.

◆ u

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

Definition at line 100 of file unprec_w12_linop_w.h.


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