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

#include <DiisMixer.hpp>

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

Public Member Functions

virtual std::string getName ()
 Returns the name of the implenting mixer.
 
 DiisMixer (Algorithm *algorithm)
 
virtual ~DiisMixer ()
 
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 > > next
 The best estimate for the next amplitudes as returned by get().
 
std::shared_ptr< FockVector< F > > nextResiduum
 The best estimate for the next residuum as returned by getResiduum().
 
std::vector< std::shared_ptr< FockVector< F > > > amplitudes
 The amplitudes associated to each residuum in the overlap matrix B.
 
std::vector< std::shared_ptr< FockVector< F > > > residua
 The residua contained in the overlap matrix B.
 
- Public Attributes inherited from sisi4s::Mixer< F >
Algorithmalgorithm
 

Static Public Attributes

static MixerRegistrar< F, DiisMixer< F > > registrar_
 

Constructor & Destructor Documentation

◆ DiisMixer()

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

◆ ~DiisMixer()

template<typename F >
DiisMixer::~DiisMixer
virtual

Member Function Documentation

◆ append()

template<typename F >
void DiisMixer::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 >.

Here is the call graph for this function:

◆ get()

template<typename F >
virtual std::shared_ptr< const FockVector< F > > sisi4s::DiisMixer< F >::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::DiisMixer< F >::getName ( )
inlinevirtual

Returns the name of the implenting mixer.

Implements sisi4s::Mixer< F >.

◆ getResiduum()

template<typename F >
virtual std::shared_ptr< const FockVector< F > > sisi4s::DiisMixer< F >::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

◆ amplitudes

template<typename F >
std::vector<std::shared_ptr< FockVector<F> > > sisi4s::DiisMixer< F >::amplitudes

The amplitudes associated to each residuum in the overlap matrix B.

◆ next

template<typename F >
std::shared_ptr< FockVector<F> > sisi4s::DiisMixer< F >::next

The best estimate for the next amplitudes as returned by get().

◆ nextResiduum

template<typename F >
std::shared_ptr< FockVector<F> > sisi4s::DiisMixer< F >::nextResiduum

The best estimate for the next residuum as returned by getResiduum().

◆ registrar_

template<typename F >
MixerRegistrar<F, DiisMixer <F> > sisi4s::DiisMixer< F >::registrar_
static

◆ residua

template<typename F >
std::vector<std::shared_ptr< FockVector<F> > > sisi4s::DiisMixer< F >::residua

The residua contained in the overlap matrix B.


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