sisi4s
Loading...
Searching...
No Matches
UrpaAmplitudesFromCoulombIntegrals.hpp
Go to the documentation of this file.
1#ifndef URPA_ALGORITHM__DEFINED
2#define URPA_ALGORITHM__DEFINED
4#include <vector>
5#include <algorithm>
6#include <memory>
7#include <string>
8
9namespace sisi4s {
12public:
14
15 UrpaAmplitudesFromCoulombIntegrals(std::vector<Argument> const &argumentList)
16 : ClusterSinglesDoublesAlgorithm(argumentList) {}
18
19 std::string getAbbreviation() override { return "Urpa"; }
20
21protected:
26 virtual PTR(FockVector<double>)
27 getResiduum(const int iteration,
28 const PTR(const FockVector<double>) &amplitudes);
29
31 getResiduum(const int iteration,
32 const PTR(const FockVector<complex>) &amplitudes);
33
34 template <typename F>
36 getResiduumTemplate(const int iteration,
37 const PTR(const FockVector<F>) &amplitudes);
38};
39
40} // namespace sisi4s
41
42#endif
#define ALGORITHM_REGISTRAR_DECLARATION(NAME)
Auxiliary macro declaring the algorithm registrar for the algorithm type of the given name....
Definition Algorithm.hpp:169
#define PTR(TYPE)
Definition SharedPointer.hpp:8
Contains all the necessary tools for an algorithm with singles and doubles amplitudes....
Definition ClusterSinglesDoublesAlgorithm.hpp:22
Represents the direct sum of Tensors and provides the vector space operations of addition,...
Definition FockVector.hpp:26
Definition UrpaAmplitudesFromCoulombIntegrals.hpp:11
UrpaAmplitudesFromCoulombIntegrals(std::vector< Argument > const &argumentList)
Definition UrpaAmplitudesFromCoulombIntegrals.hpp:15
~UrpaAmplitudesFromCoulombIntegrals()
Definition UrpaAmplitudesFromCoulombIntegrals.hpp:17
virtual std::shared_ptr< FockVector< double > > getResiduum(const int iteration, const std::shared_ptr< const FockVector< double > > &amplitudes)
Implements the iterate method with the DRCCD iteration.
Definition UrpaAmplitudesFromCoulombIntegrals.cxx:30
std::string getAbbreviation() override
Returns the abbreviation of the concrete algorithm, e.g. "Ccd", "Dcd".
Definition UrpaAmplitudesFromCoulombIntegrals.hpp:19
std::shared_ptr< FockVector< F > > getResiduumTemplate(const int iteration, const std::shared_ptr< const FockVector< F > > &amplitudes)
Definition UrpaAmplitudesFromCoulombIntegrals.cxx:37
Definition Algorithm.hpp:10