sisi4s
Loading...
Searching...
No Matches
LinearMixer.hpp
Go to the documentation of this file.
1#ifndef LINEAR_MIXER_DEFINED
2#define LINEAR_MIXER_DEFINED
3
4#include <mixers/Mixer.hpp>
5
7
8namespace sisi4s {
9template <typename F>
10class LinearMixer : public Mixer<F> {
11public:
14 virtual ~LinearMixer();
15
16 virtual void append(const PTR(FockVector<F>) &A, const PTR(FockVector<F>) &R);
17 virtual PTR(const FockVector<F>) get();
18 virtual PTR(const FockVector<F>) getResiduum();
19
22
23 double ratio;
24};
25} // namespace sisi4s
26
27#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
Represents the direct sum of Tensors and provides the vector space operations of addition,...
Definition FockVector.hpp:26
Definition LinearMixer.hpp:10
virtual std::shared_ptr< const FockVector< F > > get()
Returns the current best estimate of the amplitudes according to previously given pairs of amplitudes...
Definition LinearMixer.cxx:47
virtual std::shared_ptr< const FockVector< F > > getResiduum()
Returns the estimated residuum of the current best estimate of the amplitdues according to previously...
Definition LinearMixer.cxx:52
std::shared_ptr< FockVector< F > > last
Definition LinearMixer.hpp:20
virtual ~LinearMixer()
Definition LinearMixer.cxx:27
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 LinearMixer.cxx:30
double ratio
Definition LinearMixer.hpp:23
std::shared_ptr< FockVector< F > > lastResiduum
Definition LinearMixer.hpp:21
Definition Mixer.hpp:13
Algorithm * algorithm
Definition Mixer.hpp:50
Definition Algorithm.hpp:10