CHROMA
|
Conjugate-Gradient (CGNE) with eigenstd::vector acceleration. More...
Functions | |
template<typename T > | |
void | SubSpaceMatrix_T (LinAlg::Matrix< DComplex > &H, const LinearOperatorArray< T > &A, const multi2d< T > &evec, int Nvecs) |
template<typename T > | |
SystemSolverResults_t | InvEigCG2_T (const LinearOperatorArray< T > &A, multi1d< T > &x, const multi1d< T > &b, multi1d< Double > &eval, multi2d< T > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG) |
template<typename T > | |
SystemSolverResults_t | old_InvEigCG2_T (const LinearOperatorArray< T > &A, multi1d< T > &x, const multi1d< T > &b, multi1d< Double > &eval, multi2d< T > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG) |
template<typename T > | |
SystemSolverResults_t | vecPrecondCG_T (const LinearOperatorArray< T > &A, multi1d< T > &x, const multi1d< T > &b, const multi1d< Double > &eval, const multi2d< T > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
template<typename T > | |
void | InitGuess_T (const LinearOperatorArray< T > &A, multi1d< T > &x, const multi1d< T > &b, const multi1d< Double > &eval, const multi2d< T > &evec, int &n_count) |
template<typename T > | |
void | InitGuess_T (const LinearOperatorArray< T > &A, multi1d< T > &x, const multi1d< T > &b, const multi1d< Double > &eval, const multi2d< T > &evec, int N, int &n_count) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperatorArray< LatticeFermionF > &A, const multi2d< LatticeFermionF > &evec, int Nvecs) |
SystemSolverResults_t | InvEigCG2 (const LinearOperatorArray< LatticeFermionF > &A, multi1d< LatticeFermionF > &x, const multi1d< LatticeFermionF > &b, multi1d< Double > &eval, multi2d< LatticeFermionF > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG) |
SystemSolverResults_t | vecPrecondCG (const LinearOperatorArray< LatticeFermionF > &A, multi1d< LatticeFermionF > &x, const multi1d< LatticeFermionF > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionF > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
void | InitGuess (const LinearOperatorArray< LatticeFermionF > &A, multi1d< LatticeFermionF > &x, const multi1d< LatticeFermionF > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionF > &evec, int &n_count) |
void | InitGuess (const LinearOperatorArray< LatticeFermionF > &A, multi1d< LatticeFermionF > &x, const multi1d< LatticeFermionF > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionF > &evec, int N, int &n_count) |
void | SubSpaceMatrix (LinAlg::Matrix< DComplex > &H, const LinearOperatorArray< LatticeFermionD > &A, const multi2d< LatticeFermionD > &evec, int Nvecs) |
SystemSolverResults_t | InvEigCG2 (const LinearOperatorArray< LatticeFermionD > &A, multi1d< LatticeFermionD > &x, const multi1d< LatticeFermionD > &b, multi1d< Double > &eval, multi2d< LatticeFermionD > &evec, int Neig, int Nmax, const Real &RsdCG, int MaxCG) |
SystemSolverResults_t | vecPrecondCG (const LinearOperatorArray< LatticeFermionD > &A, multi1d< LatticeFermionD > &x, const multi1d< LatticeFermionD > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionD > &evec, int startV, int endV, const Real &RsdCG, int MaxCG) |
void | InitGuess (const LinearOperatorArray< LatticeFermionD > &A, multi1d< LatticeFermionD > &x, const multi1d< LatticeFermionD > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionD > &evec, int &n_count) |
void | InitGuess (const LinearOperatorArray< LatticeFermionD > &A, multi1d< LatticeFermionD > &x, const multi1d< LatticeFermionD > &b, const multi1d< Double > &eval, const multi2d< LatticeFermionD > &evec, int N, int &n_count) |
Conjugate-Gradient (CGNE) with eigenstd::vector acceleration.
void Chroma::InvEigCG2ArrayEnv::InitGuess | ( | const LinearOperatorArray< LatticeFermionD > & | A, |
multi1d< LatticeFermionD > & | x, | ||
const multi1d< LatticeFermionD > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionD > & | evec, | ||
int & | n_count | ||
) |
Definition at line 976 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2ArrayEnv::InitGuess | ( | const LinearOperatorArray< LatticeFermionD > & | A, |
multi1d< LatticeFermionD > & | x, | ||
const multi1d< LatticeFermionD > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionD > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
Definition at line 986 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
Referenced by InitGuess_T().
void Chroma::InvEigCG2ArrayEnv::InitGuess | ( | const LinearOperatorArray< LatticeFermionF > & | A, |
multi1d< LatticeFermionF > & | x, | ||
const multi1d< LatticeFermionF > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionF > & | evec, | ||
int & | n_count | ||
) |
Definition at line 922 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2ArrayEnv::InitGuess | ( | const LinearOperatorArray< LatticeFermionF > & | A, |
multi1d< LatticeFermionF > & | x, | ||
const multi1d< LatticeFermionF > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionF > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
Definition at line 932 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InitGuess_T(), Chroma::n_count, and x.
void Chroma::InvEigCG2ArrayEnv::InitGuess_T | ( | const LinearOperatorArray< T > & | A, |
multi1d< T > & | x, | ||
const multi1d< T > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< T > & | evec, | ||
int & | n_count | ||
) |
Definition at line 834 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InitGuess(), Chroma::n_count, and x.
void Chroma::InvEigCG2ArrayEnv::InitGuess_T | ( | const LinearOperatorArray< T > & | A, |
multi1d< T > & | x, | ||
const multi1d< T > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< T > & | evec, | ||
int | N, | ||
int & | n_count | ||
) |
Definition at line 846 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, Chroma::d, Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), l, Chroma::n_count, Chroma::p, Chroma::PLUS, Chroma::r, and x.
Referenced by InitGuess().
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::InvEigCG2 | ( | const LinearOperatorArray< LatticeFermionD > & | A, |
multi1d< LatticeFermionD > & | x, | ||
const multi1d< LatticeFermionD > & | b, | ||
multi1d< Double > & | eval, | ||
multi2d< LatticeFermionD > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 953 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InvEigCG2_T(), Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::InvEigCG2 | ( | const LinearOperatorArray< LatticeFermionF > & | A, |
multi1d< LatticeFermionF > & | x, | ||
const multi1d< LatticeFermionF > & | b, | ||
multi1d< Double > & | eval, | ||
multi2d< LatticeFermionF > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 899 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, InvEigCG2_T(), Chroma::MaxCG, Chroma::RsdCG, and x.
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::InvEigCG2_T | ( | const LinearOperatorArray< T > & | A, |
multi1d< T > & | x, | ||
const multi1d< T > & | b, | ||
multi1d< Double > & | eval, | ||
multi2d< T > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
preconditioning algorithm
Definition at line 63 of file inv_eigcg2_array.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, l, Chroma::LinAlg::Matrix< T >::mat, Chroma::MaxCG, Chroma::LinAlg::Matrix< T >::N, Chroma::LinAlg::VectorArrays< T >::N, Chroma::SystemSolverResults_t::n_count, Chroma::LinAlg::VectorArrays< 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::VectorArrays< T >::vec, x, and Chroma::zero.
Referenced by InvEigCG2().
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::old_InvEigCG2_T | ( | const LinearOperatorArray< T > & | A, |
multi1d< T > & | x, | ||
const multi1d< T > & | b, | ||
multi1d< Double > & | eval, | ||
multi2d< T > & | evec, | ||
int | Neig, | ||
int | Nmax, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
preconditioning algorithm
Definition at line 356 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::LinAlg::VectorArrays< T >::AddOrReplaceVector(), Chroma::LinAlg::VectorArrays< 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::Matrix< T >::N, Chroma::LinAlg::VectorArrays< T >::N, Chroma::SystemSolverResults_t::n_count, Chroma::LinAlg::VectorArrays< T >::NormalizeAndAddVector(), Chroma::normGramSchmidt(), Chroma::p, Chroma::PLUS, Chroma::QDP_error_exit(), Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::rsd_sq, Chroma::RsdCG, Chroma::LinAlg::VectorArrays< T >::size(), Chroma::START_CODE(), SubSpaceMatrix(), Octave::tag(), Chroma::tmp, Chroma::LinAlg::VectorArrays< T >::vec, x, z, and Chroma::zero.
void Chroma::InvEigCG2ArrayEnv::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperatorArray< LatticeFermionD > & | A, | ||
const multi2d< LatticeFermionD > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 945 of file inv_eigcg2_array.cc.
References Chroma::A(), and SubSpaceMatrix_T().
Referenced by InvEigCG2_T(), and old_InvEigCG2_T().
void Chroma::InvEigCG2ArrayEnv::SubSpaceMatrix | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperatorArray< LatticeFermionF > & | A, | ||
const multi2d< LatticeFermionF > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 891 of file inv_eigcg2_array.cc.
References Chroma::A(), and SubSpaceMatrix_T().
void Chroma::InvEigCG2ArrayEnv::SubSpaceMatrix_T | ( | LinAlg::Matrix< DComplex > & | H, |
const LinearOperatorArray< T > & | A, | ||
const multi2d< T > & | evec, | ||
int | Nvecs | ||
) |
Definition at line 31 of file inv_eigcg2_array.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().
Referenced by SubSpaceMatrix().
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::vecPrecondCG | ( | const LinearOperatorArray< LatticeFermionD > & | A, |
multi1d< LatticeFermionD > & | x, | ||
const multi1d< LatticeFermionD > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionD > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 965 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, vecPrecondCG_T(), and x.
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::vecPrecondCG | ( | const LinearOperatorArray< LatticeFermionF > & | A, |
multi1d< LatticeFermionF > & | x, | ||
const multi1d< LatticeFermionF > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< LatticeFermionF > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
Definition at line 911 of file inv_eigcg2_array.cc.
References Chroma::A(), Chroma::b, Chroma::MaxCG, Chroma::RsdCG, vecPrecondCG_T(), and x.
SystemSolverResults_t Chroma::InvEigCG2ArrayEnv::vecPrecondCG_T | ( | const LinearOperatorArray< T > & | A, |
multi1d< T > & | x, | ||
const multi1d< T > & | b, | ||
const multi1d< Double > & | eval, | ||
const multi2d< T > & | evec, | ||
int | startV, | ||
int | endV, | ||
const Real & | RsdCG, | ||
int | MaxCG | ||
) |
preconditioning algorithm
Definition at line 731 of file inv_eigcg2_array.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, l, 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.
Referenced by vecPrecondCG().