ergo
operator_matrix.h File Reference
#include "integral_info.h"
#include "basisinfo.h"

Go to the source code of this file.

Functions

int compute_overlap_matrix (const BasisInfoStruct &basisInfoA, const BasisInfoStruct &basisInfoB, ergo_real *result)
 
int compute_operator_matrix_full (const BasisInfoStruct &basisInfoA, const BasisInfoStruct &basisInfoB, int pow_x, int pow_y, int pow_z, ergo_real *result)
 
int compute_operator_matrix_sparse (const BasisInfoStruct &basisInfoA, const BasisInfoStruct &basisInfoB, int pow_x, int pow_y, int pow_z, int n_A, int n_B, std::vector< int > &nvaluesList, std::vector< std::vector< int > > &colindList, std::vector< std::vector< ergo_real > > &valuesList)
 computes the matrix of a dipole/quadrupole/etc operator. More...
 

Function Documentation

int compute_operator_matrix_full ( const BasisInfoStruct basisInfoA,
const BasisInfoStruct basisInfoB,
int  pow_x,
int  pow_y,
int  pow_z,
ergo_real result 
)
int compute_operator_matrix_sparse ( const BasisInfoStruct basisInfoA,
const BasisInfoStruct basisInfoB,
int  pow_x,
int  pow_y,
int  pow_z,
int  n_A,
int  n_B,
std::vector< int > &  nvaluesList,
std::vector< std::vector< int > > &  colindList,
std::vector< std::vector< ergo_real > > &  valuesList 
)

computes the matrix of a dipole/quadrupole/etc operator.

The columns and rows enumerate

Parameters
basisInfoAand
basisInfoBrespectively. The operator is in the form: X = (x^pow_x*y^pow_y*z^pow_z). The resulting matrix (possibly rectangular) is returned in nvaluesList, colindList, valuesList. Overlap matrix is associated with triple (0,0,0), X component of the dipole moment with (1,0,0), etc. The parameters
pow_x@parampow_y
pow_zdetermine the operator. The parameters
n_A@paramn_B give the number of basis functions in each of the two basis sets. The result is stored using the lists
nvaluesList@paramcolindList
valuesListeach having length n_A.

References BasisInfoStruct::basisFuncList, DistributionSpecStruct_::centerCoords, BasisFuncStruct_::centerCoords, DistributionSpecStruct_::coeff, compute_integral_of_simple_prim(), BoxSystem::create_box_system(), distance(), do_output(), get_basis_func_extent_list(), BoxSystem::get_items_near_point(), get_largest_simple_integral(), get_product_simple_primitives(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, MATRIX_ELEMENT_THRESHOLD_VALUE, DistributionSpecStruct_::monomialInts, and BasisInfoStruct::noOfBasisFuncs.

Referenced by compute_operator_matrix_full(), compute_operator_matrix_sparse_symm(), and compute_R_matrix_sparse().

int compute_overlap_matrix ( const BasisInfoStruct basisInfoA,
const BasisInfoStruct basisInfoB,
ergo_real result 
)