sisi4s
Loading...
Searching...
No Matches
ApproximateCoulombVertex.hpp
Go to the documentation of this file.
1#ifndef APPROXIMATE_COULOMB_VERTEX_DEFINED
2#define APPROXIMATE_COULOMB_VERTEX_DEFINED
3
5#include <util/Tensor.hpp>
6
7namespace sisi4s {
8/* @WIKI
9 * \brief Approximates the Coulomb vertex $\tilde\Gamma^q_{rG}$
10 * using the given set of left singular vectors $U^F_G$ associated to the
11 * $\Gamma^q_{rF} = {U^\ast}^G_F \tilde\Gamma^q_{rG}$.
12 * largest singular values, The approximated Coulomb vertex is given by
13 * \param[in] CoulombVertex (complex tensor) (none)
14 * The Coulomb vertex $\tilde\Gamma$ to approximate.
15 * \param[in] EnergyMatrixTransform tensor none
16 * The left singular vectors $U$ to be used in the transformation.
17 * \param[out] ApproximatedCoulombVertex tensor
18 * The approximated Coulomb vertex $\Gamma$.
19 */
21public:
23 ApproximateCoulombVertex(std::vector<Argument> const &argumentList);
30 virtual void run();
34 virtual void dryRun();
35};
36} // namespace sisi4s
37
38#endif
#define ALGORITHM_REGISTRAR_DECLARATION(NAME)
Auxiliary macro declaring the algorithm registrar for the algorithm type of the given name....
Definition Algorithm.hpp:169
Definition Algorithm.hpp:26
Definition ApproximateCoulombVertex.hpp:20
virtual void run()
Approximates the Coulomb vertex using the left singular vectors: .
Definition ApproximateCoulombVertex.cxx:19
virtual void dryRun()
Dry run of approximating the Coulomb vertex.
Definition ApproximateCoulombVertex.cxx:40
virtual ~ApproximateCoulombVertex()
Definition ApproximateCoulombVertex.cxx:17
Definition Algorithm.hpp:10