|
CHROMA
|
Even-odd preconditioned Pauli-Villars Continued Fraction 5D. More...
#include <eoprec_ovlap_contfrac5d_pv_linop_array_w.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| EvenOddPrecOvlapContFrac5DPVLinOpArray (Handle< FermState< T, P, Q > > state, const Real &_m_q, const Real &_OverMass, int _N5, const Real &_scale_fac, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, const bool _isLastZeroP) | |
| Full constructor. More... | |
| int | size () const |
| Length of DW flavor index/space. More... | |
| ~EvenOddPrecOvlapContFrac5DPVLinOpArray () | |
| Destructor is automatic. 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 | 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 | 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 | 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 | 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... | |
| unsigned long | evenEvenNFlops (void) const |
| Return flops performed by the evenEvenLinOp. More... | |
| unsigned long | oddOddNFlops (void) const |
| Return flops performed by the oddOddLinOp. More... | |
| unsigned long | evenOddNFlops (void) const |
| Return flops performed by the evenOddLinOp. More... | |
| unsigned long | oddEvenNFlops (void) const |
| Return flops performed by the oddEvenLinOp. More... | |
| unsigned long | evenEvenInvNFlops (void) const |
| Return flops performed by the evenEvenInvLinOp. More... | |
| unsigned long | nFlops () const |
| Return flops performed by the operator() 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 |
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 domain-wall 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 domain-wall fermion operator. More... | |
| void | applyOffDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
| Apply the off diagonal block. 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... | |
| unsigned long | diagNFlops (void) const |
| Return flops performed by the diagonal part. More... | |
| unsigned long | offDiagNFlops (void) const |
| Return flops performed by the diagonal part. More... | |
| unsigned long | diagInvNFlops (void) const |
| Return flops performed by the diagonal part. More... | |
| void | operator= (const EvenOddPrecOvlapContFrac5DPVLinOpArray &) |
| Hide partial constructor. More... | |
Private Attributes | |
| WilsonDslashArray | Dslash |
| const Real | m_q |
| const Real | OverMass |
| const int | N5 |
| const Real | scale_fac |
| const multi1d< Real > | alpha |
| const multi1d< Real > | beta |
| const bool | isLastZeroP |
| multi1d< Real > | beta_tilde |
| multi1d< Real > | a |
| multi1d< Real > | dinv |
| multi1d< Real > | u |
| multi1d< Real > | off_diag_coeff |
Even-odd preconditioned Pauli-Villars Continued Fraction 5D.
Even-odd precond. Pauli-Villars Cont. Frac. linop
Definition at line 22 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray::P |
Definition at line 28 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray::Q |
Definition at line 29 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
| typedef LatticeFermion Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray::T |
Definition at line 27 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
| Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray::EvenOddPrecOvlapContFrac5DPVLinOpArray | ( | Handle< FermState< T, P, Q > > | state, |
| const Real & | _m_q, | ||
| const Real & | _OverMass, | ||
| int | _N5, | ||
| const Real & | _scale_fac, | ||
| const multi1d< Real > & | _alpha, | ||
| const multi1d< Real > & | _beta, | ||
| const bool | _isLastZeroP | ||
| ) |
Full constructor.
Pretty darn the same as for the unprec case except that the auxiliary linop M is no longer supplied, but is created here
Definition at line 12 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.cc.
References a, alpha, beta, beta_tilde, Chroma::QDPWilsonDslashArrayOpt::create(), Chroma::d, dinv, Dslash, Chroma::END_CODE(), Chroma::i, N5, Nd, off_diag_coeff, OverMass, scale_fac, Chroma::START_CODE(), Chroma::state, and u.
|
inline |
Destructor is automatic.
Definition at line 50 of file eoprec_ovlap_contfrac5d_pv_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 301 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.cc.
References Chroma::cb, Chroma::chi(), Chroma::WilsonDslashBaseArray::deriv(), Dslash, Chroma::END_CODE(), Chroma::G5, Chroma::i, Chroma::isign, Chroma::MINUS, N5, Nd, off_diag_coeff, Chroma::PLUS, Chroma::psi, Chroma::QDP_error_exit(), Chroma::START_CODE(), Chroma::tmp, and Chroma::zero.
Referenced by derivEvenOddLinOp(), and derivOddEvenLinOp().
|
protected |
Apply the off diagonal block.
| chi | result (Modify) |
| psi | source (Read) |
| isign | Flag ( PLUS | MINUS ) (Read) |
| cb | checkerboard ( 0 | 1 ) (Read) |
(N5-1)*(Dslash + 2NcNs)
| chi | result (Modify) |
| psi | source (Read) |
| isign | Flag ( PLUS | MINUS ) (Read) |
| cb | checkerboard ( 0 | 1 ) (Read) |
Definition at line 265 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.cc.
References Chroma::QDPWilsonDslashArrayOpt::apply(), Chroma::cb, Chroma::chi(), Dslash, Chroma::END_CODE(), Chroma::G5, Chroma::i, N5, off_diag_coeff, Chroma::PLUS, Chroma::psi, Chroma::START_CODE(), Chroma::tmp, and Chroma::zero.
Referenced by evenOddLinOp(), and oddEvenLinOp().
|
inlinevirtual |
Apply the even-even block onto a source std::vector.
Reimplemented from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 109 of file eoprec_ovlap_contfrac5d_pv_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 127 of file eoprec_ovlap_contfrac5d_pv_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 135 of file eoprec_ovlap_contfrac5d_pv_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 118 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References Nd, and Chroma::zero.
|
inlineprotected |
Return flops performed by the diagonal part.
Definition at line 248 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References N5.
Referenced by evenEvenInvNFlops().
|
inlineprotected |
Return flops performed by the diagonal part.
Definition at line 235 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References N5.
Referenced by evenEvenNFlops(), and oddOddNFlops().
|
inlinevirtual |
Apply the inverse of the even-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 92 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References applyDiagInv(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Return flops performed by the evenEvenInvLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 164 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References diagInvNFlops().
Referenced by nFlops().
|
inlinevirtual |
Apply the even-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 57 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References applyDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Return flops performed by the evenEvenLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 144 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References diagNFlops().
|
inlinevirtual |
Apply the the even-odd block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 75 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References applyOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Return flops performed by the evenOddLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 154 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References offDiagNFlops().
Referenced by nFlops().
|
inlinevirtual |
Return the fermion BC object for this linear operator.
Definition at line 53 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References Dslash, and Chroma::QDPWilsonDslashArrayOpt::getFermBC().
|
inlinevirtual |
Return flops performed by the operator()
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 169 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References evenEvenInvNFlops(), evenOddNFlops(), N5, oddEvenNFlops(), and oddOddNFlops().
|
inlinevirtual |
Apply the the odd-even block onto a source std::vector.
Implements Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 83 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References applyOffDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Return flops performed by the oddEvenLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 159 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References offDiagNFlops().
Referenced by nFlops().
|
inline |
Apply the inverse of the odd-odd block onto a source std::vector.
Definition at line 101 of file eoprec_ovlap_contfrac5d_pv_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 66 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References applyDiag(), Chroma::chi(), Chroma::isign, and Chroma::psi.
|
inlinevirtual |
Return flops performed by the oddOddLinOp.
Reimplemented from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >.
Definition at line 149 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References diagNFlops().
Referenced by nFlops().
|
inlineprotected |
Return flops performed by the diagonal part.
Definition at line 241 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References N5.
Referenced by evenOddNFlops(), and oddEvenNFlops().
|
inlineprotected |
Hide partial constructor.
Hide partial constructor
Definition at line 257 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
|
inlinevirtual |
Length of DW flavor index/space.
Definition at line 47 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
References N5.
|
private |
Definition at line 269 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDiag(), and EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 265 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDiag(), and EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 266 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 268 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 270 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDiagInv(), and EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 260 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDerivOffDiag(), applyOffDiag(), EvenOddPrecOvlapContFrac5DPVLinOpArray(), and getFermBC().
|
private |
Definition at line 267 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
|
private |
Definition at line 261 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
|
private |
Definition at line 263 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDerivOffDiag(), applyDiag(), applyDiagInv(), applyOffDiag(), diagInvNFlops(), diagNFlops(), EvenOddPrecOvlapContFrac5DPVLinOpArray(), nFlops(), offDiagNFlops(), and size().
|
private |
Definition at line 272 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDerivOffDiag(), applyOffDiag(), and EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 262 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 264 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by EvenOddPrecOvlapContFrac5DPVLinOpArray().
|
private |
Definition at line 271 of file eoprec_ovlap_contfrac5d_pv_linop_array_w.h.
Referenced by applyDiagInv(), and EvenOddPrecOvlapContFrac5DPVLinOpArray().