ergo
mat::Purification< Treal, Tmatrix, TdebugPolicy > Class Template Reference

#include <Purification.h>

Inheritance diagram for mat::Purification< Treal, Tmatrix, TdebugPolicy >:
TdebugPolicy

Public Types

typedef Tmatrix::VectorType VectorType

Public Member Functions

 Purification (Tmatrix &M, normType const normXmX2, PuriInfo< Treal, VectorType, TdebugPolicy > &info)
 Constructor.
void step ()
void purify ()

Protected Member Functions

void stepComputeInfo (PuriStepInfo< Treal, VectorType, TdebugPolicy > &currentStep)

Protected Attributes

Tmatrix & X
Tmatrix X2
normType const normTruncation
normType const normXmX2
PuriInfo< Treal, VectorType,
TdebugPolicy > & 
info
int niter

Member Typedef Documentation

template<typename Treal , typename Tmatrix , typename TdebugPolicy >
typedef Tmatrix::VectorType mat::Purification< Treal, Tmatrix, TdebugPolicy >::VectorType

Constructor & Destructor Documentation

template<typename Treal , typename Tmatrix , typename TdebugPolicy >
mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification ( Tmatrix &  M,
normType const  normXmX2,
PuriInfo< Treal, VectorType, TdebugPolicy > &  info 
)

Constructor.

Parameters
MFock/Kohn-Sham matrix (input) Density matrix (output)
normXmX2Norm for calculation of norm of X-X2.
infoPurification information object. Works as input with system size (n), number of occupied orbitals (nocc), and number of allowed multiplications. Outputs all kind of information about the purification process, see PuriInfo.h.

References mat::Interval< Treal >::empty(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getEigFInterval(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getHomoF(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getLumoF(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getNext(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::improveEigInterval(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumo(), mat::Interval< Treal >::increase(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::info, mat::Interval< Treal >::low(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::normTruncation, mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setActualThresh(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setChosenThresh(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setMemUsageBeforeTrunc(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTimeThresh(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTimeTotal(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo(), mat::Time::tic(), mat::Time::toc(), mat::Interval< Treal >::upp(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::X.

Member Function Documentation

template<typename Treal , typename Tmatrix , typename TdebugPolicy >
void mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify ( )
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
void mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo ( PuriStepInfo< Treal, VectorType, TdebugPolicy > &  currentStep)
protected

Member Data Documentation

template<typename Treal , typename Tmatrix , typename TdebugPolicy >
PuriInfo<Treal, VectorType, TdebugPolicy>& mat::Purification< Treal, Tmatrix, TdebugPolicy >::info
protected
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
int mat::Purification< Treal, Tmatrix, TdebugPolicy >::niter
protected
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
normType const mat::Purification< Treal, Tmatrix, TdebugPolicy >::normTruncation
protected
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
normType const mat::Purification< Treal, Tmatrix, TdebugPolicy >::normXmX2
protected
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
Tmatrix& mat::Purification< Treal, Tmatrix, TdebugPolicy >::X
protected
template<typename Treal , typename Tmatrix , typename TdebugPolicy >
Tmatrix mat::Purification< Treal, Tmatrix, TdebugPolicy >::X2
protected

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