ergo
GetDensFromFock Class Reference

GetDensFromFock class containing parameters and functions for computing density matrix. More...

#include <GetDensFromFock.h>

Public Member Functions

void create_checkpoint (symmMatrix &Finput, symmMatrix &F_ort_prev, generalVector *eigVecLUMO, generalVector *eigVecHOMO, std::string IDstr)
 Function save all needed data to files in order to repeat recursive expansion in a desired SCF cycle later. More...
 
 GetDensFromFock ()
 
int get_dens_from_fock (symmMatrix &Finput, symmMatrix &resultDens, symmMatrix &F_ort_prev)
 Choose which method to use for computing the density matrix from Fock matrix. More...
 
int get_dens_from_fock_sparse (symmMatrix &F, symmMatrix &resultDens, symmMatrix &F_ort_prev)
 Use recursive expansion for computing the density matrix from Fock matrix. More...
 
void get_computed_eigenpairs (std::vector< generalVector > &eigVecUNOCCref, std::vector< generalVector > &eigVecOCCref, std::vector< ergo_real > &eigValUNOCCref, std::vector< ergo_real > &eigValOCCref)
 
void clean_eigs_intervals ()
 Set bounds for HOMO and LUMO eigenvalues to -/+ inf, thus remove any known bounds. More...
 
void set_SCF_step (int step)
 
void unset_SCF_step ()
 
void set_generate_figures (std::string str="")
 Plot figures from the recursive expansion. More...
 
void unset_generate_figures ()
 Do not plot figures from the recursive expansion. More...
 
void set_general_params (const int n_, mat::SizesAndBlocks const &matrixSizesAndBlocks_)
 
void set_cht_matrix_params (const int leavesSizeMax_, const int blocksize_)
 
void get_SizesAndBlocks (mat::SizesAndBlocks &matrixSizesAndBlocks_) const
 
void set_truncationNormPurification (mat::normType const truncationNormPurification_)
 Set truncation norm used in the recursive expansion. More...
 
void set_stopCriterionNormPurification (mat::normType const stopCriterionNormPurification_)
 Set stopping criterion norm used in the recursive expansion. More...
 
void do_restricted_calculations ()
 
void do_unrestricted_calculations ()
 
void set_no_occupied_orbs (int noOfOccupiedOrbs_)
 
void clean_puri_stats ()
 
void set_invCholFactor (triangMatrix const &invCholFactor_, ergo_real invCholFactor_euclnorm_)
 
void set_gap_expected_lower_bound (ergo_real gap_expected_lower_bound_)
 
void set_purification_maxmul (ergo_real purification_maxmul_)
 Set maximum allowed number of iterations in recursive expansion. More...
 
void set_number_of_eigenvectors_to_compute (int occ, int unocc)
 
void set_projection_method_params (int go_back, int step)
 
int get_purification_create_m_files () const
 
void set_purification_create_m_files ()
 
void unset_purification_create_m_files ()
 
int get_output_homo_and_lumo_eigenvectors () const
 
void set_output_homo_and_lumo_eigenvectors ()
 
void unset_output_homo_and_lumo_eigenvectors ()
 
int get_purification_ignore_failure () const
 
void set_purification_ignore_failure ()
 
void unset_purification_ignore_failure ()
 
int get_use_rand_perturbation_for_alleigsint () const
 
void set_purification_use_rand_perturbation_for_alleigsint ()
 
void unset_purification_use_rand_perturbation_for_alleigsint ()
 
int get_use_diagonalization () const
 
void set_use_diagonalization ()
 
void unset_use_diagonalization ()
 
int get_use_purification () const
 
void set_use_purification ()
 
void unset_use_purification ()
 
int get_use_diag_on_error_guess () const
 
void set_use_diag_on_error_guess ()
 
void unset_use_diag_on_error_guess ()
 
int get_use_diag_on_error () const
 
void set_use_diag_on_error ()
 
void unset_use_diag_on_error ()
 
std::string get_stats_prefix () const
 
void set_stats_prefix (std::string stats_prefix_)
 
void unset_stats_prefix ()
 
int get_use_acceleration () const
 
void set_use_acceleration ()
 
void unset_use_acceleration ()
 
int get_use_new_stopping_criterion () const
 
void set_use_new_stopping_criterion ()
 
void unset_use_new_stopping_criterion ()
 
int get_store_all_eigenvalues_to_file () const
 
void set_store_all_eigenvalues_to_file ()
 
void unset_store_all_eigenvalues_to_file ()
 
int get_save_permuted_F_matrix_in_bin ()
 
void set_save_permuted_F_matrix_in_bin ()
 
void unset_save_permuted_F_matrix_in_bin ()
 
int get_puri_compute_eigv_in_each_iteration ()
 
void set_puri_compute_eigv_in_each_iteration ()
 
void unset_puri_compute_eigv_in_each_iteration ()
 
int get_run_shift_and_square_method_on_F ()
 
void set_run_shift_and_square_method_on_F ()
 
void unset_run_shift_and_square_method_on_F ()
 
int get_try_eigv_on_next_iteration_if_fail ()
 
void set_try_eigv_on_next_iteration_if_fail ()
 
void unset_try_eigv_on_next_iteration_if_fail ()
 
int get_use_prev_vector_as_initial_guess ()
 
void set_use_prev_vector_as_initial_guess ()
 
void unset_use_prev_vector_as_initial_guess ()
 
void set_diagonalization_params (ergo_real electronicTemperature_, symmMatrix &overlapMatrix_)
 
void set_overlapMatrix (symmMatrix &overlapMatrix_)
 
void set_purification_limits (ergo_real subspaceErrorLimit_, ergo_real eigvalueErrorLimit_=0, ergo_real puri_eig_acc_factor_for_guess=0)
 
void set_eigvalueErrorLimit (ergo_real eigvalueErrorLimit_)
 Set maximum allowed error in eigenvalues of the density matrix. More...
 
void set_subspaceErrorLimit (ergo_real subspaceErrorLimit_)
 Set maximum allowed error in invariant subspaces of the density matrix. More...
 
void set_puri_eig_acc_factor_for_guess (ergo_real puri_eig_acc_factor_for_guess_)
 Set puri_eig_acc_factor_for_guess parameter. More...
 
ergo_real get_result_entropy_term () const
 
