ergo
naive_response_test.cc File Reference

Tests naive implementation of linear response calculation. More...

#include <stdio.h>
#include <unistd.h>
#include <memory>
#include <limits>
#include "basisinfo.h"
#include "matrix_utilities.h"
#include "integrals_general.h"
#include "integrals_2el_explicit.h"
#include "integral_matrix_wrappers.h"
#include "utilities.h"
#include "densfromf_full.h"
#include "GetDensFromFock.h"

Classes

struct  four_idx_AO_struct
 

Functions

static void preparePermutationsHML (const BasisInfoStruct &basisInfo, mat::SizesAndBlocks &sizeBlockInfo, std::vector< int > &permutation, std::vector< int > &inversePermutation, int blockSizeHML)
 
static void report_timing (const Util::TimeMeter &tm, const char *s)
 
void get_HML_J (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const symmMatrix &D, symmMatrix &J)
 
void get_HML_K (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &D, symmMatrix &K)
 
void get_HML_G_matrix (const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &D, symmMatrix &G)
 
void get_HML_dens_matrix (int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks &sizeBlockInfo, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, symmMatrix &S, symmMatrix &F, symmMatrix &Dnew)
 
void do_HF_HML (int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks &sizeBlockInfo, const IntegralInfo &integralInfo, const BasisInfoStruct &bis, const std::vector< int > &permutationHML, const std::vector< int > &inversePermutationHML, const symmMatrix &S, const symmMatrix &T, const symmMatrix &V, double nuclearRepulsionEnergy, int noOfIterations, symmMatrix &finalFockMatrix)
 
static void get_matrices_A_and_B (int nBasisFuncs, int noOfOccupiedOrbitals, ergo_real *A, ergo_real *B, const ergo_real *eigv, const four_idx_AO_struct *g_MO)
 
static void get_all_generalized_eigenvalues (int n, const ergo_real *A_in, const ergo_real *B_in, ergo_real *eigvalList)
 
int main (int argc, char *argv[])
 

Variables

const int MAX_AOS = 30
 

Detailed Description

Tests naive implementation of linear response calculation.

Author
Elias Rudberg responsible

Function Documentation

◆ do_HF_HML()

void do_HF_HML ( int  noOfBasisFuncs,
int  noOfOccupiedOrbitals,
const mat::SizesAndBlocks sizeBlockInfo,
const IntegralInfo integralInfo,
const BasisInfoStruct bis,
const std::vector< int > &  permutationHML,
const std::vector< int > &  inversePermutationHML,
const symmMatrix S,
const symmMatrix T,
const symmMatrix V,
double  nuclearRepulsionEnergy,
int  noOfIterations,
symmMatrix finalFockMatrix 
)

References get_HML_dens_matrix(), and get_HML_G_matrix().

Referenced by main().

◆ get_all_generalized_eigenvalues()

static void get_all_generalized_eigenvalues ( int  n,
const ergo_real A_in,
const ergo_real B_in,
ergo_real eigvalList 
)
static

References A, B, and mat::ggev().

Referenced by main().

◆ get_HML_dens_matrix()

◆ get_HML_G_matrix()

void get_HML_G_matrix ( const mat::SizesAndBlocks sizeBlockInfo,
const IntegralInfo integralInfo,
const BasisInfoStruct bis,
const std::vector< int > &  permutationHML,
const std::vector< int > &  inversePermutationHML,
symmMatrix D,
symmMatrix G 
)

References get_HML_J(), and get_HML_K().

Referenced by do_HF_HML().

◆ get_HML_J()

void get_HML_J ( const mat::SizesAndBlocks sizeBlockInfo,
const IntegralInfo integralInfo,
const BasisInfoStruct bis,
const std::vector< int > &  permutationHML,
const symmMatrix D,
symmMatrix J 
)

References compute_J_by_boxes_sparse().

Referenced by get_HML_G_matrix().

◆ get_HML_K()

void get_HML_K ( const mat::SizesAndBlocks sizeBlockInfo,
const IntegralInfo integralInfo,
const BasisInfoStruct bis,
const std::vector< int > &  permutationHML,
const std::vector< int > &  inversePermutationHML,
symmMatrix D,
symmMatrix K 
)

References compute_K_by_boxes_sparse().

Referenced by get_HML_G_matrix().

◆ get_matrices_A_and_B()

static void get_matrices_A_and_B ( int  nBasisFuncs,
int  noOfOccupiedOrbitals,
ergo_real A,
ergo_real B,
const ergo_real eigv,
const four_idx_AO_struct g_MO 
)
static

References A, B, and four_idx_AO_struct::x.

Referenced by main().

◆ main()

◆ preparePermutationsHML()

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

◆ report_timing()

static void report_timing ( const Util::TimeMeter tm,
const char *  s 
)
static

Variable Documentation

◆ MAX_AOS

const int MAX_AOS = 30