#include <eoprec_ovext_linop_array_w.h>
Inheritance diagram for Chroma::EvenOddPrecOvExtLinOpArray:

Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| EvenOddPrecOvExtLinOpArray (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &Mass_, const Real &b5_, const Real &c5_) | |
| Full constructor. | |
| void | create (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &m_q_, const Real &b5_, const Real &c5_) |
| Creation routine. | |
| int | size () const |
| Length of DW flavor index/space. | |
| ~EvenOddPrecOvExtLinOpArray () | |
| Destructor is automatic. | |
| const FermBC< T, P, Q > & | getFermBC () const |
| Return the fermion BC object for this linear operator. | |
| void | evenEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| void | oddOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Apply the the odd-odd block onto a source vector. | |
| void | evenOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Apply the the even-odd block onto a source vector. | |
| void | oddEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Apply the the odd-even block onto a source vector. | |
| void | evenEvenInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Apply the inverse of the odd-odd block onto a source vector. | |
| void | oddOddInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Apply the inverse of the odd-odd block onto a source vector. | |
| 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 vector. | |
| 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 vector. | |
| 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 vector. | |
| 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 vector. | |
| unsigned long | evenEvenNFlops (void) const |
| Return flops performed by the evenEvenLinOp. | |
| unsigned long | oddOddNFlops (void) const |
| Return flops performed by the oddOddLinOp. | |
| unsigned long | evenOddNFlops (void) const |
| Return flops performed by the evenOddLinOp. | |
| unsigned long | oddEvenNFlops (void) const |
| Return flops performed by the oddEvenLinOp. | |
| unsigned long | evenEvenInvNFlops (void) const |
| Return flops performed by the evenEvenInvLinOp. | |
| unsigned long | nFlops () const |
| Return flops performed by the operator(). | |
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 domain-wall fermion operator. | |
| 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 domain-wall fermion operator. | |
| void | applyOffDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
| Apply the off diagonal block. | |
| 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. | |
| unsigned long | diagNFlops (void) const |
| Return flops performed by the diagonal part. | |
| unsigned long | offDiagNFlops (void) const |
| Return flops performed by the off diagonal part. | |
| unsigned long | diagInvNFlops (void) const |
| Return flops performed by the diag inv part. | |
| EvenOddPrecOvExtLinOpArray () | |
| Partial constructor. | |
| void | operator= (const EvenOddPrecOvExtLinOpArray &) |
| Hide =. | |
Private Attributes | |
| int | Npoles |
| int | N5 |
| Real | A |
| multi1d< Real > | B |
| multi1d< Real > | D |
| multi1d< Real > | C |
| Real | E |
| WilsonDslashArray | Dslash |
| Real | Aprime |
| Real | Eprime |
| multi1d< Real > | Bprime |
| multi1d< Real > | Dprime |
| multi1d< Real > | Cprime |
| multi1d< Real > | Atilde |
| multi1d< Real > | Btilde |
| multi1d< Real > | Ctilde |
| multi1d< Real > | D_bd_inv |
| Real | S |
This operator applies the extended version of the hermitian overlap operator Chi = ((1+m_q)/(1-m_q)*gamma_5 + B) . Psi where B is the continued fraction of the pole approx. to eps(H(m))
This operator implements hep-lat/0005004
Definition at line 30 of file eoprec_ovext_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvExtLinOpArray::P |
Definition at line 36 of file eoprec_ovext_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvExtLinOpArray::Q |
Definition at line 37 of file eoprec_ovext_linop_array_w.h.
| typedef LatticeFermion Chroma::EvenOddPrecOvExtLinOpArray::T |
Definition at line 35 of file eoprec_ovext_linop_array_w.h.
| Chroma::EvenOddPrecOvExtLinOpArray::EvenOddPrecOvExtLinOpArray | ( | Handle< FermState< T, P, Q > > | fs, | |
| const int | Npoles_, | |||
| const Real & | coeffP_, | |||
| const multi1d< Real > & | resP_, | |||
| const multi1d< Real > & | rootQ_, | |||
| const multi1d< Real > & | beta_, | |||
| const Real & | OverMass_, | |||
| const Real & | Mass_, | |||
| const Real & | b5_, | |||
| const Real & | c5_ | |||
| ) | [inline] |
| Chroma::EvenOddPrecOvExtLinOpArray::~EvenOddPrecOvExtLinOpArray | ( | ) | [inline] |
| Chroma::EvenOddPrecOvExtLinOpArray::EvenOddPrecOvExtLinOpArray | ( | ) | [inline, protected] |
| void Chroma::EvenOddPrecOvExtLinOpArray::applyDerivOffDiag | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const multi1d< LatticeFermion > & | chi, | |||
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign, | |||
| int | cb | |||
| ) | const [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 431 of file eoprec_ovext_linop_array_w.cc.
Referenced by derivEvenOddLinOp(), and derivOddEvenLinOp().
| void Chroma::EvenOddPrecOvExtLinOpArray::applyDiag | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign, | |||
| const int | cb | |||
| ) | const [protected] |
Apply the even-even (odd-odd) coupling piece of the domain-wall fermion operator.
| chi | result (Modify) | |
| psi | source (Read) | |
| isign | Flag ( PLUS | MINUS ) (Read) | |
| cb | checkerboard ( 0 | 1 ) (Read) |
Definition at line 109 of file eoprec_ovext_linop_array_w.cc.
Referenced by evenEvenLinOp(), and oddOddLinOp().
| void Chroma::EvenOddPrecOvExtLinOpArray::applyDiagInv | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign, | |||
| const int | cb | |||
| ) | const [protected] |
Apply the inverse even-even (odd-odd) coupling piece of the domain-wall fermion operator.
| chi | result (Modify) | |
| psi | source (Read) | |
| isign | Flag ( PLUS | MINUS ) (Read) | |
| cb | checkerboard ( 0 | 1 ) (Read) |
Definition at line 266 of file eoprec_ovext_linop_array_w.cc.
Referenced by evenEvenInvLinOp(), and oddOddInvLinOp().
| void Chroma::EvenOddPrecOvExtLinOpArray::applyOffDiag | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign, | |||
| const int | cb | |||
| ) | const [protected] |
Apply the off diagonal block.
| chi | result (Modify) | |
| psi | source (Read) | |
| isign | Flag ( PLUS | MINUS ) (Read) | |
| cb | checkerboard ( 0 | 1 ) (Read) |
Definition at line 176 of file eoprec_ovext_linop_array_w.cc.
Referenced by evenOddLinOp(), and oddEvenLinOp().
| void Chroma::EvenOddPrecOvExtLinOpArray::derivEvenEvenLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const multi1d< LatticeFermion > & | chi, | |||
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the even-even block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 127 of file eoprec_ovext_linop_array_w.h.
| void Chroma::EvenOddPrecOvExtLinOpArray::derivEvenOddLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const multi1d< LatticeFermion > & | chi, | |||
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the the even-odd block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 147 of file eoprec_ovext_linop_array_w.h.
References applyDerivOffDiag().
| void Chroma::EvenOddPrecOvExtLinOpArray::derivOddEvenLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const multi1d< LatticeFermion > & | chi, | |||
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the the odd-even block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 155 of file eoprec_ovext_linop_array_w.h.
References applyDerivOffDiag().
| void Chroma::EvenOddPrecOvExtLinOpArray::derivOddOddLinOp | ( | multi1d< LatticeColorMatrix > & | ds_u, | |
| const multi1d< LatticeFermion > & | chi, | |||
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline, virtual] |
Apply the the odd-odd block onto a source vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 138 of file eoprec_ovext_linop_array_w.h.
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::diagInvNFlops | ( | void | ) | const [inline, protected] |
Return flops performed by the diag inv part.
Definition at line 263 of file eoprec_ovext_linop_array_w.h.
References N5.
Referenced by evenEvenInvNFlops().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::diagNFlops | ( | void | ) | const [inline, protected] |
Return flops performed by the diagonal part.
Definition at line 251 of file eoprec_ovext_linop_array_w.h.
References N5.
Referenced by evenEvenNFlops(), and oddOddNFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::evenEvenInvLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
Apply the inverse of the odd-odd block onto a source vector.
Definition at line 109 of file eoprec_ovext_linop_array_w.h.
References applyDiagInv().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::evenEvenInvNFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the evenEvenInvLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 184 of file eoprec_ovext_linop_array_w.h.
References diagInvNFlops().
Referenced by nFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::evenEvenLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::evenEvenNFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the evenEvenLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 164 of file eoprec_ovext_linop_array_w.h.
References diagNFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::evenOddLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
Apply the the even-odd block onto a source vector.
Definition at line 92 of file eoprec_ovext_linop_array_w.h.
References applyOffDiag().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::evenOddNFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the evenOddLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 174 of file eoprec_ovext_linop_array_w.h.
References offDiagNFlops().
Referenced by nFlops().
Return the fermion BC object for this linear operator.
Definition at line 72 of file eoprec_ovext_linop_array_w.h.
References Dslash, and Chroma::QDPWilsonDslashArrayOpt::getFermBC().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::nFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the operator().
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 189 of file eoprec_ovext_linop_array_w.h.
References evenEvenInvNFlops(), evenOddNFlops(), N5, oddEvenNFlops(), and oddOddNFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::oddEvenLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
Apply the the odd-even block onto a source vector.
Definition at line 100 of file eoprec_ovext_linop_array_w.h.
References applyOffDiag().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::oddEvenNFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the oddEvenLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 179 of file eoprec_ovext_linop_array_w.h.
References offDiagNFlops().
Referenced by nFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::oddOddInvLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
Apply the inverse of the odd-odd block onto a source vector.
Definition at line 118 of file eoprec_ovext_linop_array_w.h.
References applyDiagInv().
| void Chroma::EvenOddPrecOvExtLinOpArray::oddOddLinOp | ( | multi1d< LatticeFermion > & | chi, | |
| const multi1d< LatticeFermion > & | psi, | |||
| enum PlusMinus | isign | |||
| ) | const [inline] |
Apply the the odd-odd block onto a source vector.
Definition at line 84 of file eoprec_ovext_linop_array_w.h.
References applyDiag().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::oddOddNFlops | ( | void | ) | const [inline, virtual] |
Return flops performed by the oddOddLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 169 of file eoprec_ovext_linop_array_w.h.
References diagNFlops().
Referenced by nFlops().
| unsigned long Chroma::EvenOddPrecOvExtLinOpArray::offDiagNFlops | ( | void | ) | const [inline, protected] |
Return flops performed by the off diagonal part.
Definition at line 257 of file eoprec_ovext_linop_array_w.h.
References N5.
Referenced by evenOddNFlops(), and oddEvenNFlops().
| void Chroma::EvenOddPrecOvExtLinOpArray::operator= | ( | const EvenOddPrecOvExtLinOpArray & | ) | [inline, protected] |
| int Chroma::EvenOddPrecOvExtLinOpArray::size | ( | void | ) | const [inline, virtual] |
Length of DW flavor index/space.
Definition at line 66 of file eoprec_ovext_linop_array_w.h.
References N5.
Real Chroma::EvenOddPrecOvExtLinOpArray::A [private] |
Definition at line 280 of file eoprec_ovext_linop_array_w.h.
Real Chroma::EvenOddPrecOvExtLinOpArray::Aprime [private] |
Definition at line 288 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Atilde [private] |
Definition at line 295 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::B [private] |
Definition at line 281 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Bprime [private] |
Definition at line 290 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Btilde [private] |
Definition at line 296 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::C [private] |
Definition at line 283 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Cprime [private] |
Definition at line 292 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Ctilde [private] |
Definition at line 297 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::D [private] |
Definition at line 282 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::D_bd_inv [private] |
Definition at line 298 of file eoprec_ovext_linop_array_w.h.
multi1d<Real> Chroma::EvenOddPrecOvExtLinOpArray::Dprime [private] |
Definition at line 291 of file eoprec_ovext_linop_array_w.h.
Real Chroma::EvenOddPrecOvExtLinOpArray::E [private] |
Definition at line 284 of file eoprec_ovext_linop_array_w.h.
Real Chroma::EvenOddPrecOvExtLinOpArray::Eprime [private] |
Definition at line 289 of file eoprec_ovext_linop_array_w.h.
int Chroma::EvenOddPrecOvExtLinOpArray::N5 [private] |
Definition at line 276 of file eoprec_ovext_linop_array_w.h.
Referenced by diagInvNFlops(), diagNFlops(), nFlops(), offDiagNFlops(), and size().
int Chroma::EvenOddPrecOvExtLinOpArray::Npoles [private] |
Definition at line 275 of file eoprec_ovext_linop_array_w.h.
Real Chroma::EvenOddPrecOvExtLinOpArray::S [private] |
Definition at line 299 of file eoprec_ovext_linop_array_w.h.
1.4.7