void get_puri_stats (std::map< std::string, double > &puri_stats_) const
 
void set_eigs_Fprev (intervalType &homoInterval_Finput_, intervalType &lumoInterval_Finput_)
 
void get_eigs_Fprev (intervalType &homoInterval_Finput_, intervalType &lumoInterval_Finput_) const
 
void set_eigs_F_ort_prev (intervalType &homoInterval_F_ort_prev_, intervalType &lumoInterval_F_ort_prev_)
 
void get_eigs_F_ort_prev (intervalType &homoInterval_F_ort_prev_, intervalType &lumoInterval_F_ort_prev_) const
 
ergo_real get_eigvalueErrorLimit () const
 
ergo_real get_subspaceErrorLimit () const
 
ergo_real get_puri_eig_acc_factor_for_guess () const
 
void compute_eigenvectors (std::string eigenvectors_method_, std::string eigenvectors_iterative_method_, ergo_real eigensolver_accuracy_, int eigensolver_maxiter_, int use_prev_vector_as_initial_guess_, int try_eigv_on_next_iteration_if_fail_)
 
void compute_eigenvectors_extra (int puri_compute_eigv_in_each_iteration_, int run_shift_and_square_method_on_F_)
 

Static Public Member Functions

static void restore_from_checkpoint (GetDensFromFock &DensFromFock, symmMatrix &Finput, symmMatrix &F_ort_prev, generalVector *eigVecLUMO, generalVector *eigVecHOMO, std::string checkpoint_path, std::string IDstr, int SCF_step)
 Function restores data from files in order to repeat recursive expansion in a desired SCF cycle. More...
 

Static Public Attributes

static const int UNDEF_VALUE_UINT = -1
 
static const std::string NA_STRING = "N/A"
 
static const bool BOOL_TRUE = true
 
static const bool BOOL_FALSE = false
 

Private Attributes

int SCF_step
 
bool use_diagonalization
 Flag to turn on diagonalization. More...
 
bool use_purification
 Flag to turn on purification. More...
 
bool store_all_eigenvalues_to_file
 Store eigenvalues to the file when doing diagonalization. More...
 
bool try_eigv_on_next_iteration_if_fail
 For square method: if eigenvector is not computed in iteration i, try to compute it in iteration i+1. More...
 
ergo_real electronicTemperature
 Electronic temperature. More...
 
ergo_real gap_expected_lower_bound
 Expected lower bound for the gap to be used in early iterations. More...
 
ergo_real eigvalueErrorLimit
 Tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix. More...
 
ergo_real subspaceErrorLimit
 Tolerated error in the occupied subspace as measured by the sinus of the largest canonical angle. More...
 
ergo_real puri_eig_acc_factor_for_guess
 With this number will be multiplied the tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix for the initial guess density matrix. More...
 
bool use_diag_on_error
 Flag to fall back on diagonalization if purification fails. More...
 
bool use_diag_on_error_guess
 
bool create_m_files
 Flag to create m-files with information about the purification process. More...
 
bool output_homo_and_lumo_eigenvectors
 Compute homo and lumo eigenvectors and write them to the file. More...
 
int number_of_occupied_eigenvectors
 Number of occupied eigenvectors to compute. More...
 
int number_of_unoccupied_eigenvectors
 Number of unoccupied eigenvectors to compute. More...
 
int go_back_X_iter_proj_method
 Parameter used in the projection method for computing eigenvectors. More...
 
int jump_over_X_iter_proj_method
 Parameter used in the projection method for computing eigenvectors. More...
 
bool use_prev_vector_as_initial_guess
 Use eigenvector from the previous SCF cycle as an initial guess in this cycle. More...
 
bool puri_compute_eigv_in_each_iteration
 Compute eigenvectors in each iteration of the recursive expansion. More...
 
bool run_shift_and_square_method_on_F
 (for comparison) Run shift_and_square method to get eigenvectors of the matrix F for various shifts. More...
 
bool save_permuted_F_matrix_in_bin
 Save sparse matrix F into bin file in the current permutation of rows and columns. More...
 
bool ignore_purification_failure
 Continue even if purification fails to converge. More...
 
bool use_rand_perturbation_for_alleigsint
 Apply a random perturbation to (try to) improve the convergence speed of Lanczos calculation of extremal eigenvalues. More...
 
std::string stats_prefix
 Prefix to be added to statistics files. More...
 
bool plot_puri_results
 Plot results of the purification from this function call. More...
 
std::string plot_puri_results_str
 
bool use_acceleration
 Use acceleration in the purification. More...
 
bool use_new_stopping_criterion
 Use new parameterless stopping criterion. More...
 
std::string eigenvectors_method
 Method for computing eigenvectors: square or projection. More...
 
std::string eigenvectors_iterative_method
 Iterative method for computing eigenvectors: power or lanczos. More...
 
ergo_real eigensolver_accuracy
 The accuracy for the eigenvalue problem solver. More...
 
int eigensolver_maxiter
 Maximum number of iterations for the eigenvalue problem solver. More...
 
int n
 System size. More...
 
int noOfOccupiedOrbs
 Number of occupied orbitals. More...
 
ergo_real factor
 Factor to scale the resulting density matrix. More...
 
symmMatrix overlapMatrix
 Overlap matrix (written to file) More...
 
symmMatrix D_ort_prev
 Density matrix from previous SCF cycle (written to file) More...
 
triangMatrix invCholFactor
 Inverse Cholesky factor (written to file) More...
 
ergo_real invCholFactor_euclnorm
 Euclidean norm of inverse Cholesky factor. More...
 
mat::normType truncationNormPurification
 Norm to be used for truncation. More...
 
mat::normType stopCriterionNormPurification
 Norm to be used for stopping criterion. More...
 
int maxMul
 Maximum allowed number of matrix multiplications in the purification. More...
 
mat::SizesAndBlocks matrixSizesAndBlocks
 Information about HML matrix block sizes etc. More...
 
int leavesSizeMax
 Information about leavesSizeMax and blocksize for CHTMatrix. More...
 
int blocksize
 Information about leavesSizeMax and blocksize for CHTMatrix. More...
 
intervalType homoInterval_Finput
 
intervalType lumoInterval_Finput
 
intervalType homoInterval_F_ort_prev
 
intervalType lumoInterval_F_ort_prev
 
ergo_real resultEntropyTerm
 
