mpqc::math::DIIS Class Reference
Collaboration diagram for mpqc::math::DIIS:

Documentation

Factory for creating DIIS objects.

Public Member Functions

 DIIS ()=default
 
virtual ~DIIS ()=default
 
 DIIS (const KeyVal &kv)
 KeyVal constructor for zRHF. More...
 
template<typename T >
std::shared_ptr< TA::DIIS< T > > & make () const
 
- Public Member Functions inherited from mpqc::DescribedClass
 DescribedClass ()=default
 
virtual ~DescribedClass ()
 
std::string class_key () const
 
- Public Member Functions inherited from mpqc::enable_shared_from_this< DescribedClass >
virtual ~enable_shared_from_this ()=default
 
std::shared_ptr< DescribedClassshared_from_this ()
 returns the pointer to this object More...
 
std::shared_ptr< std::add_const_t< DescribedClass > > shared_from_this () const
 returns the pointer to this object More...
 
- Public Member Functions inherited from mpqc::detail::virt_base_of_enable_shared_from_this
virtual ~virt_base_of_enable_shared_from_this ()=default
 
bool shared_from_this_possible () const
 
template<typename Target , typename = std::enable_if_t<!std::is_const_v<Target>>>
std::shared_ptr< Target > cast_shared_from_this_to ()
 returns the pointer to this cast to a particular type More...
 
template<typename Target >
std::shared_ptr< std::add_const_t< Target > > cast_shared_from_this_to () const
 returns the pointer to this cast to a particular type More...
 

Additional Inherited Members

- Public Types inherited from mpqc::DescribedClass
typedef std::shared_ptr< DescribedClass >(* keyval_ctor_wrapper_type) (const KeyVal &)
 
- Static Public Member Functions inherited from mpqc::DescribedClass
static keyval_ctor_wrapper_type type_to_keyval_ctor (const std::string &type_name)
 
template<typename T >
static void register_keyval_ctor ()
 
template<typename T >
static bool is_registered ()
 
template<typename T >
static std::string class_key ()
 
static const keyval_ctor_registry_type & keyval_ctor_registry ()
 returns const ref to the keyval ctor registry More...
 

Constructor & Destructor Documentation

◆ DIIS() [1/2]

mpqc::math::DIIS::DIIS ( )
default

◆ ~DIIS()

virtual mpqc::math::DIIS::~DIIS ( )
virtualdefault

◆ DIIS() [2/2]

mpqc::math::DIIS::DIIS ( const KeyVal kv)

KeyVal constructor for zRHF.

Parameters
kvThe KeyVal object will take all keywords from PeriodicAOWavefunction, and the following keywords
Keyword Type Default Description
start unsigned int 1 the DIIS extrapolation will begin after start-1 calls to the extrapolate method
nvec unsigned int 5 maximum number of data sets to store
damping real 0.3 this nonnegative floating point number is used to dampen the DIIS extrapolation, specifically the diagonal elements of the DIIS B (error overlap) matrix are scaled by 1 plus this number
damping_attenuation real 1e-3 this nonnegative floating point number defines the 2-norm of the error when when the damping factor for the DIIS extrapolation starts to decay linearly with the error
mixing real 0 this nonnegative floating point number is used to dampen the DIIS extrapolation by mixing the input data with the extrapolated data; e.g., mixing=0.3 the output of extrapolate will be the combination of input data to extrapolated data in 3:7 ratio

| ngrp_iter | unsigned int | 1 | the number of iterations in a DIIS group | DIIS extrapolation is only used for the first diis_num_extrap_group of these iterations | | ngrp_extrap | unsigned int | 1 | the number of DIIS extrapolations to do at the beginning of an iteration group |

Member Function Documentation

◆ make()

template<typename T >
std::shared_ptr<TA::DIIS<T> >& mpqc::math::DIIS::make ( ) const
inline

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