#include <ovlap_partfrac4d_fermact_w.h>
Inheritance diagram for Chroma::OvlapPartFrac4DFermAct:

Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| OvlapPartFrac4DFermAct (Handle< FermBC< T, P, Q > > fbc_, const OvlapPartFrac4DFermActParams ¶ms) | |
| Constructor. | |
| OvlapPartFrac4DFermAct * | clone () const |
| Virtual copy constructor. | |
| Real | getQuarkMass () const |
| Return the quark mass. | |
| bool | isChiral () const |
| Is the operator Chiral. | |
| EigenConnectState * | createState (const multi1d< LatticeColorMatrix > &u, XMLReader &state_info_xml, const string &state_info_path) const |
| Create OverlapConnectState from XML. | |
| EigenConnectState * | createState (const multi1d< LatticeColorMatrix > &u_) const |
| Create a ConnectState with just the gauge fields. | |
| UnprecLinearOperator< T, P, Q > * | unprecLinOp (Handle< FermState< T, P, Q > > state, const Real &m_q) const |
| Produce a linear operator for this action. | |
| LinearOperator< T > * | linOpPrecondition (Handle< FermState< T, P, Q > > state) const |
| Produce a linear operator for this action. | |
| DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state) const |
| Produce a conventional MdagM operator for this action. | |
| DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state, const Chirality &chirality) const |
| Produce a linear operator for this action. | |
| LinearOperator< T > * | lMdagMPrecondition (Handle< FermState< T, P, Q > > state) const |
| Produce a conventional MdagM operator for this action. | |
| LinearOperator< T > * | lMdagMPrecondition (Handle< FermState< T, P, Q > > state, const Chirality &chirality) const |
| Produce a linear operator for this action. | |
| LinearOperator< T > * | lgamma5epsH (Handle< FermState< T, P, Q > > state) const |
| Produce a linear operator for gamma5 epsilon(H) psi. | |
| LinearOperator< T > * | lgamma5epsHPrecondition (Handle< FermState< T, P, Q > > state) const |
| Produce a linear operator for gamma5 epsilon(H) psi. | |
| ~OvlapPartFrac4DFermAct () | |
| Destructor is automatic. | |
Protected Member Functions | |
| const CreateFermState< T, P, Q > & | getCreateState () const |
| Return the factory object that produces a state. | |
| void | init (int &numroot, Real &coeffP, multi1d< Real > &resP, multi1d< Real > &rootQ, int &NEig, multi1d< Real > &EigValFunc, const EigenConnectState &state) const |
| Creation routine. | |
| void | initPrec (int &numroot, Real &coeffP, multi1d< Real > &resP, multi1d< Real > &rootQ, int &NEig, multi1d< Real > &EigValFunc, const EigenConnectState &state) const |
| Construct stuff but use RatPolyDegPrec in the polynomial. | |
Private Member Functions | |
| OvlapPartFrac4DFermAct () | |
| Partial constructor not allowed. | |
| void | operator= (const OvlapPartFrac4DFermAct &a) |
Private Attributes | |
| Handle< FermBC< T, P, Q > > | fbc |
| Handle< CreateFermState< T, P, Q > > | cfs |
| Handle< UnprecWilsonTypeFermAct< T, P, Q > > | Mact |
| OvlapPartFrac4DFermActParams | params |
This routine is specific to Wilson-like fermions!
NOTE: for now we assume the kernel is a fund. rep. fermion type, but that is not necessary
Definition at line 76 of file ovlap_partfrac4d_fermact_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::OvlapPartFrac4DFermAct::P |
Reimplemented from Chroma::OverlapFermActBase.
Definition at line 81 of file ovlap_partfrac4d_fermact_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::OvlapPartFrac4DFermAct::Q |
Reimplemented from Chroma::OverlapFermActBase.
Definition at line 82 of file ovlap_partfrac4d_fermact_w.h.
| typedef LatticeFermion Chroma::OvlapPartFrac4DFermAct::T |
Reimplemented from Chroma::OverlapFermActBase.
Definition at line 80 of file ovlap_partfrac4d_fermact_w.h.
| Chroma::OvlapPartFrac4DFermAct::OvlapPartFrac4DFermAct | ( | Handle< FermBC< T, P, Q > > | fbc_, | |
| const OvlapPartFrac4DFermActParams & | params | |||
| ) |
Constructor.
Definition at line 188 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::OvlapPartFrac4DFermActParams::AuxFermAct, Chroma::OvlapPartFrac4DFermActParams::AuxMass, cfs, fbc, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Mact, Chroma::OvlapPartFrac4DFermActEnv::name, params, Chroma::read(), and Chroma::S_f.
| Chroma::OvlapPartFrac4DFermAct::~OvlapPartFrac4DFermAct | ( | ) | [inline] |
| Chroma::OvlapPartFrac4DFermAct::OvlapPartFrac4DFermAct | ( | ) | [private] |
| OvlapPartFrac4DFermAct* Chroma::OvlapPartFrac4DFermAct::clone | ( | ) | const [inline, virtual] |
Virtual copy constructor.
Implements Chroma::OverlapFermActBase.
Definition at line 90 of file ovlap_partfrac4d_fermact_w.h.
References OvlapPartFrac4DFermAct().
| EigenConnectState * Chroma::OvlapPartFrac4DFermAct::createState | ( | const multi1d< LatticeColorMatrix > & | u_ | ) | const |
Create a ConnectState with just the gauge fields.
Override the parent
Definition at line 1302 of file ovlap_partfrac4d_fermact_w.cc.
References fbc.
| EigenConnectState * Chroma::OvlapPartFrac4DFermAct::createState | ( | const multi1d< LatticeColorMatrix > & | u, | |
| XMLReader & | state_info_xml, | |||
| const string & | state_info_path | |||
| ) | const |
Create OverlapConnectState from XML.
Definition at line 1310 of file ovlap_partfrac4d_fermact_w.cc.
References fbc, Chroma::EigenConnectState::getEvalues(), Chroma::EigenConnectState::getEvectors(), Chroma::EigenConnectState::getNEig(), Mact, Chroma::PLUS, and Chroma::read().
| const CreateFermState<T,P,Q>& Chroma::OvlapPartFrac4DFermAct::getCreateState | ( | ) | const [inline, protected] |
Return the factory object that produces a state.
Definition at line 168 of file ovlap_partfrac4d_fermact_w.h.
References cfs.
| Real Chroma::OvlapPartFrac4DFermAct::getQuarkMass | ( | void | ) | const [inline, virtual] |
Return the quark mass.
Implements Chroma::OverlapFermActBase.
Definition at line 93 of file ovlap_partfrac4d_fermact_w.h.
References Chroma::OvlapPartFrac4DFermActParams::Mass, and params.
| void Chroma::OvlapPartFrac4DFermAct::init | ( | int & | numroot, | |
| Real & | coeffP, | |||
| multi1d< Real > & | resP, | |||
| multi1d< Real > & | rootQ, | |||
| int & | NEig, | |||
| multi1d< Real > & | EigValFunc, | |||
| const EigenConnectState & | state | |||
| ) | const [protected] |
Creation routine.
Definition at line 263 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::StagPhases::alpha(), Chroma::OvlapPartFrac4DFermActParams::approximation_type, Chroma::OvlapPartFrac4DFermActParams::approxMax, Chroma::OvlapPartFrac4DFermActParams::approxMin, Chroma::COEFF_TYPE_TANH, Chroma::COEFF_TYPE_TANH_UNSCALED, Chroma::COEFF_TYPE_ZOLOTAREV, Chroma::StaggeredFlavorOperators::AntiSymmetricTensor4D::eps, higham(), Chroma::OvlapPartFrac4DFermActParams::invParamInner, Chroma::OvlapPartFrac4DFermActParams::Mass, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, params, Chroma::OvlapPartFrac4DFermActParams::RatPolyDeg, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, Chroma::state, and zolotarev().
Referenced by lgamma5epsH(), lMdagM(), and unprecLinOp().
| void Chroma::OvlapPartFrac4DFermAct::initPrec | ( | int & | numroot, | |
| Real & | coeffP, | |||
| multi1d< Real > & | resP, | |||
| multi1d< Real > & | rootQ, | |||
| int & | NEig, | |||
| multi1d< Real > & | EigValFunc, | |||
| const EigenConnectState & | state | |||
| ) | const [protected] |
Construct stuff but use RatPolyDegPrec in the polynomial.
Definition at line 550 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::StagPhases::alpha(), Chroma::OvlapPartFrac4DFermActParams::approximation_type, Chroma::OvlapPartFrac4DFermActParams::approxMax, Chroma::OvlapPartFrac4DFermActParams::approxMin, Chroma::COEFF_TYPE_TANH, Chroma::COEFF_TYPE_TANH_UNSCALED, Chroma::COEFF_TYPE_ZOLOTAREV, Chroma::StaggeredFlavorOperators::AntiSymmetricTensor4D::eps, higham(), Chroma::OvlapPartFrac4DFermActParams::invParamInner, Chroma::OvlapPartFrac4DFermActParams::Mass, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, params, Chroma::OvlapPartFrac4DFermActParams::RatPolyDeg, Chroma::OvlapPartFrac4DFermActParams::RatPolyDegPrecond, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, Chroma::state, and zolotarev().
Referenced by lgamma5epsHPrecondition(), linOpPrecondition(), and lMdagMPrecondition().
| bool Chroma::OvlapPartFrac4DFermAct::isChiral | ( | ) | const [inline, virtual] |
Is the operator Chiral.
The operator is chiral if it satisfies the GW relation (or a massive version of it). It is certainly the intention that this operator be chiral in this sense. However, setting it up wrongly may make it non chiral. that would need a run-time check. So this is a hack below, signifying intent
Implements Chroma::OverlapFermActBase.
Definition at line 103 of file ovlap_partfrac4d_fermact_w.h.
References Chroma::OvlapPartFrac4DFermActParams::isChiralP, and params.
| LinearOperator< LatticeFermion > * Chroma::OvlapPartFrac4DFermAct::lgamma5epsH | ( | Handle< FermState< T, P, Q > > | state_ | ) | const [virtual] |
Produce a linear operator for gamma5 epsilon(H) psi.
The operator acts on the entire lattice
| state_ | gauge field state (Read) |
Implements Chroma::OverlapFermActBase.
Definition at line 990 of file ovlap_partfrac4d_fermact_w.cc.
References END_CODE, init(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, Mact, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, START_CODE, and Chroma::state.
| LinearOperator< LatticeFermion > * Chroma::OvlapPartFrac4DFermAct::lgamma5epsHPrecondition | ( | Handle< FermState< T, P, Q > > | state_ | ) | const [virtual] |
Produce a linear operator for gamma5 epsilon(H) psi.
The operator acts on the entire lattice
| state_ | gauge field state (Read) |
Implements Chroma::OverlapFermActBase.
Definition at line 1063 of file ovlap_partfrac4d_fermact_w.cc.
References END_CODE, initPrec(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, Mact, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, START_CODE, and Chroma::state.
| LinearOperator< LatticeFermion > * Chroma::OvlapPartFrac4DFermAct::linOpPrecondition | ( | Handle< FermState< T, P, Q > > | state_ | ) | const [virtual] |
Produce a linear operator for this action.
The operator acts on the entire lattice
| state_ | gauge field state (Read) |
Implements Chroma::OverlapFermActBase.
Definition at line 917 of file ovlap_partfrac4d_fermact_w.cc.
References END_CODE, initPrec(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, Mact, Chroma::OvlapPartFrac4DFermActParams::Mass, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, START_CODE, and Chroma::state.
Referenced by lMdagMPrecondition().
| DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * Chroma::OvlapPartFrac4DFermAct::lMdagM | ( | Handle< FermState< T, P, Q > > | state_, | |
| const Chirality & | ichiral | |||
| ) | const [virtual] |
Produce a linear operator for this action.
The operator acts on the entire lattice
| state_ | gauge field state (Read) |
Implements Chroma::OverlapFermActBase.
Definition at line 1149 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::CH_NONE, END_CODE, init(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, lMdagM(), Mact, Chroma::OvlapPartFrac4DFermActParams::Mass, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, and Chroma::state.
| DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * Chroma::OvlapPartFrac4DFermAct::lMdagM | ( | Handle< FermState< T, P, Q > > | state | ) | const [virtual] |
Produce a conventional MdagM operator for this action.
NOTE: the arg MUST be the original base because C++ requires it for a virtual func! The function will have to downcast to get the correct state
Implements Chroma::OverlapFermActBase.
Definition at line 1131 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::OverlapFermActBase::linOp().
Referenced by lMdagM(), and lMdagMPrecondition().
| LinearOperator< LatticeFermion > * Chroma::OvlapPartFrac4DFermAct::lMdagMPrecondition | ( | Handle< FermState< T, P, Q > > | state_, | |
| const Chirality & | ichiral | |||
| ) | const [virtual] |
Produce a linear operator for this action.
The operator acts on the entire lattice
| state_ | gauge field state (Read) |
Implements Chroma::OverlapFermActBase.
Definition at line 1220 of file ovlap_partfrac4d_fermact_w.cc.
References Chroma::CH_NONE, END_CODE, initPrec(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, lMdagM(), Mact, Chroma::OvlapPartFrac4DFermActParams::Mass, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, and Chroma::state.
| LinearOperator< LatticeFermion > * Chroma::OvlapPartFrac4DFermAct::lMdagMPrecondition | ( | Handle< FermState< T, P, Q > > | state | ) | const [virtual] |
Produce a conventional MdagM operator for this action.
NOTE: the arg MUST be the original base because C++ requires it for a virtual func! The function will have to downcast to get the correct state
Implements Chroma::OverlapFermActBase.
Definition at line 1291 of file ovlap_partfrac4d_fermact_w.cc.
References linOpPrecondition().
| void Chroma::OvlapPartFrac4DFermAct::operator= | ( | const OvlapPartFrac4DFermAct & | a | ) | [inline, private] |
Definition at line 193 of file ovlap_partfrac4d_fermact_w.h.
| UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * Chroma::OvlapPartFrac4DFermAct::unprecLinOp | ( | Handle< FermState< T, P, Q > > | state, | |
| const Real & | m_q | |||
| ) | const [virtual] |
Produce a linear operator for this action.
NOTE: the arg MUST be the original base because C++ requires it for a virtual func! The function will have to downcast to get the correct state
Implements Chroma::OverlapFermActBase.
Definition at line 838 of file ovlap_partfrac4d_fermact_w.cc.
References END_CODE, init(), Chroma::OvlapPartFrac4DFermActParams::inner_solver_type, Chroma::OvlapPartFrac4DFermActParams::invParamInner, Mact, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::MaxCG, Chroma::OVERLAP_INNER_CG_DOUBLE_PASS, Chroma::OVERLAP_INNER_CG_SINGLE_PASS, params, Chroma::OvlapPartFrac4DFermActParams::ReorthFreqInner, Chroma::OvlapPartFrac4DFermActParams::InvParamInner::RsdCG, START_CODE, and Chroma::state.
Handle< CreateFermState<T,P,Q> > Chroma::OvlapPartFrac4DFermAct::cfs [private] |
Definition at line 197 of file ovlap_partfrac4d_fermact_w.h.
Referenced by getCreateState(), and OvlapPartFrac4DFermAct().
Definition at line 196 of file ovlap_partfrac4d_fermact_w.h.
Referenced by createState(), and OvlapPartFrac4DFermAct().
Handle< UnprecWilsonTypeFermAct<T,P,Q> > Chroma::OvlapPartFrac4DFermAct::Mact [private] |
Definition at line 199 of file ovlap_partfrac4d_fermact_w.h.
Referenced by createState(), lgamma5epsH(), lgamma5epsHPrecondition(), linOpPrecondition(), lMdagM(), lMdagMPrecondition(), OvlapPartFrac4DFermAct(), and unprecLinOp().
Definition at line 200 of file ovlap_partfrac4d_fermact_w.h.
Referenced by getQuarkMass(), init(), initPrec(), isChiral(), lgamma5epsH(), lgamma5epsHPrecondition(), linOpPrecondition(), lMdagM(), lMdagMPrecondition(), OvlapPartFrac4DFermAct(), and unprecLinOp().
1.4.7