std::map< std::string, double > puri_stats
 
std::vector< generalVectoreigVecOCC
 
std::vector< generalVectoreigVecUNOCC
 
std::vector< ergo_realeigValOCC
 
std::vector< ergo_realeigValUNOCC
 
const char * filenameFinput
 
const char * filenameF_ort_prev
 
const char * filenameeigVecLUMO
 
const char * filenameeigVecHOMO
 
const char * filenameOverlap
 
const char * filenameD_ort_prev
 
const char * filenameinvCholFactor
 
const char * file_for_basic_types
 

Detailed Description

GetDensFromFock class containing parameters and functions for computing density matrix.

Flags are set to undefined value by default. User should define them explicitly, otherwise exception is thrown if undefined flag is used.

Constructor & Destructor Documentation

◆ GetDensFromFock()

Member Function Documentation

◆ clean_eigs_intervals()

◆ clean_puri_stats()

void GetDensFromFock::clean_puri_stats ( )
inline

◆ compute_eigenvectors()

void GetDensFromFock::compute_eigenvectors ( std::string  eigenvectors_method_,
std::string  eigenvectors_iterative_method_,
ergo_real  eigensolver_accuracy_,
int  eigensolver_maxiter_,
int  use_prev_vector_as_initial_guess_,
int  try_eigv_on_next_iteration_if_fail_ 
)
inline

◆ compute_eigenvectors_extra()

void GetDensFromFock::compute_eigenvectors_extra ( int  puri_compute_eigv_in_each_iteration_,
int  run_shift_and_square_method_on_F_ 
)
inline

◆ create_checkpoint()

void GetDensFromFock::create_checkpoint ( symmMatrix Finput,
symmMatrix F_ort_prev,
generalVector eigVecLUMO,
generalVector eigVecHOMO,
std::string  IDstr 
)

Function save all needed data to files in order to repeat recursive expansion in a desired SCF cycle later.

The purpose of the function is mainly testing.

Parameters
[in]Finput[in] Effective Hamiltonian matrix (written to file)
[in,out]F_ort_prev[in/out] Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file)
[out]eigVecLUMO[out] LUMO eigenvector
[out]eigVecHOMO[out] HOMO eigenvector
[in]IDstr[in] File identificator; added to the name of each file

References blocksize, mat::VectorGeneral< Treal, Tvector >::clear(), create_m_files, eigensolver_accuracy, eigensolver_maxiter, eigenvectors_iterative_method, eigenvectors_method, eigvalueErrorLimit, electronicTemperature, mat::euclNorm, factor, file_for_basic_types, filenameeigVecHOMO, filenameeigVecLUMO, filenameF_ort_prev, filenameFinput, filenameinvCholFactor, filenameOverlap, mat::frobNorm, gap_expected_lower_bound, mat::SizesAndBlocks::getBlockSizeVector(), homoInterval_F_ort_prev, homoInterval_Finput, ignore_purification_failure, invCholFactor, invCholFactor_euclnorm, mat::VectorGeneral< Treal, Tvector >::is_empty(), leavesSizeMax, mat::Interval< Treal >::low(), lumoInterval_F_ort_prev, lumoInterval_Finput, matrixSizesAndBlocks, maxMul, mat::mixedNorm, n, NA_STRING, noOfOccupiedOrbs, output_homo_and_lumo_eigenvectors, overlapMatrix, plot_puri_results, plot_puri_results_str, SCF_step, stats_prefix, stopCriterionNormPurification, store_all_eigenvalues_to_file, subspaceErrorLimit, truncationNormPurification, try_eigv_on_next_iteration_if_fail, mat::Interval< Treal >::upp(), use_acceleration, use_diag_on_error, use_diag_on_error_guess, use_diagonalization, use_new_stopping_criterion, use_prev_vector_as_initial_guess, use_purification, and use_rand_perturbation_for_alleigsint.

Referenced by SCF_restricted::get_new_density_matrix().

◆ do_restricted_calculations()

void GetDensFromFock::do_restricted_calculations ( )
inline

◆ do_unrestricted_calculations()

void GetDensFromFock::do_unrestricted_calculations ( )
inline

References factor.

Referenced by SCF_unrestricted::SCF_unrestricted().

◆ get_computed_eigenpairs()

void GetDensFromFock::get_computed_eigenpairs ( std::vector< generalVector > &  eigVecUNOCCref,
std::vector< generalVector > &  eigVecOCCref,
std::vector< ergo_real > &  eigValUNOCCref,
std::vector< ergo_real > &  eigValOCCref 
)
inline
Parameters
[out]eigVecUNOCCref[out] Unoccupied eigenvectors
[out]eigVecOCCref[out] Occupied eigenvectors
[out]eigValUNOCCref[out] Unoccupied eigenvalues
[out]eigValOCCref[out] Occupied eigenvalues

References eigValOCC, eigValUNOCC, eigVecOCC, and eigVecUNOCC.

Referenced by SCF_restricted::get_new_density_matrix(), and SCF_unrestricted::get_new_density_matrix().

◆ get_dens_from_fock()

int GetDensFromFock::get_dens_from_fock ( symmMatrix Finput,
symmMatrix resultDens,
symmMatrix F_ort_prev 
)

◆ get_dens_from_fock_sparse()

int GetDensFromFock::get_dens_from_fock_sparse ( symmMatrix F,
symmMatrix resultDens,
symmMatrix F_ort_prev 
)

Use recursive expansion for computing the density matrix from Fock matrix.

Construct approximation of the step function by recursive application of low order polynomials. Sparsity is preserved using truncation (see J. Chem. Phys. 128, 074106, 2008), which can be done using spectral, Frobenius or mixed norms (see J. Comput. Chem. 30.6 (2009): 974-977.).

Possible alternatives (use_acceleration parameter):

  • SP2 recursive expansion
  • SP2 accelerated recursive expansion
Parameters
[in]F[in] Effective Hamiltonian matrix. (written to file)
[out]resultDens[out] Density matrix. (written to file)
[in,out]F_ort_prev[in/out] Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file)

