ergo
purification_general.cc File Reference

File contataining definitions of various variable used in the recursive density matrix expansion (or density matrix purification). More...

Variables

real eucl_acc = 1e3*mat::getMachineEpsilon<real>()
 Tolerance used for computation of spectral norm. More...
 
real mixed_acc = 1e3*mat::getMachineEpsilon<real>()
 Tolerance used for computation of mixed norm. More...
 
real TOL_OVERLAPPING_BOUNDS = 1e-10
 If the difference between inner bounds for homo and lumo is less then this tolerance, i.e. More...
 
real THRESHOLD_EIG_TOLERANCE = 1e-5
 Inner homo and lumo bounds may be too good, and it may happen that computed eigenvalue slightly outside of given intervals. More...
 
int EIG_EMPTY = 0
 
int EIG_SQUARE_INT = 1
 
int EIG_PROJECTION_INT = 2
 
int EIG_POWER_INT = 3
 
int EIG_LANCZOS_INT = 4
 

Detailed Description

File contataining definitions of various variable used in the recursive density matrix expansion (or density matrix purification).

Author
Anastasia Kruchinina responsible

Variable Documentation

int EIG_LANCZOS_INT = 4
real eucl_acc = 1e3*mat::getMachineEpsilon<real>()

Tolerance used for computation of spectral norm.

Referenced by PurificationGeneral< MatrixType >::purification_process().

real mixed_acc = 1e3*mat::getMachineEpsilon<real>()

Tolerance used for computation of mixed norm.

NOTE: If truncation is 0 this may not be enough, set to machine epsilon.

Referenced by PurificationGeneral< MatrixType >::purification_process().

real THRESHOLD_EIG_TOLERANCE = 1e-5

Inner homo and lumo bounds may be too good, and it may happen that computed eigenvalue slightly outside of given intervals.

Thus we allow some flexibility for eigenvalue. Set threshold 1e-5 since otherwise for small molecules does not work.

Referenced by PurificationGeneral< MatrixType >::check_eigenvectors_at_the_end(), and PurificationGeneral< MatrixType >::get_interval_with_lambda().

real TOL_OVERLAPPING_BOUNDS = 1e-10

If the difference between inner bounds for homo and lumo is less then this tolerance, i.e.

bounds are still bad, eigenvectors will not be computed. (Inner bounds are used to estimate iterations for computation of homo and lumo eigenvectors.)

Referenced by PurificationGeneral< MatrixType >::prepare_to_purification().