Chroma::UnprecW12LinOp Class Reference
[Fermion linear operators]

Unpreconditioned W12 operator. More...

#include <unprec_w12_linop_w.h>

Inheritance diagram for Chroma::UnprecW12LinOp:

Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperator< T, P, Q > Chroma::LinearOperator< T > List of all members.

Public Types

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

Public Member Functions

 UnprecW12LinOp ()
 Partial constructor.
 UnprecW12LinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Full constructor.
 ~UnprecW12LinOp ()
 Destructor is automatic.
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator.
void create (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Creation routine.
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source vector.
void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Derivative of unpreconditioned W12 dM/dU.
unsigned long nFlops () const
 Return flops performed by the operator().

Protected Member Functions

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

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 23 of file unprec_w12_linop_w.h.


Member Typedef Documentation

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

Definition at line 29 of file unprec_w12_linop_w.h.

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

Definition at line 30 of file unprec_w12_linop_w.h.

typedef LatticeFermion Chroma::UnprecW12LinOp::T

Definition at line 28 of file unprec_w12_linop_w.h.


Constructor & Destructor Documentation

Chroma::UnprecW12LinOp::UnprecW12LinOp (  )  [inline]

Partial constructor.

Definition at line 33 of file unprec_w12_linop_w.h.

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

Full constructor.

Definition at line 36 of file unprec_w12_linop_w.h.

References create().

Chroma::UnprecW12LinOp::~UnprecW12LinOp (  )  [inline]

Destructor is automatic.

Definition at line 40 of file unprec_w12_linop_w.h.


Member Function Documentation

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

Creation routine.

Referenced by UnprecW12LinOp().

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

Derivative of unpreconditioned W12 dM/dU.

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

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

const FermBC<T,P,Q>& Chroma::UnprecW12LinOp::getFermBC (  )  const [inline, virtual]

Return the fermion BC object for this linear operator.

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

Definition at line 43 of file unprec_w12_linop_w.h.

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

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

Return flops performed by the operator().

Reimplemented from Chroma::LinearOperator< T >.

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

Apply the operator onto a source vector.


Member Data Documentation

CloverTerm Chroma::UnprecW12LinOp::A [private]

Definition at line 102 of file unprec_w12_linop_w.h.

Referenced by getFermBC().

Real Chroma::UnprecW12LinOp::aniso_fact [private]

Definition at line 95 of file unprec_w12_linop_w.h.

Real Chroma::UnprecW12LinOp::fact1 [private]

Definition at line 96 of file unprec_w12_linop_w.h.

Real Chroma::UnprecW12LinOp::fact2 [private]

Definition at line 97 of file unprec_w12_linop_w.h.

Real Chroma::UnprecW12LinOp::fact3 [private]

Definition at line 98 of file unprec_w12_linop_w.h.

Real Chroma::UnprecW12LinOp::fact4 [private]

Definition at line 99 of file unprec_w12_linop_w.h.

int Chroma::UnprecW12LinOp::j_decay [private]

Definition at line 100 of file unprec_w12_linop_w.h.

CloverFermActParams Chroma::UnprecW12LinOp::param [private]

Definition at line 94 of file unprec_w12_linop_w.h.

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

Definition at line 101 of file unprec_w12_linop_w.h.


The documentation for this class was generated from the following file:
Generated on Sun Nov 22 04:40:13 2009 for CHROMA by  doxygen 1.4.7