References PuriInfo::accumulated_error_subspace, blocksize, PurificationGeneral< MatrixType >::clear(), PurificationGeneral< MatrixType >::compute_eigenvectors_without_diagonalization_on_F(), PuriInfo::converged, do_output(), eigensolver_accuracy, eigensolver_maxiter, eigenvectors_iterative_method, eigenvectors_method, eigValOCC, eigvalueErrorLimit, eigValUNOCC, eigVecOCC, eigVecUNOCC, mat::euclNorm, PurificationGeneral< MatrixType >::extract_computed_eigenpairs(), factor, mat::frobNorm, gap_expected_lower_bound, PurificationGeneral< MatrixType >::gen_matlab_file_eigs(), PurificationGeneral< MatrixType >::gen_matlab_file_nnz(), PurificationGeneral< MatrixType >::gen_matlab_file_norm_diff(), PurificationGeneral< MatrixType >::gen_matlab_file_threshold(), PurificationGeneral< MatrixType >::gen_matlab_file_time(), get_eucl_diff_with_adapted_accuracy(), get_machine_epsilon(), mat::getNormTypeString(), mat::Params::getNProcs(), mat::AllocatorManager< Treal >::getStatistics(), mat::FileWritable::getStatsCountCopyAndAssign(), mat::FileWritable::getStatsCountRead(), mat::FileWritable::getStatsCountWrite(), mat::FileWritable::getStatsTimeCopyAndAssign(), mat::FileWritable::getStatsTimeRead(), mat::FileWritable::getStatsTimeWrite(), go_back_X_iter_proj_method, PuriInfo::homo_eigenvector_is_computed, PuriInfo::homo_estim_low_F, PuriInfo::homo_estim_upp_F, homoInterval_F_ort_prev, homoInterval_Finput, if(), ignore_purification_failure, mat::Interval< Treal >::increase(), PurificationGeneral< MatrixType >::info, PurificationGeneral< MatrixType >::initialize(), mat::AllocatorManager< Treal >::instance(), mat::Interval< ergo_real >::intersect(), invCholFactor, jump_over_X_iter_proj_method, leavesSizeMax, LOG_AREA_DENSFROMF, LOG_CAT_ERROR, LOG_CAT_INFO, LOG_CAT_TIMINGS, LOG_CAT_WARNING, mat::Interval< Treal >::low(), PuriInfo::lumo_eigenvector_is_computed, PuriInfo::lumo_estim_low_F, PuriInfo::lumo_estim_upp_F, lumoInterval_F_ort_prev, lumoInterval_Finput, maxMul, mat::mixedNorm, n, NA_STRING, noOfOccupiedOrbs, number_of_occupied_eigenvectors, number_of_unoccupied_eigenvectors, output_current_memory_usage(), output_homo_and_lumo_eigenvectors, plot_puri_results, plot_puri_results_str, Util::TimeMeter::print(), PuriInfo::print_collected_info(), puri_compute_eigv_in_each_iteration, puri_stats, PurificationGeneral< MatrixType >::PurificationStart(), mat::FileWritable::resetStats(), rows, run_shift_and_square_method_on_F, save_permuted_F_matrix_in_bin, SCF_step, PurificationGeneral< MatrixType >::set_compute_eigenvectors_in_each_iteration(), PurificationGeneral< MatrixType >::set_eigenvectors_params(), PurificationGeneral< MatrixType >::set_go_back_X_iter_proj_method(), PurificationGeneral< MatrixType >::set_jump_over_X_iter_proj_method(), PurificationGeneral< MatrixType >::set_number_of_eigenvectors_to_compute(), set_stopCriterionNormPurification(), set_truncationNormPurification(), stats_prefix, stopCriterionNormPurification, subspaceErrorLimit, template_blas_fabs(), template_blas_sqrt(), mat::Gblas::time, mat::Gblas::timekeeping, mat::trace(), transform_matrix_from_to(), mat::transpose(), truncationNormPurification, try_eigv_on_next_iteration_if_fail, UNDEF_VALUE_UINT, UNIT_one_eV, mat::Interval< Treal >::upp(), use_acceleration, use_new_stopping_criterion, use_prev_vector_as_initial_guess, write_matrix_to_bin(), mat::FileWritable::writeAndReadAll(), and PurificationGeneral< MatrixType >::X.

Referenced by get_dens_from_fock().

◆ get_eigs_F_ort_prev()

void GetDensFromFock::get_eigs_F_ort_prev ( intervalType homoInterval_F_ort_prev_,
intervalType lumoInterval_F_ort_prev_ 
) const
inline

◆ get_eigs_Fprev()

void GetDensFromFock::get_eigs_Fprev ( intervalType homoInterval_Finput_,
intervalType lumoInterval_Finput_ 
) const
inline

◆ get_eigvalueErrorLimit()

ergo_real GetDensFromFock::get_eigvalueErrorLimit ( ) const
inline

◆ get_output_homo_and_lumo_eigenvectors()

int GetDensFromFock::get_output_homo_and_lumo_eigenvectors ( ) const
inline

◆ get_puri_compute_eigv_in_each_iteration()

int GetDensFromFock::get_puri_compute_eigv_in_each_iteration ( )
inline

◆ get_puri_eig_acc_factor_for_guess()

ergo_real GetDensFromFock::get_puri_eig_acc_factor_for_guess ( ) const
inline

◆ get_puri_stats()

void GetDensFromFock::get_puri_stats ( std::map< std::string, double > &  puri_stats_) const
inline

◆ get_purification_create_m_files()

int GetDensFromFock::get_purification_create_m_files ( ) const
inline

References BOOL_TRUE, and create_m_files.

◆ get_purification_ignore_failure()

int GetDensFromFock::get_purification_ignore_failure ( ) const
inline

◆ get_result_entropy_term()

ergo_real GetDensFromFock::get_result_entropy_term ( ) const
inline

◆ get_run_shift_and_square_method_on_F()

int GetDensFromFock::get_run_shift_and_square_method_on_F ( )
inline

◆ get_save_permuted_F_matrix_in_bin()

int GetDensFromFock::get_save_permuted_F_matrix_in_bin ( )
inline

◆ get_SizesAndBlocks()

void GetDensFromFock::get_SizesAndBlocks ( mat::SizesAndBlocks matrixSizesAndBlocks_) const
inline
Parameters
[out]matrixSizesAndBlocks_[out] Matrix library parameters.

References matrixSizesAndBlocks.

◆ get_stats_prefix()

std::string GetDensFromFock::get_stats_prefix ( ) const
inline

References stats_prefix.

