CHROMA
|
Conjugate-Gradient (CGNE) with eigenstd::vector acceleration. More...
Functions | |
template<typename T > | |
void | SubSpaceMatrix_T (LinAlg::Matrix< DComplex > &H, const LinearOperator< T > &A, const multi1d< T > &evec, int Nvecs) |
template<typename T > | |
void | SubSpaceMatrix_T (LinAlg::Matrix< DComplex > &H, const LinearOperator< T > &A, const multi1d< T > &evec, const multi1d< Double > &eval, int Nvecs, int NgoodEvecs) |
template<typename T > | |
SystemSolverResults_t | new_InvEigCG2_T (const LinearOperator< T > &A, T &x, const T &b, multi1d< Double > &eval, multi1d< T > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG, const int PrintLevel) |
template<typename T > | |
SystemSolverResults_t | InvEigCG2_T (const LinearOperator< T > &A, T &x, const T &b, multi1d< Double > &eval, multi1d< T > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG, const int PrintLevel) |
template<typename T > | |
SystemSolverResults_t | vecPrecondCG_T (const LinearOperator< T > &A, T &x, const T &b, const multi1d< Double > &eval, const multi1d< T > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
template<typename T > | |
void | InitGuess_T (const LinearOperator< T > &A, T &x, const T &b, const multi1d< Double > &eval, const multi1d< T > &evec, int &n_count) |
template<typename T > | |
void | InitGuess_T (const LinearOperator< T > &A, T &x, const T &b, const multi1d< Double > &eval, const multi1d< T > &evec, int N, int &n_count) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperator< LatticeFermionF > &A, const multi1d< LatticeFermionF > &evec, int Nvecs) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperator< LatticeFermionF > &A, const multi1d< LatticeFermionF > &evec, const multi1d< Double > &eval, int Nvecs, int NgoodEvecs) |
SystemSolverResults_t | InvEigCG2 (const LinearOperator< LatticeFermionF > &A, LatticeFermionF &x, const LatticeFermionF &b, multi1d< Double > &eval, multi1d< LatticeFermionF > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG, const int PrintLevel) |
SystemSolverResults_t | vecPrecondCG (const LinearOperator< LatticeFermionF > &A, LatticeFermionF &x, const LatticeFermionF &b, const multi1d< Double > &eval, const multi1d< LatticeFermionF > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
void | InitGuess (const LinearOperator< LatticeFermionF > &A, LatticeFermionF &x, const LatticeFermionF &b, const multi1d< Double > &eval, const multi1d< LatticeFermionF > &evec, int &n_count) |
void | InitGuess (const LinearOperator< LatticeFermionF > &A, LatticeFermionF &x, const LatticeFermionF &b, const multi1d< Double > &eval, const multi1d< LatticeFermionF > &evec, int N, int &n_count) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperator< LatticeFermionD > &A, const multi1d< LatticeFermionD > &evec, int Nvecs) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperator< LatticeFermionD > &A, const multi1d< LatticeFermionD > &evec, const multi1d< Double > &eval, int Nvecs, int NgoodEvecs) |
SystemSolverResults_t | InvEigCG2 (const LinearOperator< LatticeFermionD > &A, LatticeFermionD &x, const LatticeFermionD &b, multi1d< Double > &eval, multi1d< LatticeFermionD > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG, const int plvl) |
SystemSolverResults_t | vecPrecondCG (const LinearOperator< LatticeFermionD > &A, LatticeFermionD &x, const LatticeFermionD &b, const multi1d< Double > &eval, const multi1d< LatticeFermionD > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
void | InitGuess (const LinearOperator< LatticeFermionD > &A, LatticeFermionD &x, const LatticeFermionD &b, const multi1d< Double > &eval, const multi1d< LatticeFermionD > &evec, int &n_count) |
void | InitGuess (const LinearOperator< LatticeFermionD > &A, LatticeFermionD &x, const LatticeFermionD &b, const multi1d< Double > &eval, const multi1d< LatticeFermionD > &evec, int N, int &n_count) |
Conjugate-Gradient (CGNE) with eigenstd::vector acceleration.
void Chroma::InvEigCG2Env::InitGuess | ( | const LinearOperator< LatticeFermionD > & | A, |
LatticeFermionD & | x, | ||
const LatticeFermionD & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionD > & | evec, | ||
int & | n_count | ||
) |
Definition at line 1260 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2Env::InitGuess | ( | const LinearOperator< LatticeFermionD > & | A, |
LatticeFermionD & | x, | ||
const LatticeFermionD & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionD > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
Definition at line 1270 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
Referenced by InitGuess_T().
void Chroma::InvEigCG2Env::InitGuess | ( | const LinearOperator< LatticeFermionF > & | A, |
LatticeFermionF & | x, | ||
const LatticeFermionF & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionF > & | evec, | ||
int & | n_count | ||
) |
Definition at line 1196 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2Env::InitGuess | ( | const LinearOperator< LatticeFermionF > & | A, |
LatticeFermionF & | x, | ||
const LatticeFermionF & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionF > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
Definition at line 1206 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2Env::InitGuess_T | ( | const LinearOperator< T > & | A, |
T & | x, | ||
const T & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< T > & | evec, | ||
int & | n_count | ||
) |
Definition at line 1104 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, InitGuess(), Chroma::n_count, and x.
void Chroma::InvEigCG2Env::InitGuess_T | ( | const LinearOperator< T > & | A, |
T & | x, | ||
const T & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< T > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
QDPIO::cout << "InitGuess: time = " << snoop.getTimeInSeconds() << " secs" << std::endl;
Definition at line 1116 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, Chroma::d, Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), Chroma::n_count, Chroma::PLUS, Chroma::r, and x.
Referenced by InitGuess().
SystemSolverResults_t Chroma::InvEigCG2Env::InvEigCG2 | ( | const LinearOperator< LatticeFermionD > & | A, |
LatticeFermionD & | x, | ||
const LatticeFermionD & | b, | ||
multi1d< Double > & | eval, | ||
multi1d< LatticeFermionD > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG, | ||
const int | plvl | ||
) |
Definition at line 1236 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2Env::InvEigCG2 | ( | const LinearOperator< LatticeFermionF > & | A, |
LatticeFermionF & | x, | ||
const LatticeFermionF & | b, | ||
multi1d< Double > & | eval, | ||
multi1d< LatticeFermionF > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG, | ||
const int | PrintLevel | ||
) |
Definition at line 1172 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2Env::InvEigCG2_T | ( | const LinearOperator< T > & | A, |
T & | x, | ||
const T & | b, | ||
multi1d< Double > & | eval, | ||
multi1d< T > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG, | ||
const int | PrintLevel | ||
) |
preconditioning algorithm ** z[A.subset()]=r ; //preconditioning can be added here r_dot_z = innerProductReal(r,z,A.subset());
Definition at line 373 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::LinAlg::Vectors< T >::AddOrReplaceVector(), Chroma::LinAlg::Vectors< T >::AddVectors(), Chroma::StagPhases::alpha(), Chroma::b, Chroma::StagPhases::beta(), Chroma::BaryonSpinMats::C(), Chroma::END_CODE(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), j, Chroma::k, Chroma::LinAlg::Matrix< T >::mat, Chroma::MaxCG, Chroma::LinAlg::Vectors< T >::N, Chroma::LinAlg::Matrix< T >::N, Chroma::SystemSolverResults_t::n_count, Chroma::LinAlg::Vectors< T >::NormalizeAndAddVector(), Chroma::normGramSchmidt(), Chroma::p, Chroma::PLUS, Chroma::QDP_error_exit(), Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::rsd_sq, Chroma::RsdCG, Chroma::START_CODE(), SubSpaceMatrix(), Chroma::LinAlg::Vectors< T >::vec, x, z, and Chroma::zero.
SystemSolverResults_t Chroma::InvEigCG2Env::new_InvEigCG2_T | ( | const LinearOperator< T > & | A, |
T & | x, | ||
const T & | b, | ||
multi1d< Double > & | eval, | ||
multi1d< T > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG, | ||
const int | PrintLevel | ||
) |
preconditioning algorithm
Definition at line 98 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::StagPhases::alpha(), Chroma::b, Chroma::StagPhases::beta(), Chroma::BaryonSpinMats::C(), Chroma::END_CODE(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), j, Chroma::k, Chroma::LinAlg::Matrix< T >::mat, Chroma::MaxCG, Chroma::LinAlg::Vectors< T >::N, Chroma::LinAlg::Matrix< T >::N, Chroma::SystemSolverResults_t::n_count, Chroma::LinAlg::Vectors< T >::NormalizeAndAddVector(), Chroma::p, Chroma::PLUS, Chroma::QDP_error_exit(), Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::rsd_sq, Chroma::RsdCG, Chroma::START_CODE(), SubSpaceMatrix(), Octave::tag(), Chroma::tmp, Chroma::LinAlg::Vectors< T >::vec, x, and Chroma::zero.
void Chroma::InvEigCG2Env::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< LatticeFermionD > & | A, | ||
const multi1d< LatticeFermionD > & | evec, | ||
const multi1d< Double > & | eval, | ||
int | Nvecs, | ||
int | NgoodEvecs | ||
) |
Definition at line 1227 of file inv_eigcg2.cc.
References Chroma::A().
Referenced by InvEigCG2_T(), and new_InvEigCG2_T().
void Chroma::InvEigCG2Env::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< LatticeFermionD > & | A, | ||
const multi1d< LatticeFermionD > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 1219 of file inv_eigcg2.cc.
References Chroma::A().
void Chroma::InvEigCG2Env::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< LatticeFermionF > & | A, | ||
const multi1d< LatticeFermionF > & | evec, | ||
const multi1d< Double > & | eval, | ||
int | Nvecs, | ||
int | NgoodEvecs | ||
) |
Definition at line 1164 of file inv_eigcg2.cc.
References Chroma::A().
void Chroma::InvEigCG2Env::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< LatticeFermionF > & | A, | ||
const multi1d< LatticeFermionF > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 1156 of file inv_eigcg2.cc.
References Chroma::A().
void Chroma::InvEigCG2Env::SubSpaceMatrix_T | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< T > & | A, | ||
const multi1d< T > & | evec, | ||
const multi1d< Double > & | eval, | ||
int | Nvecs, | ||
int | NgoodEvecs | ||
) |
Definition at line 62 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), j, Chroma::LinAlg::Matrix< T >::mat, Chroma::LinAlg::Matrix< T >::N, Chroma::PLUS, and Chroma::LinAlg::Matrix< T >::size().
void Chroma::InvEigCG2Env::SubSpaceMatrix_T | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperator< T > & | A, | ||
const multi1d< T > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 31 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), j, Chroma::LinAlg::Matrix< T >::mat, Chroma::LinAlg::Matrix< T >::N, Chroma::PLUS, and Chroma::LinAlg::Matrix< T >::size().
SystemSolverResults_t Chroma::InvEigCG2Env::vecPrecondCG | ( | const LinearOperator< LatticeFermionD > & | A, |
LatticeFermionD & | x, | ||
const LatticeFermionD & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionD > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 1249 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2Env::vecPrecondCG | ( | const LinearOperator< LatticeFermionF > & | A, |
LatticeFermionF & | x, | ||
const LatticeFermionF & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< LatticeFermionF > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 1185 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2Env::vecPrecondCG_T | ( | const LinearOperator< T > & | A, |
T & | x, | ||
const T & | b, | ||
const multi1d< Double > & | eval, | ||
const multi1d< T > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
preconditioning algorithm
Definition at line 1010 of file inv_eigcg2.cc.
References Chroma::A(), Chroma::StagPhases::alpha(), Chroma::b, Chroma::StagPhases::beta(), Chroma::d, Chroma::END_CODE(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), Chroma::k, Chroma::MaxCG, Chroma::SystemSolverResults_t::n_count, Chroma::p, Chroma::PLUS, Chroma::QDP_error_exit(), Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::rsd_sq, Chroma::RsdCG, Chroma::START_CODE(), x, and z.