solvers.h File Reference
Include dependency graph for solvers.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  mpqc::lcao::cc::detail::R1SquaredNormReductionOp< T >
 
struct  mpqc::lcao::cc::detail::R2SquaredNormReductionOp< T >
 
class  mpqc::lcao::cc::JacobiDIISSolver< T >
 
class  mpqc::lcao::cc::PNOSolver< T, DT >
 

Namespaces

 mpqc
 The top-level namespace for all Massively Parallel Quantum Chemistry package.
 
 mpqc::lcao
 
 mpqc::lcao::cc
 
 mpqc::lcao::cc::detail
 

Enumerations

enum  mpqc::lcao::cc::PNORankUpdateMethod { mpqc::lcao::cc::PNORankUpdateMethod::standard, mpqc::lcao::cc::PNORankUpdateMethod::fuzzy, mpqc::lcao::cc::PNORankUpdateMethod::fixed }
 

Functions

void mpqc::lcao::cc::detail::print_local (TiledArray::World &world, const std::shared_ptr< TiledArray::Pmap > &pmap)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::jacobi_update_t3_abcijk (const TA::DistArray< Tile, Policy > &r3_abcijk, const EigenVector< typename Tile::numeric_type > &ens_occ, const EigenVector< typename Tile::numeric_type > &ens_uocc)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::jacobi_update_t2_abij (const TA::DistArray< Tile, Policy > &r2_abij, const EigenVector< typename Tile::numeric_type > &ens_occ, const EigenVector< typename Tile::numeric_type > &ens_uocc)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::jacobi_update_t1_ai (const TA::DistArray< Tile, Policy > &r1_ai, const EigenVector< typename Tile::numeric_type > &ens_occ, const EigenVector< typename Tile::numeric_type > &ens_uocc)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::pno_jacobi_update_t2 (const TA::DistArray< Tile, Policy > &r2_abij, const EigenVector< typename Tile::numeric_type > &eps_occ_act, const std::vector< EigenVector< typename Tile::numeric_type >> &eps_pno, const std::vector< RowMatrix< typename Tile::numeric_type >> &pnos, typename Tile::numeric_type shift=0.0)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::pno_jacobi_update_t1 (const TA::DistArray< Tile, Policy > &r1_ai, const EigenVector< typename Tile::numeric_type > &eps_occ_act, const std::vector< EigenVector< typename Tile::numeric_type >> &eps_osv, const std::vector< RowMatrix< typename Tile::numeric_type >> &osvs, typename Tile::numeric_type shift=0.0)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::pno_transform_abij (const TA::DistArray< Tile, Policy > &abij, const std::vector< RowMatrix< typename Tile::numeric_type >> &pnos)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::osv_transform_ai (const TA::DistArray< Tile, Policy > &ai, const std::vector< RowMatrix< typename Tile::numeric_type >> &osvs)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::t2_project_pno (const TA::DistArray< Tile, Policy > &t2, std::vector< RowMatrix< typename Tile::numeric_type >> &pnos)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::reblock_t2 (const TA::DistArray< Tile, Policy > &t2, const TA::DistArray< Tile, Policy > &i_block, const TA::DistArray< Tile, Policy > &a_block)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::unblock_t2 (const TA::DistArray< Tile, Policy > &t2, const TA::DistArray< Tile, Policy > &i_block, const TA::DistArray< Tile, Policy > &a_block)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::reblock_t1 (const TA::DistArray< Tile, Policy > &t1, const TA::DistArray< Tile, Policy > &i_block, const TA::DistArray< Tile, Policy > &a_block)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::unblock_t1 (const TA::DistArray< Tile, Policy > &t1, const TA::DistArray< Tile, Policy > &i_block, const TA::DistArray< Tile, Policy > &a_block)
 
template<typename Tile , typename Policy >
double mpqc::lcao::cc::detail::compute_mp2 (const TA::DistArray< Tile, Policy > &K, const TA::DistArray< Tile, Policy > &t2)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::form_T_from_K (const TA::DistArray< Tile, Policy > &K, const RowMatrix< typename Tile::numeric_type > &F_occ_act, const RowMatrix< typename Tile::numeric_type > &F_uocc, std::vector< RowMatrix< typename Tile::numeric_type >> &pnos, int nocc_act)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > mpqc::lcao::cc::detail::construct_density (const TA::DistArray< Tile, Policy > &t2)
 
template<typename Tile , typename Policy >
void mpqc::lcao::cc::detail::construct_pno (const TA::DistArray< Tile, Policy > &D, const RowMatrix< typename Tile::numeric_type > &F_uocc, double tpno, double tosv, std::vector< RowMatrix< typename Tile::numeric_type >> &pnos, std::vector< int > &npnos, std::vector< int > &old_npnos, std::vector< EigenVector< typename Tile::numeric_type >> &F_pno_diag, std::vector< RowMatrix< typename Tile::numeric_type >> &osvs, std::vector< int > &nosvs, std::vector< int > &old_nosvs, std::vector< EigenVector< typename Tile::numeric_type >> &F_osv_diag, std::vector< EigenVector< typename Tile::numeric_type >> &pno_eigvals, bool pno_canonical=false, PNORankUpdateMethod update_pno_rank=PNORankUpdateMethod::standard)