sisi4s
Loading...
Searching...
No Matches
sisi4s::LinearMixer< F > Class Template Reference

#include <LinearMixer.hpp>

Inheritance diagram for sisi4s::LinearMixer< F >:
Collaboration diagram for sisi4s::LinearMixer< F >:

Public Member Functions

virtual std::string getName ()
 Returns the name of the implenting mixer.
 
 LinearMixer (Algorithm *algorithm)
 
virtual ~LinearMixer ()
 
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 amplitudes A. The mixer may use the given amplitudes and residua to provide an estimated amplitude with a lower expected residuum. A and R are not expected to change upon return.
 
virtual std::shared_ptr< const FockVector< F > > get ()
 Returns the current best estimate of the amplitudes according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.
 
virtual std::shared_ptr< const FockVector< F > > getResiduum ()
 Returns the estimated residuum of the current best estimate of the amplitdues according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.
 
- Public Member Functions inherited from sisi4s::Mixer< F >
 Mixer (Algorithm *algorithm)
 
virtual ~Mixer ()
 
virtual std::string getName ()=0
 Returns the name of the implenting mixer.
 
virtual void append (const std::shared_ptr< FockVector< F > > &A, const std::shared_ptr< FockVector< F > > &R)=0
 Appends the given pair (A,R) of FockVectors to the mixer, where R is the residuum when using the amplitudes A. The mixer may use the given amplitudes and residua to provide an estimated amplitude with a lower expected residuum. A and R are not expected to change upon return.
 
virtual std::shared_ptr< const FockVector< F > > get ()=0
 Returns the current best estimate of the amplitudes according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.
 
virtual std::shared_ptr< const FockVector< F > > getResiduum ()=0
 Returns the estimated residuum of the current best estimate of the amplitdues according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.
 

Public Attributes

std::shared_ptr< FockVector< F > > last
 
std::shared_ptr< FockVector< F > > lastResiduum
 
double ratio
 
- Public Attributes inherited from sisi4s::Mixer< F >
Algorithmalgorithm
 

Static Public Attributes

static MixerRegistrar< F, LinearMixer< F > > registrar_
 

Constructor & Destructor Documentation

◆ LinearMixer()

template<typename F >
LinearMixer::LinearMixer ( Algorithm algorithm)
Here is the call graph for this function:

◆ ~LinearMixer()

template<typename F >
LinearMixer::~LinearMixer
virtual

Member Function Documentation

◆ append()

template<typename F >
void LinearMixer::append ( const std::shared_ptr< FockVector< F > > &  A,
const std::shared_ptr< FockVector< F > > &  R 
)
virtual

Appends the given pair (A,R) of FockVectors to the mixer, where R is the residuum when using the amplitudes A. The mixer may use the given amplitudes and residua to provide an estimated amplitude with a lower expected residuum. A and R are not expected to change upon return.

Implements sisi4s::Mixer< F >.

◆ get()

template<typename F >
std::shared_ptr< const FockVector< F > > LinearMixer::get ( )
virtual

Returns the current best estimate of the amplitudes according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.

Implements sisi4s::Mixer< F >.

◆ getName()

template<typename F >
virtual std::string sisi4s::LinearMixer< F >::getName ( )
inlinevirtual

Returns the name of the implenting mixer.

Implements sisi4s::Mixer< F >.

◆ getResiduum()

template<typename F >
std::shared_ptr< const FockVector< F > > LinearMixer::getResiduum ( )
virtual

Returns the estimated residuum of the current best estimate of the amplitdues according to previously given pairs of amplitudes and residua. Requires one or more previous calls to append. The returned FockVectors must not be changed.

Implements sisi4s::Mixer< F >.

Member Data Documentation

◆ last

template<typename F >
std::shared_ptr< FockVector<F> > sisi4s::LinearMixer< F >::last

◆ lastResiduum

template<typename F >
std::shared_ptr< FockVector<F> > sisi4s::LinearMixer< F >::lastResiduum

◆ ratio

template<typename F >
double sisi4s::LinearMixer< F >::ratio

◆ registrar_

template<typename F >
MixerRegistrar< F, LinearMixer< F > > LinearMixer::registrar_
static

The documentation for this class was generated from the following files: