CHROMA
|
Classes | |
struct | KeyOperator_t |
Meson operator More... | |
class | ValOperator_t |
struct | KeyVal_t |
struct | CholeskyFactors |
struct | Params |
Parameter structure. More... | |
class | TimeSliceRBFunc |
class | InlineMeas |
Inline measurement of stochastic baryon operators. More... | |
Typedefs | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Functions | |
bool | registerAll () |
Register all the factories. More... | |
void | read (XMLReader &xml, const std::string &path, Params::Param_t ¶m) |
void | write (XMLWriter &xml, const std::string &path, const Params::Param_t ¶m) |
void | read (XMLReader &xml, const std::string &path, Params::NamedObject_t &input) |
Gauge field parameters. More... | |
void | write (XMLWriter &xml, const std::string &path, const Params::NamedObject_t &input) |
Gauge field parameters. More... | |
bool | operator< (const KeyOperator_t &a, const KeyOperator_t &b) |
std::ostream & | operator<< (std::ostream &os, const KeyOperator_t &d) |
std::ostream & | operator<< (std::ostream &os, const ValOperator_t &d) |
stream IO More... | |
void | read (BinaryReader &bin, KeyOperator_t &d) |
KeyOperator reader More... | |
void | write (BinaryWriter &bin, const KeyOperator_t &d) |
KeyOperator writer. More... | |
void | read (BinaryReader &bin, ValOperator_t &d) |
ValOperator reader More... | |
void | write (BinaryWriter &bin, const ValOperator_t &d) |
ValOperator writer. More... | |
Handle< EvenOddPrecLinearOperator< T, P, Q > > | createOddOdd_Op (const Params::Param_t ¶m, const P &u) |
void | do_disco (std::map< KeyOperator_t, ValOperator_t > &db, const LatticeFermion &qbar, const LatticeFermion &q, const SftMom &p, const int &t, const multi1d< short int > &path, const int &max_path_length) |
void | do_disco (std::map< KeyOperator_t, ValOperator_t > &db, CholeskyFactors Clsk, multi1d< LatticeFermion > &vec, const Params::Param_t ¶m, const Handle< EvenOddPrecLinearOperator< T, P, Q > > &Doo, const P &u, const int &t, const Subset &trb, const SftMom &p, const multi1d< short int > &path) |
void | ReadOPTEigCGVecs (multi1d< LatticeFermion > &vec, CholeskyFactors &Clsk, const std::string &evecs_file) |
void | PRchi (multi1d< multi1d< multi1d< LatticeFermion > > > &quarkstilde, const multi1d< Handle< DilutionScheme< LatticeFermion > > > &quarks, Handle< EvenOddPrecLinearOperator< T, P, Q > > &Doo, CholeskyFactors Clsk, multi1d< LatticeFermion > &vec, const Params::Param_t ¶m, const P &u) |
void | PRchi (multi1d< multi1d< multi1d< LatticeFermion > > > &quarkstilde, multi1d< Handle< DilutionScheme< LatticeFermion > > > &quarks) |
Variables | |
const std::string | name = "DISCO_EIGCG" |
typedef multi1d<LatticeColorMatrix> Chroma::InlineDiscoEigCGEnv::P |
Definition at line 315 of file inline_disco_eigcg_w.cc.
typedef multi1d<LatticeColorMatrix> Chroma::InlineDiscoEigCGEnv::Q |
Definition at line 316 of file inline_disco_eigcg_w.cc.
typedef LatticeFermion Chroma::InlineDiscoEigCGEnv::T |
Definition at line 314 of file inline_disco_eigcg_w.cc.
Handle<EvenOddPrecLinearOperator<T,P,Q> > Chroma::InlineDiscoEigCGEnv::createOddOdd_Op | ( | const Params::Param_t & | param, |
const P & | u | ||
) |
Definition at line 319 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::Params::Param_t::action, Chroma::WilsonFermActParams::anisoParam, Chroma::cp, Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::WilsonFermActParams::Mass, name, Chroma::GroupXML_t::path, Chroma::state, Chroma::u, and Chroma::GroupXML_t::xml.
Referenced by Chroma::InlineDiscoEigCGEnv::InlineMeas::func().
void Chroma::InlineDiscoEigCGEnv::do_disco | ( | std::map< KeyOperator_t, ValOperator_t > & | db, |
CholeskyFactors | Clsk, | ||
multi1d< LatticeFermion > & | vec, | ||
const Params::Param_t & | param, | ||
const Handle< EvenOddPrecLinearOperator< T, P, Q > > & | Doo, | ||
const P & | u, | ||
const int & | t, | ||
const Subset & | trb, | ||
const SftMom & | p, | ||
const multi1d< short int > & | path | ||
) |
Definition at line 451 of file inline_disco_eigcg_w.cc.
References BACKWARD, do_disco(), FORWARD, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::HU, Chroma::i, Chroma::info, j, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::ldh, Chroma::InlinePropAndMatElemDistillation2Env::local::localInnerProduct(), m, Chroma::InlineDiscoEigCGEnv::Params::Param_t::max_path_length, Chroma::MINUS, mu, Nd, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::Nvec, Chroma::p, Chroma::PLUS, Chroma::r, sum, t, Chroma::InlineDiscoEigCGEnv::KeyOperator_t::t_slice, Chroma::u, and Chroma::zero.
void Chroma::InlineDiscoEigCGEnv::do_disco | ( | std::map< KeyOperator_t, ValOperator_t > & | db, |
const LatticeFermion & | qbar, | ||
const LatticeFermion & | q, | ||
const SftMom & | p, | ||
const int & | t, | ||
const multi1d< short int > & | path, | ||
const int & | max_path_length | ||
) |
Definition at line 375 of file inline_disco_eigcg_w.cc.
References BACKWARD, FORWARD, Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::localInnerProduct(), m, mu, Nd, Chroma::p, q, sum, t, and Chroma::InlineDiscoEigCGEnv::KeyOperator_t::t_slice.
Referenced by do_disco(), and Chroma::InlineDiscoEigCGEnv::InlineMeas::func().
bool Chroma::InlineDiscoEigCGEnv::operator< | ( | const KeyOperator_t & | a, |
const KeyOperator_t & | b | ||
) |
Definition at line 223 of file inline_disco_eigcg_w.cc.
std::ostream& Chroma::InlineDiscoEigCGEnv::operator<< | ( | std::ostream & | os, |
const KeyOperator_t & | d | ||
) |
Definition at line 227 of file inline_disco_eigcg_w.cc.
References Chroma::d, Chroma::for(), and Chroma::i.
std::ostream& Chroma::InlineDiscoEigCGEnv::operator<< | ( | std::ostream & | os, |
const ValOperator_t & | d | ||
) |
stream IO
Definition at line 253 of file inline_disco_eigcg_w.cc.
void Chroma::InlineDiscoEigCGEnv::PRchi | ( | multi1d< multi1d< multi1d< LatticeFermion > > > & | quarkstilde, |
const multi1d< Handle< DilutionScheme< LatticeFermion > > > & | quarks, | ||
Handle< EvenOddPrecLinearOperator< T, P, Q > > & | Doo, | ||
CholeskyFactors | Clsk, | ||
multi1d< LatticeFermion > & | vec, | ||
const Params::Param_t & | param, | ||
const P & | u | ||
) |
Here, we are calculating Sdag S chi where chi (the solution) is Sinv eta, and eta is the noise std::vector (the source) Thus, we can save time by using the source, and calculate Sdag eta, and that's what is being done here
Definition at line 653 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::CholeskyFactors::HU, Chroma::i, Chroma::info, it, j, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::ldh, Chroma::InlinePropAndMatElemDistillation2Env::local::localInnerProduct(), Chroma::MINUS, n, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::Nvec, q, Chroma::r, sum, t, and Chroma::zero.
Referenced by Chroma::InlineDiscoEigCGEnv::InlineMeas::func().
void Chroma::InlineDiscoEigCGEnv::PRchi | ( | multi1d< multi1d< multi1d< LatticeFermion > > > & | quarkstilde, |
multi1d< Handle< DilutionScheme< LatticeFermion > > > & | quarks | ||
) |
This version is called if we have no EigCG vectors, so PR = 1
Definition at line 716 of file inline_disco_eigcg_w.cc.
void Chroma::InlineDiscoEigCGEnv::read | ( | BinaryReader & | bin, |
KeyOperator_t & | d | ||
) |
void Chroma::InlineDiscoEigCGEnv::read | ( | BinaryReader & | bin, |
ValOperator_t & | d | ||
) |
ValOperator reader
Definition at line 288 of file inline_disco_eigcg_w.cc.
void Chroma::InlineDiscoEigCGEnv::read | ( | XMLReader & | xml, |
const std::string & | path, | ||
Params::NamedObject_t & | input | ||
) |
Gauge field parameters.
Definition at line 136 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::evecs_file, Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::gauge_id, Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::op_db_file, and read().
void Chroma::InlineDiscoEigCGEnv::read | ( | XMLReader & | xml, |
const std::string & | path, | ||
Params::Param_t & | param | ||
) |
Definition at line 84 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::Params::Param_t::action, Chroma::InlineDiscoEigCGEnv::Params::Param_t::chi, Chroma::InlineDiscoEigCGEnv::Params::Param_t::mass_label, Chroma::InlineDiscoEigCGEnv::Params::Param_t::max_path_length, Chroma::InlineDiscoEigCGEnv::Params::Param_t::p2_max, Chroma::readXMLArrayGroup(), and Chroma::readXMLGroup().
Referenced by Chroma::InlineDiscoEigCGEnv::Params::Params(), read(), and ReadOPTEigCGVecs().
void Chroma::InlineDiscoEigCGEnv::ReadOPTEigCGVecs | ( | multi1d< LatticeFermion > & | vec, |
CholeskyFactors & | Clsk, | ||
const std::string & | evecs_file | ||
) |
Definition at line 612 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::CholeskyFactors::evals, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::H, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::HU, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::ldh, name, Chroma::InlineDiscoEigCGEnv::CholeskyFactors::Nvec, and read().
Referenced by Chroma::InlineDiscoEigCGEnv::InlineMeas::func().
bool Chroma::InlineDiscoEigCGEnv::registerAll | ( | ) |
Register all the factories.
Definition at line 71 of file inline_disco_eigcg_w.cc.
References Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), name, and Chroma::AsqtadFermActEnv::registered.
Referenced by Chroma::InlineHadronAggregateEnv::registerAll().
void Chroma::InlineDiscoEigCGEnv::write | ( | BinaryWriter & | bin, |
const KeyOperator_t & | d | ||
) |
KeyOperator writer.
Definition at line 278 of file inline_disco_eigcg_w.cc.
void Chroma::InlineDiscoEigCGEnv::write | ( | BinaryWriter & | bin, |
const ValOperator_t & | d | ||
) |
ValOperator writer.
Definition at line 293 of file inline_disco_eigcg_w.cc.
void Chroma::InlineDiscoEigCGEnv::write | ( | XMLWriter & | xml, |
const std::string & | path, | ||
const Params::NamedObject_t & | input | ||
) |
Gauge field parameters.
Definition at line 151 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::evecs_file, Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::gauge_id, Chroma::InlineDiscoEigCGEnv::Params::NamedObject_t::op_db_file, Chroma::pop(), Chroma::push(), and write().
void Chroma::InlineDiscoEigCGEnv::write | ( | XMLWriter & | xml, |
const std::string & | path, | ||
const Params::Param_t & | param | ||
) |
Definition at line 111 of file inline_disco_eigcg_w.cc.
References Chroma::InlineDiscoEigCGEnv::Params::Param_t::action, Chroma::InlineDiscoEigCGEnv::Params::Param_t::chi, Chroma::InlineDiscoEigCGEnv::Params::Param_t::mass_label, Chroma::InlineDiscoEigCGEnv::Params::Param_t::max_path_length, Chroma::InlineDiscoEigCGEnv::Params::Param_t::p2_max, Chroma::pop(), Chroma::push(), t, and Chroma::GroupXML_t::xml.
Referenced by Chroma::InlineDiscoEigCGEnv::InlineMeas::func(), Chroma::InlineDiscoEigCGEnv::InlineMeas::operator()(), write(), and Chroma::InlineDiscoEigCGEnv::Params::write().
const std::string Chroma::InlineDiscoEigCGEnv::name = "DISCO_EIGCG" |
Definition at line 68 of file inline_disco_eigcg_w.cc.
Referenced by createOddOdd_Op(), Chroma::InlineDiscoEigCGEnv::InlineMeas::func(), ReadOPTEigCGVecs(), and registerAll().