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 INTEGRAL_MATRIX_WRAPPERS_HEADER
00029 #define INTEGRAL_MATRIX_WRAPPERS_HEADER
00030
00031 #include "basisinfo.h"
00032 #include "matrix_typedefs.h"
00033 #include "integrals_2el.h"
00034
00035
00036 int
00037 compute_V_sparse(const BasisInfoStruct& basisInfo,
00038 const IntegralInfo& integralInfo,
00039 const Molecule& molecule,
00040 ergo_real threshold,
00041 ergo_real boxSize,
00042 symmMatrix & V,
00043 std::vector<int> const & permutationHML);
00044
00045
00046 int
00047 compute_overlap_matrix_sparse(const BasisInfoStruct& basisInfo,
00048 symmMatrix & S_symm,
00049 std::vector<int> const & permutationHML);
00050
00051
00052 int
00053 compute_operator_matrix_sparse_symm(const BasisInfoStruct& basisInfo,
00054 int pow_x,
00055 int pow_y,
00056 int pow_z,
00057 symmMatrix & A_symm,
00058 std::vector<int> const & permutationHML);
00059
00060
00061 int
00062 compute_J_by_boxes_sparse(const BasisInfoStruct& basisInfo,
00063 const IntegralInfo& integralInfo,
00064 const JK::Params& J_K_params,
00065 symmMatrix & J,
00066 const symmMatrix & densityMatrix_sparse,
00067 std::vector<int> const & permutationHML);
00068
00069
00070 int
00071 compute_K_by_boxes_sparse(const BasisInfoStruct& basisInfo,
00072 const IntegralInfo& integralInfo,
00073 const JK::ExchWeights & CAM_params,
00074 const JK::Params& J_K_params,
00075 symmMatrix & K,
00076 symmMatrix & densityMatrix_sparse,
00077 std::vector<int> const & permutationHML,
00078 std::vector<int> const & inversePermutationHML);
00079
00080 int
00081 compute_K_by_boxes_sparse_nosymm(const BasisInfoStruct& basisInfo,
00082 const IntegralInfo& integralInfo,
00083 const JK::ExchWeights & CAM_params,
00084 const JK::Params& J_K_params,
00085 normalMatrix & K,
00086 normalMatrix & densityMatrix_sparse,
00087 std::vector<int> const & permutationHML,
00088 std::vector<int> const & inversePermutationHML);
00089
00090
00091 #endif