00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef DENSITY_PROJECTION
00029 #define DENSITY_PROJECTION
00030
00031 #include "basisinfo.h"
00032 #include "matrix_typedefs.h"
00033
00034
00055 int load_density_and_project_full(const char *densityFileName,
00056 int noOfDensityMatrices,
00057 const IntegralInfo* integralInfo,
00058 const BasisInfoStruct & basisInfo,
00059 ergo_real** densityMatrixList,
00060 int do_purification,
00061 const int* noOfElectronsList,
00062 ergo_real electronic_temperature);
00063
00064
00110 int
00111 load_density_and_project_sparse(const char *densityFileName,
00112 int noOfDensityMatrices,
00113 const IntegralInfo* integralInfo,
00114 const BasisInfoStruct & basisInfo,
00115 symmMatrix & S_symm,
00116 symmMatrix** densityMatrixList,
00117 const int* noOfElectronsList,
00118 mat::SizesAndBlocks matrix_size_block_info,
00119 std::vector<int> const & matrixPermutationVec,
00120 ergo_real sparse_threshold,
00121 triangMatrix & invCholFactor,
00122 ergo_real invCholFactor_euclnorm,
00123 ergo_real gap_expected_lower_bound,
00124 ergo_real purification_eigvalue_err_limit,
00125 ergo_real purification_subspace_err_limit,
00126 mat::normType const purification_truncation_norm,
00127 int purification_maxmul,
00128 int purification_create_m_files,
00129 int use_diagonalization,
00130 int use_diag_on_error,
00131 int purification_ignore_failure,
00132 int purification_use_rand_perturbation_for_alleigsint,
00133 ergo_real electronic_temperature);
00134
00135
00136
00137
00138 #endif