◆ get_store_all_eigenvalues_to_file()

int GetDensFromFock::get_store_all_eigenvalues_to_file ( ) const
inline

◆ get_subspaceErrorLimit()

ergo_real GetDensFromFock::get_subspaceErrorLimit ( ) const
inline

References subspaceErrorLimit.

◆ get_try_eigv_on_next_iteration_if_fail()

int GetDensFromFock::get_try_eigv_on_next_iteration_if_fail ( )
inline

◆ get_use_acceleration()

int GetDensFromFock::get_use_acceleration ( ) const
inline

References BOOL_TRUE, and use_acceleration.

◆ get_use_diag_on_error()

◆ get_use_diag_on_error_guess()

int GetDensFromFock::get_use_diag_on_error_guess ( ) const
inline

◆ get_use_diagonalization()

int GetDensFromFock::get_use_diagonalization ( ) const
inline

◆ get_use_new_stopping_criterion()

int GetDensFromFock::get_use_new_stopping_criterion ( ) const
inline

◆ get_use_prev_vector_as_initial_guess()

int GetDensFromFock::get_use_prev_vector_as_initial_guess ( )
inline

◆ get_use_purification()

int GetDensFromFock::get_use_purification ( ) const
inline

◆ get_use_rand_perturbation_for_alleigsint()

int GetDensFromFock::get_use_rand_perturbation_for_alleigsint ( ) const
inline

◆ restore_from_checkpoint()

void GetDensFromFock::restore_from_checkpoint ( GetDensFromFock DensFromFock,
symmMatrix Finput,
symmMatrix F_ort_prev,
generalVector eigVecLUMO,
generalVector eigVecHOMO,
std::string  checkpoint_path,
std::string  IDstr,
int  SCF_step 
)
static

Function restores data from files in order to repeat recursive expansion in a desired SCF cycle.

The purpose of the function is mainly testing.

Parameters
[out]DensFromFock[out] Instance of GetDensFromFock class contatining all data for computing the density matrix
[out]Finput[out] Effective Hamiltonian matrix (written to file)
[out]F_ort_prev[out] F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file)
[out]eigVecLUMO[out] LUMO eigenvector
[out]eigVecHOMO[out] HOMO eigenvector
[out]checkpoint_path[out] HOMO eigenvector
[in]IDstr[in] File identificator; added to the name of each file.
[in]SCF_step[in] SCF step which should be restored; added to the name of each file in given SCF cycle.

References blocksize, create_m_files, eigensolver_accuracy, eigensolver_maxiter, eigenvectors_iterative_method, eigenvectors_method, eigvalueErrorLimit, electronicTemperature, mat::euclNorm, factor, file_exist(), file_for_basic_types, filenameeigVecHOMO, filenameeigVecLUMO, filenameF_ort_prev, filenameFinput, filenameinvCholFactor, filenameOverlap, mat::frobNorm, gap_expected_lower_bound, homoInterval_F_ort_prev, homoInterval_Finput, ignore_purification_failure, invCholFactor, invCholFactor_euclnorm, leavesSizeMax, lumoInterval_F_ort_prev, lumoInterval_Finput, matrixSizesAndBlocks, maxMul, mat::mixedNorm, n, noOfOccupiedOrbs, output_homo_and_lumo_eigenvectors, overlapMatrix, plot_puri_results, plot_puri_results_str, mat::VectorGeneral< Treal, Tvector >::resetSizesAndBlocks(), SCF_step, stats_prefix, stopCriterionNormPurification, store_all_eigenvalues_to_file, subspaceErrorLimit, truncationNormPurification, try_eigv_on_next_iteration_if_fail, use_acceleration, use_diag_on_error, use_diag_on_error_guess, use_diagonalization, use_new_stopping_criterion, use_prev_vector_as_initial_guess, use_purification, and use_rand_perturbation_for_alleigsint.

◆ set_cht_matrix_params()

void GetDensFromFock::set_cht_matrix_params ( const int  leavesSizeMax_,
const int  blocksize_ 
)
inline
Parameters
[in]leavesSizeMax_[in] CHTMatrix library parameter leavesSizeMax.
[in]blocksize_[in] CHTMatrix library parameter blocksize.

References blocksize, and leavesSizeMax.

Referenced by SCF_general::SCF_general().

◆ set_diagonalization_params()

void GetDensFromFock::set_diagonalization_params ( ergo_real  electronicTemperature_,
symmMatrix overlapMatrix_ 
)
inline

◆ set_eigs_F_ort_prev()

void GetDensFromFock::set_eigs_F_ort_prev ( intervalType homoInterval_F_ort_prev_,
intervalType lumoInterval_F_ort_prev_ 
)
inline

◆ set_eigs_Fprev()

void GetDensFromFock::set_eigs_Fprev ( intervalType homoInterval_Finput_,
intervalType lumoInterval_Finput_ 
)
inline

◆ set_eigvalueErrorLimit()

void GetDensFromFock::set_eigvalueErrorLimit ( ergo_real  eigvalueErrorLimit_)
inline

Set maximum allowed error in eigenvalues of the density matrix.

References eigvalueErrorLimit.

Referenced by load_density_and_project_sparse(), and set_purification_limits().

◆ set_gap_expected_lower_bound()

void GetDensFromFock::set_gap_expected_lower_bound ( ergo_real  gap_expected_lower_bound_)
inline

◆ set_general_params()

void GetDensFromFock::set_general_params ( const int  n_,
mat::SizesAndBlocks const &  matrixSizesAndBlocks_ 
)
inline
Parameters
[in]n_[in] Number of basis functions.
[in]matrixSizesAndBlocks_[in] Matrix library parameters.

References matrixSizesAndBlocks, and n.

Referenced by get_HML_dens_matrix(), and SCF_general::SCF_general().

◆ set_generate_figures()

void GetDensFromFock::set_generate_figures ( std::string  str = "")
inline

Plot figures from the recursive expansion.

Parameters
[in]str[in] String added to each generated file.

References BOOL_TRUE, create_m_files, plot_puri_results, plot_puri_results_str, and SCF_step.

Referenced by SCF_restricted::get_new_density_matrix(), SCF_unrestricted::get_new_density_matrix(), and load_density_and_project_sparse().

◆ set_invCholFactor()

