sisi4s
Loading...
Searching...
No Matches
sisi4s::Mixer< F > Class Template Referenceabstract

#include <Mixer.hpp>

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

Public Member Functions

 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

Algorithmalgorithm
 

Constructor & Destructor Documentation

◆ Mixer()

template<typename F >
Mixer::Mixer ( Algorithm algorithm)

◆ ~Mixer()

template<typename F >
Mixer::~Mixer
virtual

Member Function Documentation

◆ append()

template<typename F >
virtual void sisi4s::Mixer< F >::append ( const std::shared_ptr< FockVector< F > > &  A,
const std::shared_ptr< FockVector< F > > &  R 
)
pure 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.

Implemented in sisi4s::DiisMixer< F >, and sisi4s::LinearMixer< F >.

◆ get()

template<typename F >
virtual std::shared_ptr< const FockVector< F > > sisi4s::Mixer< F >::get ( )
pure 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.

Implemented in sisi4s::DiisMixer< F >, and sisi4s::LinearMixer< F >.

◆ getName()

template<typename F >
virtual std::string sisi4s::Mixer< F >::getName ( )
pure virtual

Returns the name of the implenting mixer.

Implemented in sisi4s::DiisMixer< F >, and sisi4s::LinearMixer< F >.

◆ getResiduum()

template<typename F >
virtual std::shared_ptr< const FockVector< F > > sisi4s::Mixer< F >::getResiduum ( )
pure 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.

Implemented in sisi4s::DiisMixer< F >, and sisi4s::LinearMixer< F >.

Member Data Documentation

◆ algorithm

template<typename F >
Algorithm* sisi4s::Mixer< F >::algorithm

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