ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Functions
lr_util.cpp File Reference
#include "source_base/constants.h"
#include "lr_util.h"
#include "source_base/module_external/lapack_connector.h"
#include "source_base/module_external/scalapack_connector.h"
Include dependency graph for lr_util.cpp:

Namespaces

namespace  LR_Util
 

Functions

int LR_Util::cal_nocc (int nelec)
 =================PHYSICS====================
 
std::pair< ModuleBase::matrix, std::vector< std::pair< int, int > > > LR_Util::set_ix_map_diagonal (bool mode, int nc, int nv)
 set the index map: ix to (ic, iv) and vice versa by diagonal traverse the c-v pairs leftdown -> rightup for mode 0, rightup -> leftdown for mode 1
 
template<>
void LR_Util::matsym< double > (const double *in, const int n, const Parallel_2D &pmat, double *out)
 =================ALGORITHM====================
 
template<>
void LR_Util::matsym< double > (double *inout, const int n, const Parallel_2D &pmat)
 
template<>
void LR_Util::matsym< std::complex< double > > (const std::complex< double > *in, const int n, const Parallel_2D &pmat, std::complex< double > *out)
 
template<>
void LR_Util::matsym< std::complex< double > > (std::complex< double > *inout, const int n, const Parallel_2D &pmat)
 
void LR_Util::setup_2d_division (Parallel_2D &pv, int nb, int gr, int gc)
 =================2D-block Parallel===============
 
void LR_Util::setup_2d_division (Parallel_2D &pv, int nb, int gr, int gc, const int &blacs_ctxt_in)
 
void LR_Util::diag_lapack (const int &n, double *mat, double *eig)
 diagonalize a hermitian matrix
 
void LR_Util::diag_lapack (const int &n, std::complex< double > *mat, double *eig)
 
void LR_Util::diag_lapack_nh (const int &n, double *mat, std::complex< double > *eig)
 diagonalize a general matrix
 
void LR_Util::diag_lapack_nh (const int &n, std::complex< double > *mat, std::complex< double > *eig)
 
std::string LR_Util::tolower (const std::string &str)
 =================string option====================
 
std::string LR_Util::toupper (const std::string &str)