ergo
matrix_utilities.h File Reference
#include "matrix_typedefs.h"
#include "basisinfo.h"

Go to the source code of this file.

Classes

struct  matrix_utilities_CompareClass< RandomAccessIterator >

Functions

mat::SizesAndBlocks prepareMatrixSizesAndBlocks (int n_basis_functions, int sparse_block_size, int factor1, int factor2, int factor3)
void getMatrixPermutation (const BasisInfoStruct &basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector< int > &permutation)
void getMatrixPermutation (const BasisInfoStruct &basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector< int > &permutation, std::vector< int > &inversePermutation)
void fill_matrix_with_random_numbers (int n, symmMatrix &M)
void add_random_diag_perturbation (int n, symmMatrix &M, ergo_real eps)
void output_matrix (int n, const ergo_real *matrix, const char *matrixName)
template<class Tmatrix >
ergo_real compute_maxabs_sparse (const Tmatrix &M)
template<typename Tmatrix >
void get_all_nonzeros (Tmatrix const &A, std::vector< int > const &inversePermutation, std::vector< int > &rowind, std::vector< int > &colind, std::vector< ergo_real > &values)
template<typename Tmatrix >
void output_distance_vs_magnitude (BasisInfoStruct const &basisInfo, Tmatrix const &A, std::vector< int > const &inversePermutation, std::string name, int resolution_r, int resolution_m)
template<typename Tmatrix >
void output_magnitude_histogram (Tmatrix const &A, std::string name, int resolution_m)
template<typename Tmatrix >
void write_matrix_in_matrix_market_format (Tmatrix const &A, std::vector< int > const &inversePermutation, std::string filename, std::string identifier, std::string method_and_basis)

Function Documentation

void add_random_diag_perturbation ( int  n,
symmMatrix M,
ergo_real  eps 
)
void fill_matrix_with_random_numbers ( int  n,
symmMatrix M 
)
template<typename Tmatrix >
void get_all_nonzeros ( Tmatrix const &  A,
std::vector< int > const &  inversePermutation,
std::vector< int > &  rowind,
std::vector< int > &  colind,
std::vector< ergo_real > &  values 
)
void getMatrixPermutation ( const BasisInfoStruct basisInfo,
int  sparse_block_size,
int  factor1,
int  factor2,
int  factor3,
std::vector< int > &  permutation 
)
void getMatrixPermutation ( const BasisInfoStruct basisInfo,
int  sparse_block_size,
int  factor1,
int  factor2,
int  factor3,
std::vector< int > &  permutation,
std::vector< int > &  inversePermutation 
)
template<typename Tmatrix >
void output_distance_vs_magnitude ( BasisInfoStruct const &  basisInfo,
Tmatrix const &  A,
std::vector< int > const &  inversePermutation,
std::string  name,
int  resolution_r,
int  resolution_m 
)
Parameters
basisInfoInfo about basis set.
AThe matrix.
inversePermutationPermutation to be used when accessing matrix elements.
nameFile name.
resolution_rResolution in r-direction, r is the distance between atoms.
resolution_mResolution m-direction, m is the magnitude of matrix elements.

References BasisInfoStruct::basisFuncList, BasisFuncStruct_::centerCoords, get_all_nonzeros(), and BasisInfoStruct::noOfBasisFuncs.

Referenced by SCF_restricted::get_2e_part_and_energy(), SCF_restricted::get_new_density_matrix(), and SCF_general::SCF_general().

template<typename Tmatrix >
void output_magnitude_histogram ( Tmatrix const &  A,
std::string  name,
int  resolution_m 
)
Parameters
AThe matrix.
nameFile name.
resolution_mResolution m-direction, m is the magnitude of matrix elements.

Referenced by get_dens_from_fock_sparse(), and SCF_general::SCF_general().

void output_matrix ( int  n,
const ergo_real matrix,
const char *  matrixName 
)

Referenced by dft_get_uxc(), and dft_get_xc().

mat::SizesAndBlocks prepareMatrixSizesAndBlocks ( int  n_basis_functions,
int  sparse_block_size,
int  factor1,
int  factor2,
int  factor3 
)
template<typename Tmatrix >
void write_matrix_in_matrix_market_format ( Tmatrix const &  A,
std::vector< int > const &  inversePermutation,
std::string  filename,
std::string  identifier,
std::string  method_and_basis 
)