void GetDensFromFock::set_invCholFactor ( triangMatrix const &  invCholFactor_,
ergo_real  invCholFactor_euclnorm_ 
)
inline

◆ set_no_occupied_orbs()

◆ set_number_of_eigenvectors_to_compute()

void GetDensFromFock::set_number_of_eigenvectors_to_compute ( int  occ,
int  unocc 
)
inline

◆ set_output_homo_and_lumo_eigenvectors()

void GetDensFromFock::set_output_homo_and_lumo_eigenvectors ( )
inline

◆ set_overlapMatrix()

void GetDensFromFock::set_overlapMatrix ( symmMatrix overlapMatrix_)
inline

References overlapMatrix.

Referenced by set_diagonalization_params().

◆ set_projection_method_params()

void GetDensFromFock::set_projection_method_params ( int  go_back,
int  step 
)
inline

◆ set_puri_compute_eigv_in_each_iteration()

void GetDensFromFock::set_puri_compute_eigv_in_each_iteration ( )
inline

◆ set_puri_eig_acc_factor_for_guess()

void GetDensFromFock::set_puri_eig_acc_factor_for_guess ( ergo_real  puri_eig_acc_factor_for_guess_)
inline

Set puri_eig_acc_factor_for_guess parameter.

Obsolete parameter needed for the old stopping criterion for creating the initial guess.

References puri_eig_acc_factor_for_guess.

Referenced by set_purification_limits().

◆ set_purification_create_m_files()

void GetDensFromFock::set_purification_create_m_files ( )
inline

References BOOL_TRUE, and create_m_files.

Referenced by SCF_general::SCF_general().

◆ set_purification_ignore_failure()

void GetDensFromFock::set_purification_ignore_failure ( )
inline

◆ set_purification_limits()

void GetDensFromFock::set_purification_limits ( ergo_real  subspaceErrorLimit_,
ergo_real  eigvalueErrorLimit_ = 0,
ergo_real  puri_eig_acc_factor_for_guess = 0 
)
inline

◆ set_purification_maxmul()

void GetDensFromFock::set_purification_maxmul ( ergo_real  purification_maxmul_)
inline

Set maximum allowed number of iterations in recursive expansion.

References maxMul.

Referenced by get_HML_dens_matrix(), and SCF_general::SCF_general().

◆ set_purification_use_rand_perturbation_for_alleigsint()

void GetDensFromFock::set_purification_use_rand_perturbation_for_alleigsint ( )
inline

◆ set_run_shift_and_square_method_on_F()

void GetDensFromFock::set_run_shift_and_square_method_on_F ( )
inline

◆ set_save_permuted_F_matrix_in_bin()

void GetDensFromFock::set_save_permuted_F_matrix_in_bin ( )
inline

◆ set_SCF_step()

◆ set_stats_prefix()

void GetDensFromFock::set_stats_prefix ( std::string  stats_prefix_)
inline

References stats_prefix.

◆ set_stopCriterionNormPurification()

void GetDensFromFock::set_stopCriterionNormPurification ( mat::normType const  stopCriterionNormPurification_)
inline

Set stopping criterion norm used in the recursive expansion.

Possible norms: spectral, Frobenius or mixed.

Parameters
[in]stopCriterionNormPurification_[in] Norm used in the stopping criterion.

References stopCriterionNormPurification.

Referenced by get_dens_from_fock_sparse(), get_HML_dens_matrix(), and SCF_general::SCF_general().

◆ set_store_all_eigenvalues_to_file()

void GetDensFromFock::set_store_all_eigenvalues_to_file ( )
inline

◆ set_subspaceErrorLimit()

void GetDensFromFock::set_subspaceErrorLimit ( ergo_real  subspaceErrorLimit_)
inline

Set maximum allowed error in invariant subspaces of the density matrix.

References subspaceErrorLimit.

Referenced by set_purification_limits().

◆ set_truncationNormPurification()

void GetDensFromFock::set_truncationNormPurification ( mat::normType const  truncationNormPurification_)
inline

Set truncation norm used in the recursive expansion.

Possible norms: spectral, Frobenius or mixed.

Parameters
[in]truncationNormPurification_[in] Norm used in truncation.

References truncationNormPurification.

Referenced by get_dens_from_fock_sparse(), get_HML_dens_matrix(), and SCF_general::SCF_general().

◆ set_try_eigv_on_next_iteration_if_fail()

void GetDensFromFock::set_try_eigv_on_next_iteration_if_fail ( )
inline

◆ set_use_acceleration()

void GetDensFromFock::set_use_acceleration ( )
inline

References BOOL_TRUE, and use_acceleration.

Referenced by SCF_general::SCF_general().

◆ set_use_diag_on_error()

◆ set_use_diag_on_error_guess()

void GetDensFromFock::set_use_diag_on_error_guess ( )
inline

◆ set_use_diagonalization()

◆ set_use_new_stopping_criterion()

void GetDensFromFock::set_use_new_stopping_criterion ( )
inline

◆ set_use_prev_vector_as_initial_guess()

void GetDensFromFock::set_use_prev_vector_as_initial_guess ( )
inline

◆ set_use_purification()

void GetDensFromFock::set_use_purification ( )
inline

References BOOL_TRUE, and use_purification.

Referenced by SCF_general::SCF_general().

◆ unset_generate_figures()

void GetDensFromFock::unset_generate_figures ( )
inline

◆ unset_output_homo_and_lumo_eigenvectors()

void GetDensFromFock::unset_output_homo_and_lumo_eigenvectors ( )
inline

◆ unset_puri_compute_eigv_in_each_iteration()

void GetDensFromFock::unset_puri_compute_eigv_in_each_iteration ( )
inline

◆ unset_purification_create_m_files()

void GetDensFromFock::unset_purification_create_m_files ( )
inline

◆ unset_purification_ignore_failure()

void GetDensFromFock::unset_purification_ignore_failure ( )
inline

◆ unset_purification_use_rand_perturbation_for_alleigsint()

void GetDensFromFock::unset_purification_use_rand_perturbation_for_alleigsint ( )
inline

◆ unset_run_shift_and_square_method_on_F()

void GetDensFromFock::unset_run_shift_and_square_method_on_F ( )
inline

◆ unset_save_permuted_F_matrix_in_bin()

void GetDensFromFock::unset_save_permuted_F_matrix_in_bin ( )
inline

