CHROMA
|
4D Even Odd preconditioned Overlap-DWF (Borici) linear operator More...
#include <eoprec_ovdwf_linop_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
EvenOddPrecOvDWLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const Real &m_q, int N5_) | |
Full constructor. More... | |
void | create (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const Real &m_q_, int N5_) |
Creation routine. More... | |
~EvenOddPrecOvDWLinOpArray () | |
Destructor is automatic. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
void | evenEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the even-even block onto a source std::vector. More... | |
void | evenEvenInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the inverse of the even-even block onto a source std::vector. More... | |
void | evenOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the even-odd block onto a source std::vector. More... | |
void | oddEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-even block onto a source std::vector. More... | |
void | oddOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-odd block onto a source std::vector. More... | |
void | oddOddInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the inverse of the odd-odd block onto a source std::vector. More... | |
void | Dminus (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int s5) const |
Apply the Dminus operator on a lattice fermion. See my notes ;-) More... | |
Public Member Functions inherited from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~EvenOddPrecConstDetLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
const Subset & | subset () const |
Only defined on the odd lattice. More... | |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
virtual void | derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the even-even block onto a source std::vector. More... | |
virtual void | derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &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 multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &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 multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-odd block onto a source std::vector. More... | |
Public Member Functions inherited from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q > | |
virtual | ~EvenOddPrecLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
virtual void | unprecLinOp (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply the UNPRECONDITIONED operator onto a source std::vector. More... | |
virtual void | derivUnprecLinOp (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
virtual unsigned long | evenEvenNFlops () const |
Apply the derivative of the UNPRECONDITIONED operator onto a source std::vector. 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... | |
virtual unsigned long | nFlops () const |
Return flops performed by the operator() More... | |
Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q > | |
virtual | ~DiffLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual void | deriv (P &ds_u, const multi1d< T > &chi, const multi1d< 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::LinearOperatorArray< T > | |
virtual | ~LinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const |
Apply the operator onto a source std::vector to some precision. More... | |
Protected Member Functions | |
void | applyDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the even-even (odd-odd) coupling piece of the Borici fermion operator. More... | |
void | applyDiagInv (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the inverse even-even (odd-odd) coupling piece of the Borici fermion operator. More... | |
void | applyOffDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the even-odd (odd-even) coupling piece of the Borici operator. More... | |
EvenOddPrecOvDWLinOpArray () | |
Partial constructor. More... | |
void | operator= (const EvenOddPrecOvDWLinOpArray &) |
Hide =. More... | |
Private Attributes | |
Real | WilsonMass |
Real | m_q |
Real | a5 |
int | N5 |
Real | c5TwoKappa |
Real | c5InvTwoKappa |
Real | b5TwoKappa |
Real | b5InvTwoKappa |
Real | TwoKappa |
Real | Kappa |
Real | invDfactor |
WilsonDslash | D |
4D Even Odd preconditioned Overlap-DWF (Borici) linear operator
This routine is specific to Wilson fermions!
Definition at line 22 of file eoprec_ovdwf_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvDWLinOpArray::P |
Definition at line 28 of file eoprec_ovdwf_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvDWLinOpArray::Q |
Definition at line 29 of file eoprec_ovdwf_linop_array_w.h.
typedef LatticeFermion Chroma::EvenOddPrecOvDWLinOpArray::T |
Definition at line 27 of file eoprec_ovdwf_linop_array_w.h.
|
inline |
Full constructor.
Definition at line 32 of file eoprec_ovdwf_linop_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 41 of file eoprec_ovdwf_linop_array_w.h.
|
inlineprotected |
Partial constructor.
Definition at line 148 of file eoprec_ovdwf_linop_array_w.h.
|
virtual |
Apply the Dminus operator on a lattice fermion. See my notes ;-)
Definition at line 296 of file eoprec_ovdwf_linop_array_w.cc.
References chi, Chroma::isign, and psi.
|
inlinevirtual |
Apply the inverse of the even-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 60 of file eoprec_ovdwf_linop_array_w.h.
References applyDiagInv(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Apply the even-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 51 of file eoprec_ovdwf_linop_array_w.h.
References applyDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Apply the the even-odd block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 68 of file eoprec_ovdwf_linop_array_w.h.
References applyOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
Return the fermion BC object for this linear operator.
Definition at line 47 of file eoprec_ovdwf_linop_array_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
inlinevirtual |
Apply the the odd-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 76 of file eoprec_ovdwf_linop_array_w.h.
References applyOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inline |
Apply the inverse of the odd-odd block onto a source std::vector.
Definition at line 94 of file eoprec_ovdwf_linop_array_w.h.
References applyDiagInv(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Apply the the odd-odd block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 85 of file eoprec_ovdwf_linop_array_w.h.
References applyDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlineprotected |
Hide =.
Definition at line 150 of file eoprec_ovdwf_linop_array_w.h.
|
inlinevirtual |
Length of DW flavor index/space.
Definition at line 44 of file eoprec_ovdwf_linop_array_w.h.
References N5.
|
private |
Definition at line 155 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 161 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 160 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 159 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 158 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 167 of file eoprec_ovdwf_linop_array_w.h.
Referenced by getFermBC().
|
private |
Definition at line 165 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 164 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 154 of file eoprec_ovdwf_linop_array_w.h.
Referenced by EvenOddPrecOvDWLinOpArray().
|
private |
Definition at line 156 of file eoprec_ovdwf_linop_array_w.h.
Referenced by size().
|
private |
Definition at line 163 of file eoprec_ovdwf_linop_array_w.h.
|
private |
Definition at line 153 of file eoprec_ovdwf_linop_array_w.h.