sisi4s
Loading...
Searching...
No Matches
DiisMixer.hpp
Go to the documentation of this file.
1#ifndef DIIS_MIXER_DEFINED
2#define DIIS_MIXER_DEFINED
3
4#include <mixers/Mixer.hpp>
5
7
8#include <util/Tensor.hpp>
9
10namespace sisi4s {
11template <typename F>
12class DiisMixer : public Mixer<F> {
13public:
16 virtual ~DiisMixer();
17
18 virtual void append(const PTR(FockVector<F>) &A, const PTR(FockVector<F>) &R);
19 virtual PTR(const FockVector<F>) get();
20 virtual PTR(const FockVector<F>) getResiduum();
21
26
32
40 std::vector<PTR(FockVector<F>)> residua;
41
49 PTR(Tensor<F>) B;
50
55 int nextIndex;
56
60 int count;
61};
62} // namespace sisi4s
63
64#endif
#define MIXER_REGISTRAR_DECLARATION(NAME)
Auxiliary macro declaring the mixer registrar for the mixer type of the given name....
Definition Mixer.hpp:127
#define PTR(TYPE)
Definition SharedPointer.hpp:8
Definition Algorithm.hpp:26
Definition DiisMixer.hpp:12
virtual std::shared_ptr< const FockVector< F > > get()
Returns the current best estimate of the amplitudes according to previously given pairs of amplitudes...
std::shared_ptr< FockVector< F > > next
The best estimate for the next amplitudes as returned by get().
Definition DiisMixer.hpp:25
virtual std::shared_ptr< const FockVector< F > > getResiduum()
Returns the estimated residuum of the current best estimate of the amplitdues according to previously...
std::vector< std::shared_ptr< FockVector< F > > > amplitudes
The amplitudes associated to each residuum in the overlap matrix B.
Definition DiisMixer.hpp:36
std::shared_ptr< FockVector< F > > nextResiduum
The best estimate for the next residuum as returned by getResiduum().
Definition DiisMixer.hpp:31
virtual ~DiisMixer()
Definition DiisMixer.cxx:100
std::vector< std::shared_ptr< FockVector< F > > > residua
The residua contained in the overlap matrix B.
Definition DiisMixer.hpp:40
virtual void append(const std::shared_ptr< FockVector< F > > &A, const std::shared_ptr< FockVector< F > > &R)
Appends the given pair (A,R) of FockVectors to the mixer, where R is the residuum when using the ampl...
Definition DiisMixer.cxx:103
Represents the direct sum of Tensors and provides the vector space operations of addition,...
Definition FockVector.hpp:26
Definition Mixer.hpp:13
Algorithm * algorithm
Definition Mixer.hpp:50
Definition Algorithm.hpp:10
CTF::Tensor< F > Tensor
Definition Tensor.hpp:9