◆ unset_SCF_step()

void GetDensFromFock::unset_SCF_step ( )
inline

References SCF_step, and UNDEF_VALUE_UINT.

◆ unset_stats_prefix()

void GetDensFromFock::unset_stats_prefix ( )
inline

References stats_prefix.

◆ unset_store_all_eigenvalues_to_file()

void GetDensFromFock::unset_store_all_eigenvalues_to_file ( )
inline

◆ unset_try_eigv_on_next_iteration_if_fail()

void GetDensFromFock::unset_try_eigv_on_next_iteration_if_fail ( )
inline

◆ unset_use_acceleration()

void GetDensFromFock::unset_use_acceleration ( )
inline

◆ unset_use_diag_on_error()

◆ unset_use_diag_on_error_guess()

void GetDensFromFock::unset_use_diag_on_error_guess ( )
inline

◆ unset_use_diagonalization()

void GetDensFromFock::unset_use_diagonalization ( )
inline

◆ unset_use_new_stopping_criterion()

void GetDensFromFock::unset_use_new_stopping_criterion ( )
inline

◆ unset_use_prev_vector_as_initial_guess()

void GetDensFromFock::unset_use_prev_vector_as_initial_guess ( )
inline

◆ unset_use_purification()

void GetDensFromFock::unset_use_purification ( )
inline

Member Data Documentation

◆ blocksize

int GetDensFromFock::blocksize
private

Information about leavesSizeMax and blocksize for CHTMatrix.

Referenced by create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), restore_from_checkpoint(), and set_cht_matrix_params().

◆ BOOL_FALSE

◆ BOOL_TRUE

◆ create_m_files

bool GetDensFromFock::create_m_files
private

◆ D_ort_prev

symmMatrix GetDensFromFock::D_ort_prev
private

Density matrix from previous SCF cycle (written to file)

◆ eigensolver_accuracy

ergo_real GetDensFromFock::eigensolver_accuracy
private

The accuracy for the eigenvalue problem solver.

Referenced by compute_eigenvectors(), create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), and restore_from_checkpoint().

◆ eigensolver_maxiter

int GetDensFromFock::eigensolver_maxiter
private

Maximum number of iterations for the eigenvalue problem solver.

Referenced by compute_eigenvectors(), create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), and restore_from_checkpoint().

◆ eigenvectors_iterative_method

std::string GetDensFromFock::eigenvectors_iterative_method
private

Iterative method for computing eigenvectors: power or lanczos.

Referenced by compute_eigenvectors(), create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), and restore_from_checkpoint().

◆ eigenvectors_method

std::string GetDensFromFock::eigenvectors_method
private

Method for computing eigenvectors: square or projection.

Referenced by compute_eigenvectors(), create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), and restore_from_checkpoint().

◆ eigValOCC

std::vector<ergo_real> GetDensFromFock::eigValOCC
private

◆ eigvalueErrorLimit

ergo_real GetDensFromFock::eigvalueErrorLimit
private

Tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix.


Referenced by create_checkpoint(), get_dens_from_fock_sparse(), get_eigvalueErrorLimit(), GetDensFromFock(), restore_from_checkpoint(), and set_eigvalueErrorLimit().

◆ eigValUNOCC

std::vector<ergo_real> GetDensFromFock::eigValUNOCC
private

◆ eigVecOCC

std::vector<generalVector> GetDensFromFock::eigVecOCC
private

◆ eigVecUNOCC

std::vector<generalVector> GetDensFromFock::eigVecUNOCC
private

◆ electronicTemperature

ergo_real GetDensFromFock::electronicTemperature
private

◆ factor

ergo_real GetDensFromFock::factor
private

Factor to scale the resulting density matrix.

(for restricted vs unrestricted calc)

Referenced by create_checkpoint(), do_restricted_calculations(), do_unrestricted_calculations(), get_dens_from_fock(), get_dens_from_fock_sparse(), GetDensFromFock(), and restore_from_checkpoint().

◆ file_for_basic_types

const char* GetDensFromFock::file_for_basic_types
private

◆ filenameD_ort_prev

const char* GetDensFromFock::filenameD_ort_prev
private

Referenced by GetDensFromFock().

◆ filenameeigVecHOMO

const char* GetDensFromFock::filenameeigVecHOMO
private

◆ filenameeigVecLUMO

const char* GetDensFromFock::filenameeigVecLUMO
private

◆ filenameF_ort_prev

const char* GetDensFromFock::filenameF_ort_prev
private

◆ filenameFinput

const char* GetDensFromFock::filenameFinput
private

◆ filenameinvCholFactor

const char* GetDensFromFock::filenameinvCholFactor
private

◆ filenameOverlap

const char* GetDensFromFock::filenameOverlap
private

◆ gap_expected_lower_bound

ergo_real GetDensFromFock::gap_expected_lower_bound
private

Expected lower bound for the gap to be used in early iterations.


Referenced by create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), restore_from_checkpoint(), and set_gap_expected_lower_bound().

◆ go_back_X_iter_proj_method

int GetDensFromFock::go_back_X_iter_proj_method
private

Parameter used in the projection method for computing eigenvectors.

Defines the iteration to start computation of the eigenvectors.

Referenced by get_dens_from_fock_sparse(), GetDensFromFock(), and set_projection_method_params().

◆ homoInterval_F_ort_prev

◆ homoInterval_Finput

◆ ignore_purification_failure

bool GetDensFromFock::ignore_purification_failure
private

◆ invCholFactor

triangMatrix GetDensFromFock::invCholFactor
private

Inverse Cholesky factor (written to file)

Referenced by create_checkpoint(), get_dens_from_fock_sparse(), restore_from_checkpoint(), and set_invCholFactor().

◆ invCholFactor_euclnorm

ergo_real GetDensFromFock::invCholFactor_euclnorm
private

Euclidean norm of inverse Cholesky factor.

Referenced by create_checkpoint(), GetDensFromFock(), restore_from_checkpoint(), and set_invCholFactor().

◆ jump_over_X_iter_proj_method

int GetDensFromFock::jump_over_X_iter_proj_method
private

Parameter used in the projection method for computing eigenvectors.

Defines how many iterations will be skipped before the next attempt if some eigenvectors are not computed.

Referenced by get_dens_from_fock_sparse(), GetDensFromFock(), and set_projection_method_params().

