ergo
|
Contains information about a purification process. More...
#include <PuriInfo.h>
Public Member Functions | |
PuriInfo (int nn, int noc, Interval< Treal > eigFInt, Interval< Treal > hoF, Interval< Treal > luF, Treal toleratedEigenvalError, Treal toleratedSubspaceError, normType normForTruncation_, int maxS=100) | |
virtual | ~PuriInfo () |
void | forceCorrectOccupation () |
Set the correctOccupation flag in the current step to 1. More... | |
void | improveCorrectOccupation () |
Improves the correct occupation indicator Call AFTER convergence and ONLY if it is known that the occupation is correct at convergence. More... | |
void | improveInfo () |
Improve homo / lumo values in each step. More... | |
Interval< Treal > | getEigFInterval () const |
PuriStepInfo< Treal, Tvector, TdebugPolicy > & | getNext () |
PuriStepInfo< Treal, Tvector, TdebugPolicy > & | operator() (int const ind) |
Treal | subspaceError () const |
Returns the subspace error introduced so far. More... | |
void | estimateStepsLeft (int &stepsLeft, Treal &thresh) const |
Estimates the number of steps (upper bound) needed for convergence based on homo/lumo information and desired accuracy in subspace and eigenvalues. More... | |
Treal | getOptimalThresh () const |
Treal | getThreshIncreasingGap (Interval< Treal > const &middleGap) const |
bool | ShouldComputeXmX2EuclNormAccurately (Treal &howAccurate) const |
Interval< Treal > | getHomoF () const |
Returns the best interval containing the homo eigenvalue (not transformed to [0, 1]) More... | |
Interval< Treal > | getLumoF () const |
Returns the best interval containing the lumo eigenvalue (not transformed to [0, 1]) More... | |
int | getMaxSteps () const |
int | getNSteps () const |
void | getPolys (std::vector< int > &resultVector) |
void | getThreshValues (std::vector< Treal > &resultVector) |
bool | correct_occupation_was_forced () const |
void | improveHomoLumoF () |
bool | converged () |
double | getAccumulatedTimeSquare () const |
double | getAccumulatedTimeThresh () const |
double | getAccumulatedTimeXmX2Norm () const |
double | getAccumulatedTimeTotal () const |
void | mTimings (std::ostream &file) const |
void | mInfo (std::ostream &file) const |
void | mMemUsage (std::ostream &file) const |
bool | homoIsAccuratelyKnown () const |
HOMO estimation is considered to be accurate if the error is smaller than tolSubspaceError / 100 in some purification step. More... | |
bool | lumoIsAccuratelyKnown () const |
LUMO estimation is considered to be accurate if the error is smaller than tolSubspaceError / 100 in some purification step. More... | |
normType | getNormForTruncation () const |
void | getHOMOandLUMOeigVecs (Tvector &eigVecLUMO, Tvector &eigVecHOMO) const |
Protected Member Functions | |
Treal | subspaceError (int end) const |
Returns the subspace error introduced until step end. More... | |
Protected Attributes | |
int | n |
System size. More... | |
int | nocc |
Number of occupied orbitals. More... | |
PuriStepInfo< Treal, Tvector, TdebugPolicy > * | step |
int | maxSteps |
Capacity of step array. More... | |
int | nSteps |
Number of taken steps. More... | |
bool | correct_occupation_was_forced_flag |
Correct occupation was assumed, not guaranteed. More... | |
Interval< Treal > const | eigFInterval |
Interval containing all eigenvalues before transformation to the [0, 1] interval. More... | |
Interval< Treal > | homoF |
Interval containing the HOMO eigenvalue before transformation to [0, 1]. More... | |
Interval< Treal > | lumoF |
Interval containing the LUMO eigenvalue before transformation to [0, 1]. More... | |
Treal const | tolSubspaceError |
Tolerated error in angle between correct and computed subspace. More... | |
Treal const | tolEigenvalError |
Tolerated error in eigenvalues at convergence. More... | |
normType const | normForTruncation |
Norm used for truncation of small matrix elements. More... | |
Contains information about a purification process.
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft | ( | int & | stepsLeft, |
Treal & | thresh | ||
) | const |
Estimates the number of steps (upper bound) needed for convergence based on homo/lumo information and desired accuracy in subspace and eigenvalues.
Also computes optimal thresh-value for the current step.
References mat::Interval< Treal >::decrease(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::eigFInterval, mat::Interval< Treal >::empty(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::homoF, mat::Interval< Treal >::length(), mat::Interval< Treal >::low(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::lumoF, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::Interval< Treal >::puriStep(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::subspaceError(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::tolEigenvalError, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::tolSubspaceError, and mat::Interval< Treal >::upp().
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::subspaceError().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::forceCorrectOccupation | ( | ) |
Set the correctOccupation flag in the current step to 1.
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::correct_occupation_was_forced_flag, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::~PuriInfo().
double mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeSquare | ( | ) | const |
double mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeThresh | ( | ) | const |
double mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeTotal | ( | ) | const |
double mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeXmX2Norm | ( | ) | const |
|
inline |
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getHOMOandLUMOeigVecs | ( | Tvector & | eigVecLUMO, |
Tvector & | eigVecHOMO | ||
) | const |
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
Referenced by get_dens_from_fock_sparse(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNormForTruncation(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mMemUsage().
|
inline |
Returns the best interval containing the homo eigenvalue (not transformed to [0, 1])
Referenced by get_dens_from_fock_sparse(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification().
|
inline |
Returns the best interval containing the lumo eigenvalue (not transformed to [0, 1])
Referenced by get_dens_from_fock_sparse(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification().
|
inline |
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify().
|
inline |
|
inline |
|
inline |
Referenced by get_dens_from_fock_sparse().
Treal mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh | ( | ) | const |
References ASSERTALWAYS, mat::Interval< Treal >::empty(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, template_blas_sqrt(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::tolSubspaceError, and mat::Interval< Treal >::upp().
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::step(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError().
|
inline |
Referenced by get_dens_from_fock_sparse().
Treal mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap | ( | Interval< Treal > const & | middleGap | ) | const |
References ASSERTALWAYS, mat::Interval< Treal >::midPoint(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), template_blas_fabs(), and mat::Interval< Treal >::upp().
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError().
|
inline |
Referenced by get_dens_from_fock_sparse().
|
inline |
HOMO estimation is considered to be accurate if the error is smaller than tolSubspaceError / 100 in some purification step.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::homoIsAccuratelyKnown(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation | ( | ) |
Improves the correct occupation indicator Call AFTER convergence and ONLY if it is known that the occupation is correct at convergence.
References mat::Interval< Treal >::cover(), mat::Interval< Treal >::decrease(), distance(), mat::Interval< Treal >::empty(), mat::Interval< Treal >::intersect(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::Interval< Treal >::puriStep(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, and template_blas_sqrt().
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::~PuriInfo().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF | ( | ) |
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::eigFInterval, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::homoF, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::lumoF, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::correct_occupation_was_forced(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveInfo | ( | ) |
Improve homo / lumo values in each step.
Call after call to improveCorrectOccupation()
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
Referenced by mat::Purification< Treal, Tmatrix, TdebugPolicy >::purify(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::~PuriInfo().
|
inline |
LUMO estimation is considered to be accurate if the error is smaller than tolSubspaceError / 100 in some purification step.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::lumoIsAccuratelyKnown(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo | ( | std::ostream & | file | ) | const |
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::correct_occupation_was_forced_flag, mat::getNormTypeString(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mMemUsage(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::n, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nocc, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::normForTruncation, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::tolEigenvalError, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::tolSubspaceError.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::converged(), get_dens_from_fock_sparse(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mTimings().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mMemUsage | ( | std::ostream & | file | ) | const |
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getHOMOandLUMOeigVecs(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::MemUsage::Values::peak, mat::MemUsage::Values::res, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, and mat::MemUsage::Values::virt.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::converged(), get_dens_from_fock_sparse(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo().
void mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mTimings | ( | std::ostream & | file | ) | const |
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::converged(), get_dens_from_fock_sparse(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeTotal().
|
inline |
bool mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately | ( | Treal & | howAccurate | ) | const |
References ASSERTALWAYS, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::homoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF(), mat::Interval< Treal >::length(), mat::Interval< Treal >::low(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::lumoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::n, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nocc, mat::PuriInfo< Treal, Tvector, TdebugPolicy >::nSteps, mat::Interval< Treal >::puriStep(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step, template_blas_fabs(), and mat::Interval< Treal >::upp().
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError().
|
inline |
Returns the subspace error introduced so far.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), get_dens_from_fock_sparse(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError().
|
protected |
Returns the subspace error introduced until step end.
References mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::step.
|
protected |
Correct occupation was assumed, not guaranteed.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::correct_occupation_was_forced(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::forceCorrectOccupation(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo().
|
protected |
Interval containing all eigenvalues before transformation to the [0, 1] interval.
Also, these bounds will be used for the initial transformation.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getEigFInterval(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF().
|
protected |
Interval containing the HOMO eigenvalue before transformation to [0, 1].
Hopefully improved after purification.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getHomoF(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF().
|
protected |
Interval containing the LUMO eigenvalue before transformation to [0, 1].
Hopefully improved after purification.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getLumoF(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF().
|
protected |
Capacity of step array.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getMaxSteps(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNext(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::PuriInfo().
|
protected |
|
protected |
Number of occupied orbitals.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::PuriInfo(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately().
|
protected |
Norm used for truncation of small matrix elements.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNormForTruncation(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo().
|
protected |
Number of taken steps.
Number of used elements in step array.
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::converged(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::forceCorrectOccupation(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeSquare(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeThresh(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeTotal(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeXmX2Norm(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getHOMOandLUMOeigVecs(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNext(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNSteps(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getPolys(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getThreshValues(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::homoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveInfo(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::lumoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mMemUsage(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mTimings(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::operator()(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::subspaceError().
|
protected |
Referenced by mat::PuriInfo< Treal, VectorType, TdebugPolicy >::converged(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::forceCorrectOccupation(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeSquare(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeThresh(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeTotal(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getAccumulatedTimeXmX2Norm(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getHOMOandLUMOeigVecs(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getNext(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getPolys(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::getThreshValues(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::homoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumoF(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveInfo(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::lumoIsAccuratelyKnown(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mMemUsage(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mTimings(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::operator()(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::PuriInfo(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::subspaceError(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::~PuriInfo().
|
protected |
Tolerated error in eigenvalues at convergence.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo(), and mat::PuriInfo< Treal, VectorType, TdebugPolicy >::PuriInfo().
|
protected |
Tolerated error in angle between correct and computed subspace.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::homoIsAccuratelyKnown(), mat::PuriInfo< Treal, VectorType, TdebugPolicy >::lumoIsAccuratelyKnown(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::mInfo().