CHROMA
Classes | Typedefs | Functions | Variables
Chroma::InlineDiscoEigCGEnv Namespace Reference

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 &param)
 
void write (XMLWriter &xml, const std::string &path, const Params::Param_t &param)
 
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 &param, 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 &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)
 
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 &param, const P &u)
 
void PRchi (multi1d< multi1d< multi1d< LatticeFermion > > > &quarkstilde, multi1d< Handle< DilutionScheme< LatticeFermion > > > &quarks)
 

Variables

const std::string name = "DISCO_EIGCG"
 

Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::InlineDiscoEigCGEnv::P

Definition at line 315 of file inline_disco_eigcg_w.cc.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::InlineDiscoEigCGEnv::Q

Definition at line 316 of file inline_disco_eigcg_w.cc.

◆ T

typedef LatticeFermion Chroma::InlineDiscoEigCGEnv::T

Definition at line 314 of file inline_disco_eigcg_w.cc.

Function Documentation

◆ createOddOdd_Op()

Handle<EvenOddPrecLinearOperator<T,P,Q> > Chroma::InlineDiscoEigCGEnv::createOddOdd_Op ( const Params::Param_t param,
const P u 
)

◆ do_disco() [1/2]

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 
)

◆ do_disco() [2/2]

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 
)

◆ operator<()

bool Chroma::InlineDiscoEigCGEnv::operator< ( const KeyOperator_t a,
const KeyOperator_t b 
)

Definition at line 223 of file inline_disco_eigcg_w.cc.

References Chroma::a, and Chroma::b.

◆ operator<<() [1/2]

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.

◆ operator<<() [2/2]

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.

References Chroma::d, and Chroma::i.

◆ PRchi() [1/2]

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().

◆ PRchi() [2/2]

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.

References it, j, and n.

◆ read() [1/4]

void Chroma::InlineDiscoEigCGEnv::read ( BinaryReader &  bin,
KeyOperator_t d 
)

KeyOperator reader

Definition at line 268 of file inline_disco_eigcg_w.cc.

References Chroma::d, n, Nd, and read().

◆ read() [2/4]

void Chroma::InlineDiscoEigCGEnv::read ( BinaryReader &  bin,
ValOperator_t d 
)

ValOperator reader

Definition at line 288 of file inline_disco_eigcg_w.cc.

References Chroma::d, and read().

◆ read() [3/4]

void Chroma::InlineDiscoEigCGEnv::read ( XMLReader &  xml,
const std::string &  path,
Params::NamedObject_t input 
)

◆ read() [4/4]

void Chroma::InlineDiscoEigCGEnv::read ( XMLReader &  xml,
const std::string &  path,
Params::Param_t param 
)

◆ ReadOPTEigCGVecs()

void Chroma::InlineDiscoEigCGEnv::ReadOPTEigCGVecs ( multi1d< LatticeFermion > &  vec,
CholeskyFactors Clsk,
const std::string &  evecs_file 
)

◆ registerAll()

bool Chroma::InlineDiscoEigCGEnv::registerAll ( )

◆ write() [1/4]

void Chroma::InlineDiscoEigCGEnv::write ( BinaryWriter &  bin,
const KeyOperator_t d 
)

KeyOperator writer.

Definition at line 278 of file inline_disco_eigcg_w.cc.

References Chroma::d, n, and write().

◆ write() [2/4]

void Chroma::InlineDiscoEigCGEnv::write ( BinaryWriter &  bin,
const ValOperator_t d 
)

ValOperator writer.

Definition at line 293 of file inline_disco_eigcg_w.cc.

References Chroma::d, and write().

◆ write() [3/4]

void Chroma::InlineDiscoEigCGEnv::write ( XMLWriter &  xml,
const std::string &  path,
const Params::NamedObject_t input 
)

◆ write() [4/4]

void Chroma::InlineDiscoEigCGEnv::write ( XMLWriter &  xml,
const std::string &  path,
const Params::Param_t param 
)

Variable Documentation

◆ name

const std::string Chroma::InlineDiscoEigCGEnv::name = "DISCO_EIGCG"