ergo
|
Classes | |
class | E2Evaluator |
E2Evaluator interface provides a way to perform a linear transformation of supplied transition density matrix. More... | |
class | EigenSolver |
Iterative Eigenvalue solver, extending the generic LRSolver. More... | |
class | LRSolver |
Linear Response iterative solver using a variant of the Davidson method. More... | |
class | OneElOperator |
Abstract interface to a one electron operator. More... | |
class | SetOfEqSolver |
Iterative Set Of Linear Equations solver, extending the generic LRSolver. More... | |
class | SmallMatrix |
a class implementing dynamic resized two dimensional arrays. More... | |
class | VarVector |
Vector of variables parametrising the solution to the linear response equations. More... | |
class | VarVectorCollection |
a collection of vectors, usually handled at once. More... | |
class | VarVectorProxyOp |
template based proxy object that uses bool-valued policies to perform the assignments. More... | |
Functions | |
ergo_real | dot (int len, const ergo_real *a, const ergo_real *b) |
returns dot_product(a, b) More... | |
ergo_real | operator* (const VarVector &a, const VarVector &b) |
ergo_real | operator* (const VarVector &a, const VarVectorProxyOp< false, false > &b) |
ergo_real | operator* (const VarVector &a, const VarVectorProxyOp< true, false > &b) |
ergo_real | operator* (const VarVector &a, const VarVectorProxyOp< false, true > &b) |
VarVectorProxyOp< false, false > | operator* (ergo_real s, const VarVector &v) |
template<bool MultByS, bool SwapXY> | |
VarVectorProxyOp< MultByS, SwapXY > | operator* (ergo_real s, const VarVectorProxyOp< MultByS, SwapXY > &v) |
VarVector & | operator+= (VarVector &a, const VarVectorProxyOp< false, false > &proxy) |
VarVector & | operator+= (VarVector &a, const VarVectorProxyOp< true, false > &proxy) |
VarVector & | operator+= (VarVector &a, const VarVectorProxyOp< false, true > &proxy) |
VarVector & | operator+= (VarVector &a, const VarVectorProxyOp< true, true > &proxy) |
const VarVectorProxyOp< false, true > | swapXY (const VarVector &arg) |
returns a proxy object corresponding to a swapped vector. More... | |
const VarVectorProxyOp< true, false > | sTimes (const VarVector &arg) |
returns a proxy object corresponding to a vector multiplied by S[2], i.e. More... | |
template<bool SwapXY> | |
VarVectorProxyOp< true, SwapXY > | sTimes (const VarVectorProxyOp< false, SwapXY > &arg) |
static void | precondition (VarVector &v, const VarVector &e2diag, ergo_real shift) |
pre-condition a vector given an approximation of the E[2] operator diagonal and a shift of the S[2] operator. More... | |
static void | commuteWithDMO (int nbast, int nocc, ergo_real *mat) |
mat := [mat, D_MO] More... | |
static void | gemm (int n, const char *at, const ergo_real *a, const char *bt, const ergo_real *b, ergo_real alpha, ergo_real beta, ergo_real *c) |
static void | commute (int nbast, const ergo_real *a, const ergo_real *b, ergo_real f, ergo_real *res) |
res := f*res + [a, b] More... | |
|
static |
mat := [mat, D_MO]
Referenced by LR::LRSolver::lintrans(), LR::LRSolver::operToVec(), and LR::SetOfEqSolver::setRHS().
returns dot_product(a, b)
Referenced by LR::LRSolver::addToSpace(), LR::SetOfEqSolver::addToSpace(), LR::EigenSolver::computeMoments(), LR::EigenSolver::getResidual(), operator*(), LR::LRSolver::projectOnSubspace(), and LR::VarVector::symorth().
|
inlinestatic |
References mat::gemm().
Referenced by LR::LRSolver::ao2mo(), commute(), and LR::LRSolver::mo2ao().
References dot(), LR::VarVector::inMemory, LR::VarVector::nvar, and LR::VarVector::v.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
pre-condition a vector given an approximation of the E[2] operator diagonal and a shift of the S[2] operator.
References LR::VarVector::nvar, LR::VarVector::onDisk, template_blas_fabs(), LR::VarVector::x(), and LR::VarVector::y().
Referenced by LR::LRSolver::addToSpace().
const VarVectorProxyOp<true,false> LR::sTimes | ( | const VarVector & | arg | ) |
returns a proxy object corresponding to a vector multiplied by S[2], i.e.
v -> S[2]*v.
Referenced by LR::LRSolver::addToSpace(), and LR::LRSolver::getAvMinusFreqSv().
VarVectorProxyOp<true, SwapXY> LR::sTimes | ( | const VarVectorProxyOp< false, SwapXY > & | arg | ) |
const VarVectorProxyOp<false,true> LR::swapXY | ( | const VarVector & | arg | ) |
returns a proxy object corresponding to a swapped vector.
Referenced by LR::LRSolver::addToSpace(), and LR::LRSolver::getAvMinusFreqSv().