ergo
gradient_test.cc File Reference

Tests the gradient computation. More...

Functions

static void preparePermutations (const BasisInfoStruct &basisInfo, mat::SizesAndBlocks &sizeBlockInfo, std::vector< int > &permutation, std::vector< int > &inversePermutation)
 
static ergo_real get_nucl_energy_for_given_mol_and_dens (const IntegralInfo &integralInfo, const Molecule &molecule, const BasisInfoStruct &basisInfo, const symmMatrix &D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const &matrix_size_block_info, std::vector< int > const &permutationHML)
 
static int get_gradient_using_finite_differences (const IntegralInfo &integralInfo, const BasisInfoStruct &basisInfo, const Molecule &molecule, const symmMatrix &densityMatrix, ergo_real threshold_integrals_1el, const mat::SizesAndBlocks &matrix_size_block_info, const std::vector< int > &permutationHML, ergo_real *resultGradient)
 
static int get_gradient_using_explicit_integrals (const IntegralInfo &integralInfo, const BasisInfoStruct &basisInfo, const Molecule &molecule, const symmMatrix &densityMatrix, ergo_real threshold_integrals_1el, const mat::SizesAndBlocks &matrix_size_block_info, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, ergo_real *resultGradient)
 
static int test_gradient_by_explicit_comparison (const IntegralInfo &integralInfo)
 
int main (int argc, char *argv[])
 

Detailed Description

Tests the gradient computation.

Author
Elias Rudberg responsible

Function Documentation

◆ get_gradient_using_explicit_integrals()

static int get_gradient_using_explicit_integrals ( const IntegralInfo & integralInfo,
const BasisInfoStruct & basisInfo,
const Molecule & molecule,
const symmMatrix & densityMatrix,
ergo_real threshold_integrals_1el,
const mat::SizesAndBlocks & matrix_size_block_info,
const std::vector< int > & permutationHML,
const std::vector< int > & inversePermutationHML,
ergo_real * resultGradient )
static

◆ get_gradient_using_finite_differences()

static int get_gradient_using_finite_differences ( const IntegralInfo & integralInfo,
const BasisInfoStruct & basisInfo,
const Molecule & molecule,
const symmMatrix & densityMatrix,
ergo_real threshold_integrals_1el,
const mat::SizesAndBlocks & matrix_size_block_info,
const std::vector< int > & permutationHML,
ergo_real * resultGradient )
static

◆ get_nucl_energy_for_given_mol_and_dens()

static ergo_real get_nucl_energy_for_given_mol_and_dens ( const IntegralInfo & integralInfo,
const Molecule & molecule,
const BasisInfoStruct & basisInfo,
const symmMatrix & D,
ergo_real threshold_integrals_1el,
mat::SizesAndBlocks const & matrix_size_block_info,
std::vector< int > const & permutationHML )
static

◆ main()

int main ( int argc,
char * argv[] )

◆ preparePermutations()

static void preparePermutations ( const BasisInfoStruct & basisInfo,
mat::SizesAndBlocks & sizeBlockInfo,
std::vector< int > & permutation,
std::vector< int > & inversePermutation )
static

◆ test_gradient_by_explicit_comparison()