ergo
|
Recursive density matrix expansion (or density matrix purification). More...
#include <iostream>
#include <fstream>
#include <sstream>
#include "matrix_typedefs.h"
#include "realtype.h"
#include "matrix_utilities.h"
#include "integral_matrix_wrappers.h"
#include "output.h"
#include "matrix_proxy.h"
#include "puri_info.h"
#include "constants.h"
#include "utilities.h"
#include "units.h"
#include "files_dense.h"
#include "files_sparse.h"
#include "files_sparse_bin.h"
#include "get_eigenvectors.h"
Go to the source code of this file.
Classes | |
class | PurificationGeneral< MatrixType > |
PurificationGeneral is an abstract class which provides an interface for SP2, SP2ACC and possibly other recursive expansions. More... | |
Macros | |
#define | NUM_ADDITIONAL_ITERATIONS 0 |
#define | DEBUG_PURI_OUTPUT |
#define | PURI_OUTPUT_NNZ |
Variables | |
real | eucl_acc |
Tolerance used for computation of spectral norm. | |
real | mixed_acc |
Tolerance used for computation of mixed norm. | |
real | TOL_OVERLAPPING_BOUNDS |
If the difference between inner bounds for homo and lumo is less then this tolerance, i.e. | |
real | THRESHOLD_EIG_TOLERANCE |
Inner homo and lumo bounds may be too good, and it may happen that computed eigenvalue slightly outside of given intervals. | |
int | EIG_EMPTY |
int | EIG_SQUARE_INT |
int | EIG_PROJECTION_INT |
int | EIG_POWER_INT |
int | EIG_LANCZOS_INT |
Recursive density matrix expansion (or density matrix purification).
#define DEBUG_PURI_OUTPUT |
#define NUM_ADDITIONAL_ITERATIONS 0 |
Referenced by PurificationGeneral< MatrixType >::initialize().
#define PURI_OUTPUT_NNZ |
|
extern |
|
extern |
Referenced by PurificationGeneral< MatrixType >::get_int_eig_iter_method().
|
extern |
Referenced by PurificationGeneral< MatrixType >::get_int_eig_iter_method().
|
extern |
Referenced by PurificationGeneral< MatrixType >::check_homo_lumo_eigenvalues(), PurificationGeneral< MatrixType >::compute_eigenvector(), PurificationGeneral< MatrixType >::compute_eigenvectors_without_diagonalization(), PurificationGeneral< MatrixType >::get_int_eig_method(), PurificationGeneral< MatrixType >::prepare_to_purification_eigenvectors(), and PurificationGeneral< MatrixType >::PurificationStart().
|
extern |
Referenced by PurificationGeneral< MatrixType >::check_homo_lumo_eigenvalues(), PurificationGeneral< MatrixType >::compute_eigenvectors_without_diagonalization(), PurificationGeneral< MatrixType >::determine_iteration_for_eigenvectors(), PurificationGeneral< MatrixType >::gen_matlab_file_time(), and PurificationGeneral< MatrixType >::get_int_eig_method().
|
extern |
Tolerance used for computation of spectral norm.
Referenced by PurificationGeneral< MatrixType >::purification_process().
|
extern |
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().
|
extern |
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 >::check_homo_lumo_eigenvalues().
|
extern |
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_eigenvectors().