ergo
|
#include <Purification.h>
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 > ¤tStep) |
Protected Attributes | |
Tmatrix & | X |
Tmatrix | X2 |
normType const | normTruncation |
normType const | normXmX2 |
PuriInfo< Treal, VectorType, TdebugPolicy > & | info |
int | niter |
typedef Tmatrix::VectorType mat::Purification< Treal, Tmatrix, TdebugPolicy >::VectorType |
mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification | ( | Tmatrix & | M, |
normType const | normXmX2, | ||
PuriInfo< Treal, VectorType, TdebugPolicy > & | info | ||
) |
Constructor.
M | Fock/Kohn-Sham matrix (input) Density matrix (output) |
normXmX2 | Norm for calculation of norm of X-X2. |
info | Purification 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.
void mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify | ( | ) |
Referenced by get_dens_from_fock_sparse().
void mat::Purification< Treal, Tmatrix, TdebugPolicy >::step | ( | ) |
References mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::getEigAccLoss(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::getHomo(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::getLumo(), 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::Time::tic(), and mat::Time::toc().
|
protected |
References mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::checkIntervals(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::computeEigAccLoss(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::computeExactValues(), mat::euclNorm, mat::frobNorm, mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::getEigAccLoss(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::getEigInterval(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::improveEigInterval(), mat::Interval< Treal >::increase(), mat::Interval< Treal >::intersect(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setEigVecPtr(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setNnzX(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setNnzX2(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setPoly(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTimeSquare(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTimeXmX2Norm(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTraceX(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setTraceX2(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::setXmX2EuclNorm(), template_blas_sqrt(), mat::Time::tic(), mat::Time::toc(), and mat::Interval< Treal >::upp().
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |