33 template<
typename T,
typename P,
typename Q>
36 const LatticeStaggeredPropagator& q_src,
45 push(xml_out,
"QuarkProp4");
54 for(
int color_source = 0; color_source < Nc; ++color_source)
56 QDPIO::cout<<
"quarkprop_s:: doing color : "<< color_source<<std::endl;
58 LatticeStaggeredFermion
psi =
zero;
59 LatticeStaggeredFermion
chi;
71 Real nrm = sqrt(norm2(
chi));
72 if (toFloat(nrm) != 0.0)
83 push(xml_out,
"Qprop");
84 write(xml_out,
"color_source", color_source);
91 fact = Real(1) / fact;
109 typedef LatticeStaggeredFermion
LF;
110 typedef multi1d<LatticeColorMatrix>
LCM;
126 const LatticeStaggeredPropagator& q_src,
128 multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >&
S_f,
130 multi1d<LatticeColorMatrix>,
131 multi1d<LatticeColorMatrix> > >
state,
137 multi1d<LatticeColorMatrix>,
138 multi1d<LatticeColorMatrix> >(q_sol, xml_out, q_src,
S_f,
state, invParam,
139 quarkSpinType, ncg_had);
157 multi1d<LatticeColorMatrix>,
158 multi1d<LatticeColorMatrix> >::quarkProp(
159 LatticeStaggeredPropagator& q_sol,
161 const LatticeStaggeredPropagator& q_src,
163 multi1d<LatticeColorMatrix>,
164 multi1d<LatticeColorMatrix> > >
state,
169 quarkProp4(q_sol, xml_out, q_src, *
this,
state, invParam, quarkSpinType, ncg_had);
183 std::istringstream xml(invParam.
xml);
184 XMLReader paramtop(xml);
201 std::istringstream xml(invParam.
xml);
202 XMLReader paramtop(xml);
219 std::istringstream xml(invParam.
xml);
220 XMLReader paramtop(xml);
236 std::istringstream xml(invParam.
xml);
237 XMLReader paramtop(xml);
253 std::istringstream xml(invParam.
xml);
254 XMLReader paramtop(xml);
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
SystemSolver disambiguator.
SystemSolver disambiguator.
Staggered-like fermion actions.
virtual LinOpSystemSolver< T > * invLinOp(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a linear operator solver for this action to solve M*psi=chi.
virtual MdagMMultiSystemSolverAccumulate< T > * mInvMdagMAcc(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.
virtual MdagMMultiSystemSolver< T > * mInvMdagM(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.
virtual LinOpMultiSystemSolver< T > * mInvLinOp(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a multi-shift linear operator solver for this action to solve (M+shift)*psi=chi.
virtual MdagMSystemSolver< T > * invMdagM(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a linear operator solver for this action to solve MdagM*psi=chi.
Class structure for fermion actions.
void PropToFerm(const LatticePropagatorF &b, LatticeFermionF &a, int color_index, int spin_index)
Extract a LatticeFermion from a LatticePropagator.
void FermToProp(const LatticeFermionF &a, LatticePropagatorF &b, int color_index, int spin_index)
Insert a LatticeFermion into a LatticePropagator.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
QuarkSpinType
Quark spin type.
void quarkProp_a(LatticeStaggeredPropagator &q_sol, XMLWriter &xml_out, const LatticeStaggeredPropagator &q_src, const StaggeredTypeFermAct< T, P, Q > &S_f, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had)
Given a complete propagator as a source, this does all the inversions needed.
void quarkProp4(LatticeStaggeredPropagator &q_sol, XMLWriter &xml_out, const LatticeStaggeredPropagator &q_src, const StaggeredTypeFermAct< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &S_f, Handle< FermState< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had)
Given a complete propagator as a source, this does all the inversions needed.
Factory for producing system solvers for M*psi = chi.
Factory for producing system solvers for MdagM*psi = chi.
Factory for producing system solvers for MdagM*psi = chi.
Asqtad Staggered-Dirac operator.
push(xml_out,"Condensates")
multi1d< LatticeFermion > chi(Ncb)
LatticeStaggeredFermion LF
multi1d< LatticeColorMatrix > LCM
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
const WilsonTypeFermAct< multi1d< LatticeFermion > > & S_f
Full quark propagator solver.
Hold group xml and type id.
SystemSolver disambiguator.
SystemSolver disambiguator.
SystemSolver disambiguator.
Holds return info from SystemSolver call.
Factory for solving M*psi=chi where M is not hermitian or pos. def.
Factory for producing system solvers for MdagM*psi = chi.