|
ergo
|
Go to the source code of this file.
Functions | |
| int | get_dens_from_fock_general (int n, int noOfOccupiedOrbs, int use_diagonalization, int use_diag_if_puri_fail, ergo_real electronicTemperature, symmMatrix &resultDens, ergo_real factor, ergo_real &resultEntropyTerm, symmMatrix &Finput, intervalType &homoInterval_Finput, intervalType &lumoInterval_Finput, symmMatrix &overlapMatrix, triangMatrix const &invCholFactor, ergo_real invCholFactor_euclnorm, ergo_real gap_expected_lower_bound, mat::SizesAndBlocks const &matrixSizesAndBlocks, symmMatrix &F_ort_prev, intervalType &homoInterval_F_ort_prev, intervalType &lumoInterval_F_ort_prev, ergo_real eigvalueErrorLimit, ergo_real subspaceErrorLimit, mat::normType const truncationNormPurification, int maxMul, int create_m_files, int ignore_purification_failure, int use_rand_perturbation_for_alleigsint, int use_stochastic_orbitals, const std::vector< std::vector< ergo_real > > stochastic_orbitals, std::string stats_prefix, std::map< std::string, double > &puri_stats, int do_sparsity_investigation, int sparsity_plots_resolution_m, int do_comparison_to_simple_purification, int do_puri_mmul_tests, generalVector *eigVecLUMO=0, generalVector *eigVecHOMO=0) |
| int get_dens_from_fock_general | ( | int | n, |
| int | noOfOccupiedOrbs, | ||
| int | use_diagonalization, | ||
| int | use_diag_if_puri_fail, | ||
| ergo_real | electronicTemperature, | ||
| symmMatrix & | resultDens, | ||
| ergo_real | factor, | ||
| ergo_real & | resultEntropyTerm, | ||
| symmMatrix & | Finput, | ||
| intervalType & | homoInterval_Finput, | ||
| intervalType & | lumoInterval_Finput, | ||
| symmMatrix & | overlapMatrix, | ||
| triangMatrix const & | invCholFactor, | ||
| ergo_real | invCholFactor_euclnorm, | ||
| ergo_real | gap_expected_lower_bound, | ||
| mat::SizesAndBlocks const & | matrixSizesAndBlocks, | ||
| symmMatrix & | F_ort_prev, | ||
| intervalType & | homoInterval_F_ort_prev, | ||
| intervalType & | lumoInterval_F_ort_prev, | ||
| ergo_real | eigvalueErrorLimit, | ||
| ergo_real | subspaceErrorLimit, | ||
| mat::normType const | truncationNormPurification, | ||
| int | maxMul, | ||
| int | create_m_files, | ||
| int | ignore_purification_failure, | ||
| int | use_rand_perturbation_for_alleigsint, | ||
| int | use_stochastic_orbitals, | ||
| const std::vector< std::vector< ergo_real > > | stochastic_orbitals, | ||
| std::string | stats_prefix, | ||
| std::map< std::string, double > & | puri_stats, | ||
| int | do_sparsity_investigation, | ||
| int | sparsity_plots_resolution_m, | ||
| int | do_comparison_to_simple_purification, | ||
| int | do_puri_mmul_tests, | ||
| generalVector * | eigVecLUMO = 0, |
||
| generalVector * | eigVecHOMO = 0 |
||
| ) |
| n | System size. |
| noOfOccupiedOrbs | Number of occupied orbitals. |
| use_diagonalization | Flag to turn on diagonalization. |
| use_diag_if_puri_fail | Flag to fall back on diagonalization if purification fails. |
| electronicTemperature | Electronic temperature. |
| resultDens | Density matrix. (output) |
| factor | Factor to scale the resulting density matrix. (for restricted vs unrestricted calc) |
| resultEntropyTerm | Electronic entropy term, computed if electronicTemperature > 0. |
| Finput | Effective Hamiltonian matrix (input, written to file) |
| homoInterval_Finput | (out) Output: Contains the homo eigenvalue of Finput. |
| lumoInterval_Finput | (out) Output: Contains the lumo eigenvalue of Finput. |
| overlapMatrix | Overlap matrix. |
| invCholFactor | Inverse Cholesky factor (input, written to file) |
| invCholFactor_euclnorm | Euclidean norm of inverse Cholesky factor. |
| gap_expected_lower_bound | Expected lower bound for the gap to be used in early iterations. |
| matrixSizesAndBlocks | Information about HML matrix block sizes etc. |
| 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) |
| homoInterval_F_ort_prev | (in/out) Input: Contains the homo eigenvalue of F_ort_prev. Output: Contains the homo eigenvalue of F_ort_prev. |
| lumoInterval_F_ort_prev | (in/out) Input: Contains the lumo eigenvalue of F_ort_prev. Output: Contains the lumo eigenvalue of F_ort_prev. |
| eigvalueErrorLimit | Tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix. |
| subspaceErrorLimit | Tolerated error in the occupied subspace as measured by the sinus of the largest canonical angle. |
| truncationNormPurification | Norm to be used for truncation. |
| maxMul | Maximum allowed number of matrix multiplications. |
| create_m_files | Flag to create m-files with information about the purification process. |
| ignore_purification_failure | Continue even if purification fails to converge. |
| use_rand_perturbation_for_alleigsint | Apply a random perturbation to (try to) improve the convergence speed of Lanczos calculation of extremal eigenvalues. |
| use_stochastic_orbitals | Use stochastic orbitals instead of standard density matrix construction. |
| stochastic_orbitals | Vector of stochastic orbitals (empty vector if stochastic orbitals not used). |
| stats_prefix | Prefix to be added to statistics files. |
| puri_stats | Map to store stats for purification. |
| do_sparsity_investigation | Flag to turn on sparsity investigation. |
| sparsity_plots_resolution_m | Resolution in element magnitude histograms. |
| do_comparison_to_simple_purification | Flag to turn on comparison to simple purification. |
| do_puri_mmul_tests | Flag to turn on purification matrix-matrix multiplication tests. |
| eigVecLUMO | LUMO eigenvector |
| eigVecHOMO | HOMO eigenvector |
References mat::VectorGeneral< Treal, Tvector >::assign_from_full(), mat::MatrixSymmetric< Treal, Tmatrix >::assignFromFull(), mat::MatrixBase< Treal, Tmatrix >::clear(), do_output(), mat::MatrixGeneral< Treal, Tmatrix >::fullMatrix(), get_dens_from_fock_full(), get_dens_from_fock_sparse(), get_dens_from_fock_stochastic(), LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, mat::FileWritable::readFromFile(), and mat::FileWritable::writeToFile().
Referenced by SCF_restricted::disturb_dens_matrix_exact_try(), SCF_restricted::disturb_fock_matrix(), SCF_restricted::get_new_density_matrix(), SCF_unrestricted::get_new_density_matrix(), SCF_restricted::get_starting_guess_density(), SCF_unrestricted::get_starting_guess_density(), and load_density_and_project_sparse().