|
CHROMA
|
4D Even Odd preconditioned NEF domain-wall Dirac operator More...
#include <eoprec_nef_general_linop_array_w.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| EvenOddPrecGenNEFDWLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, const Real &m_q_, int N5_) | |
| EvenOddPrecGenNEFDWLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const Real &b5_, const Real &c5_, const Real &m_q_, int N5_) | |
| void | create (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const Real &m_q_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, int N5_) |
| Creation routine. More... | |
| const FermBC< T, P, Q > & | getFermBC () const |
| set b5 and c5 given kappa and a5 More... | |
| ~EvenOddPrecGenNEFDWLinOpArray () | |
| Destructor is automatic. More... | |
| int | size () const |
| Length of DW flavor index/space. 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 | 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... | |
| 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... | |
| 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... | |
| 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... | |
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... | |
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, int cb) const |
| Apply the even-even (odd-odd) coupling piece of the domain-wall fermion operator. More... | |
| void | applyDiagInv (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const |
| Apply the inverse even-even (odd-odd) coupling piece of the domain-wall fermion operator. More... | |
| void | applyOffDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const |
| Apply the even-odd (odd-even) coupling piece of the NEF operator. 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... | |
| void | applyDerivOffDiag (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const |
| Apply the even-odd (odd-even) coupling piece of the NEF operator. More... | |
| EvenOddPrecGenNEFDWLinOpArray () | |
| Partial constructor. More... | |
| void | operator= (const EvenOddPrecGenNEFDWLinOpArray &) |
| Partial constructor. More... | |
Private Attributes | |
| Real | WilsonMass |
| multi1d< Real > | c5 |
| multi1d< Real > | b5 |
| Real | m_q |
| int | N5 |
| multi1d< Real > | f_plus |
| multi1d< Real > | f_minus |
| multi1d< Real > | l |
| multi1d< Real > | r |
| multi1d< Real > | a |
| multi1d< Real > | b |
| multi1d< Real > | d |
| WilsonDslashArray | D |
4D Even Odd preconditioned NEF domain-wall Dirac operator
This routine is specific to Wilson fermions!
Definition at line 23 of file eoprec_nef_general_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecGenNEFDWLinOpArray::P |
Definition at line 29 of file eoprec_nef_general_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecGenNEFDWLinOpArray::Q |
Definition at line 30 of file eoprec_nef_general_linop_array_w.h.
| typedef LatticeFermion Chroma::EvenOddPrecGenNEFDWLinOpArray::T |
Definition at line 28 of file eoprec_nef_general_linop_array_w.h.
|
inline |
Definition at line 33 of file eoprec_nef_general_linop_array_w.h.
References create().
|
inline |
Full constructor Set b5 = 1.0 and c5=0.0 to get Shamir DWF with a5=1. Set b5 = 1.0 and c5=1.0 to get Borichi DWF.
Definition at line 49 of file eoprec_nef_general_linop_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 82 of file eoprec_nef_general_linop_array_w.h.
|
inlineprotected |
Partial constructor.
Definition at line 241 of file eoprec_nef_general_linop_array_w.h.
|
protected |
Apply the even-odd (odd-even) coupling piece of the NEF operator.
| ds_u | conjugate momenta (Read) |
| psi | left pseudofermion field (Read) |
| psi | right pseudofermion field (Read) |
| isign | Flag ( PLUS | MINUS ) (Read) |
| cb | checkerboard ( 0 | 1 ) (Read) |
Definition at line 686 of file eoprec_nef_general_linop_array_w.cc.
References Chroma::cb, chi, END_CODE, Chroma::isign, Chroma::MINUS, N5, Nd, Chroma::PLUS, psi, s, START_CODE, tmp, and Chroma::zero.
Referenced by derivEvenOddLinOp(), and derivOddEvenLinOp().
|
inlinevirtual |
Apply the even-even block onto a source std::vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 141 of file eoprec_nef_general_linop_array_w.h.
References Nd, and Chroma::zero.
|
inlinevirtual |
Apply the the even-odd block onto a source std::vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 159 of file eoprec_nef_general_linop_array_w.h.
References applyDerivOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Apply the the odd-even block onto a source std::vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 167 of file eoprec_nef_general_linop_array_w.h.
References applyDerivOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Apply the the odd-odd block onto a source std::vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 150 of file eoprec_nef_general_linop_array_w.h.
References Nd, and Chroma::zero.
|
protectedvirtual |
Apply the Dminus operator on a lattice fermion. See my notes ;-)
Definition at line 666 of file eoprec_nef_general_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 98 of file eoprec_nef_general_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 89 of file eoprec_nef_general_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 106 of file eoprec_nef_general_linop_array_w.h.
References applyOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
set b5 and c5 given kappa and a5
Return the fermion BC object for this linear operator
Definition at line 79 of file eoprec_nef_general_linop_array_w.h.
References D, and Chroma::QDPWilsonDslashArrayOpt::getFermBC().
|
inlinevirtual |
Apply the the odd-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 114 of file eoprec_nef_general_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 132 of file eoprec_nef_general_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 123 of file eoprec_nef_general_linop_array_w.h.
References applyDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlineprotected |
Partial constructor.
Definition at line 243 of file eoprec_nef_general_linop_array_w.h.
|
inlinevirtual |
Length of DW flavor index/space.
Definition at line 85 of file eoprec_nef_general_linop_array_w.h.
References N5.
|
private |
Definition at line 259 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 263 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 248 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 247 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 267 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 271 of file eoprec_nef_general_linop_array_w.h.
Referenced by getFermBC().
|
private |
Definition at line 254 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 253 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 256 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 249 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 250 of file eoprec_nef_general_linop_array_w.h.
Referenced by size().
|
private |
Definition at line 257 of file eoprec_nef_general_linop_array_w.h.
|
private |
Definition at line 246 of file eoprec_nef_general_linop_array_w.h.