#include <eoprec_parwilson_linop_w.h>
Inheritance diagram for Chroma::EvenOddPrecParWilsonLinOp:

Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| EvenOddPrecParWilsonLinOp () | |
| Partial constructor. | |
| EvenOddPrecParWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &H_) | |
| Full constructor. | |
| ~EvenOddPrecParWilsonLinOp () | |
| 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 Real &Mass_, const Real &H_) |
| Creation routine. | |
| void | evenEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the the even-even block onto a source vector. | |
| void | evenEvenInvLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the inverse of the even-even block onto a source vector. | |
| void | evenOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply even-odd linop component. | |
| void | oddEvenLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply odd-even linop component. | |
| void | oddOddLinOp (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the the odd-odd block onto a source vector. | |
| void | operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Override inherited one with a few more funkies. | |
| void | derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the even-even block onto a source vector. | |
| void | derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Derivative of even-odd linop component. | |
| void | derivOddEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Derivative of odd-even linop component. | |
| void | derivOddOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the the odd-odd block onto a source vector. | |
| unsigned long | nFlops () const |
| Return flops performed by the operator(). | |
Private Attributes | |
| Real | fact |
| Real | invfact1 |
| Real | invfact2 |
| Real | Mass |
| Real | H |
| WilsonDslash | D |
This routine is specific to Wilson fermions!
The kernel for Wilson fermions with a parity breaking term is
M = (d+M) + i*H*gamma_5 - (1/2) D'
Definition at line 27 of file eoprec_parwilson_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecParWilsonLinOp::P |
Definition at line 33 of file eoprec_parwilson_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecParWilsonLinOp::Q |
Definition at line 34 of file eoprec_parwilson_linop_w.h.
| typedef LatticeFermion Chroma::EvenOddPrecParWilsonLinOp::T |
Definition at line 32 of file eoprec_parwilson_linop_w.h.
| Chroma::EvenOddPrecParWilsonLinOp::EvenOddPrecParWilsonLinOp | ( | ) | [inline] |
| Chroma::EvenOddPrecParWilsonLinOp::~EvenOddPrecParWilsonLinOp | ( | ) | [inline] |
| void Chroma::EvenOddPrecParWilsonLinOp::create | ( | Handle< FermState< T, P, Q > > | fs, | |
| const Real & | Mass_, | |||
| const Real & | H_ | |||
| ) |
Creation routine.
| u_ | gauge field (Read) | |
| Mass_ | fermion mass (Read) | |
| H_ | parity breaking term (Read) |
Definition at line 16 of file eoprec_parwilson_linop_w.cc.
References Chroma::QDPWilsonDslashT< T, P, Q >::create(), D, fact, H, invfact1, invfact2, and Mass.
Referenced by EvenOddPrecParWilsonLinOp().
| void Chroma::EvenOddPrecParWilsonLinOp::derivEvenEvenLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const LatticeFermion & | chi, | |||
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the even-even block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 80 of file eoprec_parwilson_linop_w.h.
| void Chroma::EvenOddPrecParWilsonLinOp::derivEvenOddLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const LatticeFermion & | chi, | |||
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [virtual] |
Derivative of even-odd linop component.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 193 of file eoprec_parwilson_linop_w.cc.
References D, Chroma::WilsonDslashBase< T, P, Q >::deriv(), END_CODE, and START_CODE.
| void Chroma::EvenOddPrecParWilsonLinOp::derivOddEvenLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const LatticeFermion & | chi, | |||
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [virtual] |
Derivative of odd-even linop component.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 213 of file eoprec_parwilson_linop_w.cc.
References D, Chroma::WilsonDslashBase< T, P, Q >::deriv(), END_CODE, and START_CODE.
| void Chroma::EvenOddPrecParWilsonLinOp::derivOddOddLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const LatticeFermion & | chi, | |||
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the the odd-odd block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 100 of file eoprec_parwilson_linop_w.h.
| void Chroma::EvenOddPrecParWilsonLinOp::evenEvenInvLinOp | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Apply the inverse of the even-even block onto a source vector.
Definition at line 59 of file eoprec_parwilson_linop_w.cc.
References invfact1, invfact2, Chroma::MINUS, and Chroma::PLUS.
| void Chroma::EvenOddPrecParWilsonLinOp::evenEvenLinOp | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Apply the the even-even block onto a source vector.
Definition at line 33 of file eoprec_parwilson_linop_w.cc.
References fact, H, Chroma::MINUS, and Chroma::PLUS.
| void Chroma::EvenOddPrecParWilsonLinOp::evenOddLinOp | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Apply even-odd linop component.
The operator acts on the entire even sublattice
| chi | Pseudofermion field (Write) | |
| psi | Pseudofermion field (Read) | |
| isign | Flag ( PLUS | MINUS ) (Read) |
Definition at line 103 of file eoprec_parwilson_linop_w.cc.
References Chroma::QDPWilsonDslashT< T, P, Q >::apply(), D, END_CODE, and START_CODE.
Return the fermion BC object for this linear operator.
Definition at line 48 of file eoprec_parwilson_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
Referenced by operator()().
| unsigned long Chroma::EvenOddPrecParWilsonLinOp::nFlops | ( | ) | const [virtual] |
Return flops performed by the operator().
Reimplemented from Chroma::EvenOddPrecLinearOperator< T, P, Q >.
Definition at line 50 of file eoprec_parwilson_linop_w.cc.
References D, and Chroma::WilsonDslashBase< T, P, Q >::nFlops().
| void Chroma::EvenOddPrecParWilsonLinOp::oddEvenLinOp | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Apply odd-even linop component.
The operator acts on the entire odd sublattice
| chi | Pseudofermion field (Write) | |
| psi | Pseudofermion field (Read) | |
| isign | Flag ( PLUS | MINUS ) (Read) |
Definition at line 127 of file eoprec_parwilson_linop_w.cc.
References Chroma::QDPWilsonDslashT< T, P, Q >::apply(), D, END_CODE, and START_CODE.
| void Chroma::EvenOddPrecParWilsonLinOp::oddOddLinOp | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Apply the the odd-odd block onto a source vector.
Definition at line 79 of file eoprec_parwilson_linop_w.cc.
References fact, H, Chroma::MINUS, and Chroma::PLUS.
| void Chroma::EvenOddPrecParWilsonLinOp::operator() | ( | LatticeFermion & | chi, | |
| const LatticeFermion & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const |
Override inherited one with a few more funkies.
Definition at line 144 of file eoprec_parwilson_linop_w.cc.
References Chroma::QDPWilsonDslashT< T, P, Q >::apply(), D, fact, getFermBC(), H, invfact1, invfact2, Chroma::MINUS, and Chroma::PLUS.
Definition at line 119 of file eoprec_parwilson_linop_w.h.
Referenced by create(), derivEvenOddLinOp(), derivOddEvenLinOp(), evenOddLinOp(), getFermBC(), nFlops(), oddEvenLinOp(), and operator()().
Real Chroma::EvenOddPrecParWilsonLinOp::fact [private] |
Definition at line 112 of file eoprec_parwilson_linop_w.h.
Referenced by create(), evenEvenLinOp(), oddOddLinOp(), and operator()().
Real Chroma::EvenOddPrecParWilsonLinOp::H [private] |
Definition at line 117 of file eoprec_parwilson_linop_w.h.
Referenced by create(), evenEvenLinOp(), oddOddLinOp(), and operator()().
Real Chroma::EvenOddPrecParWilsonLinOp::invfact1 [private] |
Definition at line 113 of file eoprec_parwilson_linop_w.h.
Referenced by create(), evenEvenInvLinOp(), and operator()().
Real Chroma::EvenOddPrecParWilsonLinOp::invfact2 [private] |
Definition at line 114 of file eoprec_parwilson_linop_w.h.
Referenced by create(), evenEvenInvLinOp(), and operator()().
Real Chroma::EvenOddPrecParWilsonLinOp::Mass [private] |
1.4.7