sisi4s
Loading...
Searching...
No Matches
UccsdtAmplitudesFromCoulombIntegrals.hpp
Go to the documentation of this file.
1#ifndef UCCSDT_FROM_COULOMB_INTEGRALS_DEFINED
2#define UCCSDT_FROM_COULOMB_INTEGRALS_DEFINED
3
5#include <vector>
6#include <algorithm>
7#include <memory>
8#include <string>
9
10namespace sisi4s {
13public:
16 std::vector<Argument> const &argumentList);
18
19 virtual void run();
20 virtual std::string getAbbreviation() { return "Uccsdt"; }
21
22protected:
27 virtual PTR(FockVector<double>)
28 getResiduum(const int iteration,
29 const PTR(const FockVector<double>) &amplitudes);
30
32 getResiduum(const int iteration,
33 const PTR(const FockVector<complex>) &amplitudes);
34
35 template <typename F>
36 PTR(FockVector<F>)
37 getResiduumTemplate(const int iteration,
38 const PTR(const FockVector<F>) &amplitudes);
39
40 template <typename F>
41 PTR(FockVector<F>) getResiduumSth(const int iteration,
42 const PTR(const FockVector<F>) &amplitudes);
43};
44
45} // namespace sisi4s
46
47#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, doubles and triples amplitudes....
Definition ClusterSinglesDoublesTriplesAlgorithm.hpp:26
Represents the direct sum of Tensors and provides the vector space operations of addition,...
Definition FockVector.hpp:26
Definition UccsdtAmplitudesFromCoulombIntegrals.hpp:12
virtual std::string getAbbreviation()
Returns the abbreviation of the concrete algorithm, e.g. "Ccd", "Dcd".
Definition UccsdtAmplitudesFromCoulombIntegrals.hpp:20
virtual ~UccsdtAmplitudesFromCoulombIntegrals()
Definition UccsdtAmplitudesFromCoulombIntegrals.cxx:28
std::shared_ptr< FockVector< F > > getResiduumSth(const int iteration, const std::shared_ptr< const FockVector< F > > &amplitudes)
Definition UccsdtAmplitudesFromCoulombIntegrals.cxx:54
std::shared_ptr< FockVector< F > > getResiduumTemplate(const int iteration, const std::shared_ptr< const FockVector< F > > &amplitudes)
Definition UccsdtAmplitudesFromCoulombIntegrals.cxx:218
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 UccsdtAmplitudesFromCoulombIntegrals.cxx:36
virtual void run()
Calculates the energy of a ClusterSinglesDoubles algorithm.
Definition UccsdtAmplitudesFromCoulombIntegrals.cxx:30
Definition Algorithm.hpp:10
Complex< real > complex
Definition Complex.hpp:17