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

Apply H_T * H_T. More...

#include <unprec_dwftransf_linop_w.h>

Inheritance diagram for Chroma::UnprecDWFTransfMdagMLinOp:
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

 UnprecDWFTransfMdagMLinOp ()
 Partial constructor. More...
 
 UnprecDWFTransfMdagMLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &b5_, const Real &c5_, const SysSolverCGParams &invParam_)
 Full constructor. More...
 
 ~UnprecDWFTransfMdagMLinOp ()
 Destructor is automatic. More...
 
const Subset & subset () const
 Only defined on the entire lattice. 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_, const Real &b5_, const Real &c5_, const SysSolverCGParams &invParam_)
 Creation routine. More...
 
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. 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
 Apply the derivative of the operator onto a source std::vector. 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...
 
virtual unsigned long nFlops () const
 

Private Attributes

Real Mass
 
Real b5
 
Real c5
 
SysSolverCGParams invParam
 
Handle< LinearOperator< LatticeFermion > > D_w
 
Handle< LinearOperator< LatticeFermion > > D_denum
 
Handle< FermBC< T, P, Q > > fbc
 

Detailed Description

Apply H_T * H_T.

where H_T^2 = (b5 + c5)^2 * H_w * [( 2 + (b5 + c5) D_w^dag )*( 2 + (b5 + c5) D_w )]^(-1) * H_w

Definition at line 78 of file unprec_dwftransf_linop_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 84 of file unprec_dwftransf_linop_w.h.

◆ Q

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

Definition at line 85 of file unprec_dwftransf_linop_w.h.

◆ T

typedef LatticeFermion Chroma::UnprecDWFTransfMdagMLinOp::T

Definition at line 83 of file unprec_dwftransf_linop_w.h.

Constructor & Destructor Documentation

◆ UnprecDWFTransfMdagMLinOp() [1/2]

Chroma::UnprecDWFTransfMdagMLinOp::UnprecDWFTransfMdagMLinOp ( )
inline

Partial constructor.

Definition at line 88 of file unprec_dwftransf_linop_w.h.

◆ UnprecDWFTransfMdagMLinOp() [2/2]

Chroma::UnprecDWFTransfMdagMLinOp::UnprecDWFTransfMdagMLinOp ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const Real &  b5_,
const Real &  c5_,
const SysSolverCGParams invParam_ 
)
inline

Full constructor.

Definition at line 91 of file unprec_dwftransf_linop_w.h.

References create().

◆ ~UnprecDWFTransfMdagMLinOp()

Chroma::UnprecDWFTransfMdagMLinOp::~UnprecDWFTransfMdagMLinOp ( )
inline

Destructor is automatic.

Definition at line 99 of file unprec_dwftransf_linop_w.h.

Member Function Documentation

◆ create()

void Chroma::UnprecDWFTransfMdagMLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const Real &  b5_,
const Real &  c5_,
const SysSolverCGParams invParam_ 
)

Creation routine.

Definition at line 100 of file unprec_dwftransf_linop_w.cc.

References Mass.

Referenced by UnprecDWFTransfMdagMLinOp().

◆ getFermBC()

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

Return the fermion BC object for this linear operator.

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

Definition at line 105 of file unprec_dwftransf_linop_w.h.

References fbc.

◆ operator()()

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

Apply the operator onto a source std::vector.

Implements Chroma::LinearOperator< LatticeFermion >.

Definition at line 124 of file unprec_dwftransf_linop_w.cc.

References chi, END_CODE, Chroma::InvCG2(), n_count, Chroma::PLUS, psi, START_CODE, and tmp.

◆ subset()

const Subset& Chroma::UnprecDWFTransfMdagMLinOp::subset ( void  ) const
inlinevirtual

Only defined on the entire lattice.

Implements Chroma::LinearOperator< LatticeFermion >.

Definition at line 102 of file unprec_dwftransf_linop_w.h.

Member Data Documentation

◆ b5

Real Chroma::UnprecDWFTransfMdagMLinOp::b5
private

Definition at line 120 of file unprec_dwftransf_linop_w.h.

◆ c5

Real Chroma::UnprecDWFTransfMdagMLinOp::c5
private

Definition at line 121 of file unprec_dwftransf_linop_w.h.

◆ D_denum

Handle< LinearOperator<LatticeFermion> > Chroma::UnprecDWFTransfMdagMLinOp::D_denum
private

Definition at line 124 of file unprec_dwftransf_linop_w.h.

◆ D_w

Handle< LinearOperator<LatticeFermion> > Chroma::UnprecDWFTransfMdagMLinOp::D_w
private

Definition at line 123 of file unprec_dwftransf_linop_w.h.

◆ fbc

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

Definition at line 125 of file unprec_dwftransf_linop_w.h.

Referenced by getFermBC().

◆ invParam

SysSolverCGParams Chroma::UnprecDWFTransfMdagMLinOp::invParam
private

Definition at line 122 of file unprec_dwftransf_linop_w.h.

◆ Mass

Real Chroma::UnprecDWFTransfMdagMLinOp::Mass
private

Definition at line 119 of file unprec_dwftransf_linop_w.h.


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