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