◆ leavesSizeMax

int GetDensFromFock::leavesSizeMax
private

Information about leavesSizeMax and blocksize for CHTMatrix.

Referenced by create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), restore_from_checkpoint(), and set_cht_matrix_params().

◆ lumoInterval_F_ort_prev

◆ lumoInterval_Finput

◆ matrixSizesAndBlocks

mat::SizesAndBlocks GetDensFromFock::matrixSizesAndBlocks
private

Information about HML matrix block sizes etc.

Referenced by create_checkpoint(), get_dens_from_fock(), get_SizesAndBlocks(), restore_from_checkpoint(), and set_general_params().

◆ maxMul

int GetDensFromFock::maxMul
private

Maximum allowed number of matrix multiplications in the purification.

Referenced by create_checkpoint(), get_dens_from_fock_sparse(), GetDensFromFock(), restore_from_checkpoint(), and set_purification_maxmul().

◆ n

◆ NA_STRING

const string GetDensFromFock::NA_STRING = "N/A"
static

◆ noOfOccupiedOrbs

int GetDensFromFock::noOfOccupiedOrbs
private

◆ number_of_occupied_eigenvectors

int GetDensFromFock::number_of_occupied_eigenvectors
private

Number of occupied eigenvectors to compute.

Referenced by get_dens_from_fock(), get_dens_from_fock_sparse(), GetDensFromFock(), and set_number_of_eigenvectors_to_compute().

◆ number_of_unoccupied_eigenvectors

int GetDensFromFock::number_of_unoccupied_eigenvectors
private

Number of unoccupied eigenvectors to compute.

Referenced by get_dens_from_fock(), get_dens_from_fock_sparse(), GetDensFromFock(), and set_number_of_eigenvectors_to_compute().

◆ output_homo_and_lumo_eigenvectors

bool GetDensFromFock::output_homo_and_lumo_eigenvectors
private

◆ overlapMatrix

symmMatrix GetDensFromFock::overlapMatrix
private

Overlap matrix (written to file)

Referenced by create_checkpoint(), get_dens_from_fock(), restore_from_checkpoint(), and set_overlapMatrix().

◆ plot_puri_results

bool GetDensFromFock::plot_puri_results
private

◆ plot_puri_results_str

std::string GetDensFromFock::plot_puri_results_str
private

◆ puri_compute_eigv_in_each_iteration

bool GetDensFromFock::puri_compute_eigv_in_each_iteration
private

◆ puri_eig_acc_factor_for_guess

ergo_real GetDensFromFock::puri_eig_acc_factor_for_guess
private

With this number will be multiplied the tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix for the initial guess density matrix.

Referenced by get_puri_eig_acc_factor_for_guess(), GetDensFromFock(), set_puri_eig_acc_factor_for_guess(), and set_purification_limits().

◆ puri_stats

std::map<std::string, double> GetDensFromFock::puri_stats
private

◆ resultEntropyTerm

ergo_real GetDensFromFock::resultEntropyTerm
private

◆ run_shift_and_square_method_on_F

bool GetDensFromFock::run_shift_and_square_method_on_F
private

(for comparison) Run shift_and_square method to get eigenvectors of the matrix F for various shifts.

Referenced by get_dens_from_fock_sparse(), get_run_shift_and_square_method_on_F(), GetDensFromFock(), set_run_shift_and_square_method_on_F(), and unset_run_shift_and_square_method_on_F().

◆ save_permuted_F_matrix_in_bin

bool GetDensFromFock::save_permuted_F_matrix_in_bin
private

Save sparse matrix F into bin file in the current permutation of rows and columns.

Referenced by get_dens_from_fock_sparse(), get_save_permuted_F_matrix_in_bin(), GetDensFromFock(), set_save_permuted_F_matrix_in_bin(), and unset_save_permuted_F_matrix_in_bin().

◆ SCF_step

◆ stats_prefix

std::string GetDensFromFock::stats_prefix
private

◆ stopCriterionNormPurification

mat::normType GetDensFromFock::stopCriterionNormPurification
private

◆ store_all_eigenvalues_to_file

bool GetDensFromFock::store_all_eigenvalues_to_file
private

Store eigenvalues to the file when doing diagonalization.

NOTE: works just with diagonalization

Referenced by create_checkpoint(), get_dens_from_fock(), get_store_all_eigenvalues_to_file(), GetDensFromFock(), restore_from_checkpoint(), set_store_all_eigenvalues_to_file(), and unset_store_all_eigenvalues_to_file().

◆ subspaceErrorLimit

ergo_real GetDensFromFock::subspaceErrorLimit
private

Tolerated error in the occupied subspace as measured by the sinus of the largest canonical angle.

Referenced by create_checkpoint(), get_dens_from_fock(), get_dens_from_fock_sparse(), get_subspaceErrorLimit(), GetDensFromFock(), restore_from_checkpoint(), and set_subspaceErrorLimit().

◆ truncationNormPurification

mat::normType GetDensFromFock::truncationNormPurification
private

◆ try_eigv_on_next_iteration_if_fail

bool GetDensFromFock::try_eigv_on_next_iteration_if_fail
private

◆ UNDEF_VALUE_UINT

const int GetDensFromFock::UNDEF_VALUE_UINT = -1
static

◆ use_acceleration

bool GetDensFromFock::use_acceleration
private

◆ use_diag_on_error

bool GetDensFromFock::use_diag_on_error
private

◆ use_diag_on_error_guess

◆ use_diagonalization

bool GetDensFromFock::use_diagonalization
private

◆ use_new_stopping_criterion

bool GetDensFromFock::use_new_stopping_criterion
private

◆ use_prev_vector_as_initial_guess

bool GetDensFromFock::use_prev_vector_as_initial_guess
private

◆ use_purification

bool GetDensFromFock::use_purification
private

◆ use_rand_perturbation_for_alleigsint

bool GetDensFromFock::use_rand_perturbation_for_alleigsint
private

Apply a random perturbation to (try to) improve the convergence speed of Lanczos calculation of extremal eigenvalues.


Referenced by create_checkpoint(), get_use_rand_perturbation_for_alleigsint(), GetDensFromFock(), restore_from_checkpoint(), set_purification_use_rand_perturbation_for_alleigsint(), and unset_purification_use_rand_perturbation_for_alleigsint().


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