mpqc::lcao::cc::PNOEEPred< Array > Class Template Reference
Collaboration diagram for mpqc::lcao::cc::PNOEEPred< Array >:

Documentation

template<typename Array>
class mpqc::lcao::cc::PNOEEPred< Array >

PNO preconditioner for EOM-EE-CCSD.

Public Types

using Tile = typename Array::value_type
 
using Matrix = RowMatrix< typename Tile::numeric_type >
 
using Vector = EigenVector< typename Tile::numeric_type >
 
using ArrayVec = TA::DistArrayVector< typename Array::value_type, typename Array::policy_type >
 
using WorldObject_ = madness::WorldObject< PNOEEPred< Array > >
 
- Public Types inherited from mpqc::math::DavidsonDiagPred< D >
using numeric_type = typename TA::detail::numeric_type< D >::type
 

Public Member Functions

 PNOEEPred (madness::World &world)
 
 PNOEEPred (const Array &T2, std::size_t n_roots, const Vector &eps_o, const Matrix &F_uocc, double tpno, double tosv, bool pno_canonical)
 
 ~PNOEEPred ()=default
 
virtual void operator() (const EigenVector< typename Tile::numeric_type > &e, std::vector< ArrayVec > &guess) const override
 
virtual Tile::numeric_type norm (const ArrayVec &t1t2) const override
 override the default norm function More...
 
double tpno () const
 return pno truncation threshold More...
 
double tosv () const
 return osv truncation threshold More...
 
void compute (const typename Tile::numeric_type &e, ArrayVec &guess) const
 
void init_reblock (const Array &T2)
 
- Public Member Functions inherited from mpqc::math::DavidsonDiagPred< D >
virtual void operator() (const EigenVector< numeric_type > &e, std::vector< D > &guess) const =0
 
virtual numeric_type norm (const D &d) const
 
virtual ~DavidsonDiagPred ()=default
 

Protected Member Functions

void transfer_pnos ()
 
void copy_pnoij (int i, int j, Matrix pno_ij, int npno_ij, Vector f_pno_diag_ij)
 

Protected Attributes

double tpno_
 
double tosv_
 
bool pno_canonical_
 
std::size_t n_roots_
 
Vector eps_o_
 
Array reblock_i_
 
Array reblock_a_
 
std::vector< Matrixpnos_
 pnos for excited states More...
 
std::vector< int > npnos_
 
std::vector< int > old_npnos_
 
std::vector< VectorF_pno_diag_
 diagonal of F_ab in pno basis for excited states More...
 
std::vector< Vectorpno_eigvals_
 
std::vector< Matrixosvs_
 osvs for excited states More...
 
std::vector< int > nosvs_
 
std::vector< int > old_nosvs_
 
std::vector< VectorF_osv_diag_
 diagonal of F_ab in osv basis for excited states More...
 
std::shared_ptr< TiledArray::Pmap > ij_pmap_
 maps ij index of PNO to the rank More...
 

Member Typedef Documentation

◆ ArrayVec

template<typename Array >
using mpqc::lcao::cc::PNOEEPred< Array >::ArrayVec = TA::DistArrayVector<typename Array::value_type, typename Array::policy_type>

◆ Matrix

template<typename Array >
using mpqc::lcao::cc::PNOEEPred< Array >::Matrix = RowMatrix<typename Tile::numeric_type>

◆ Tile

template<typename Array >
using mpqc::lcao::cc::PNOEEPred< Array >::Tile = typename Array::value_type

◆ Vector

template<typename Array >
using mpqc::lcao::cc::PNOEEPred< Array >::Vector = EigenVector<typename Tile::numeric_type>

◆ WorldObject_

template<typename Array >
using mpqc::lcao::cc::PNOEEPred< Array >::WorldObject_ = madness::WorldObject<PNOEEPred<Array> >

Constructor & Destructor Documentation

◆ PNOEEPred() [1/2]

template<typename Array >
mpqc::lcao::cc::PNOEEPred< Array >::PNOEEPred ( madness::World &  world)
inline

◆ PNOEEPred() [2/2]

template<typename Array >
mpqc::lcao::cc::PNOEEPred< Array >::PNOEEPred ( const Array T2,
std::size_t  n_roots,
const Vector eps_o,
const Matrix F_uocc,
double  tpno,
double  tosv,
bool  pno_canonical 
)
inline

◆ ~PNOEEPred()

template<typename Array >
mpqc::lcao::cc::PNOEEPred< Array >::~PNOEEPred ( )
default

Member Function Documentation

◆ compute()

template<typename Array >
void mpqc::lcao::cc::PNOEEPred< Array >::compute ( const typename Tile::numeric_type &  e,
ArrayVec guess 
) const
inline

◆ copy_pnoij()

template<typename Array >
void mpqc::lcao::cc::PNOEEPred< Array >::copy_pnoij ( int  i,
int  j,
Matrix  pno_ij,
int  npno_ij,
Vector  f_pno_diag_ij 
)
inlineprotected

Copies the PNOs for pair i,j to pair j,i

Parameters
iThe first occupied index
jThe second occupied index
pno_ijThe Matrix of PNOs associated with pair i,j
npno_ijThe number of PNOs axxociated with pair i,j
f_pno_diag_ijA Vector containing the diagonal elements of the Fock matrix transformed to the i,j PNO space

◆ init_reblock()

template<typename Array >
void mpqc::lcao::cc::PNOEEPred< Array >::init_reblock ( const Array T2)
inline

◆ norm()

template<typename Array >
virtual Tile::numeric_type mpqc::lcao::cc::PNOEEPred< Array >::norm ( const ArrayVec t1t2) const
inlineoverridevirtual

override the default norm function

◆ operator()()

template<typename Array >
virtual void mpqc::lcao::cc::PNOEEPred< Array >::operator() ( const EigenVector< typename Tile::numeric_type > &  e,
std::vector< ArrayVec > &  guess 
) const
inlineoverridevirtual

◆ tosv()

template<typename Array >
double mpqc::lcao::cc::PNOEEPred< Array >::tosv ( ) const
inline

return osv truncation threshold

◆ tpno()

template<typename Array >
double mpqc::lcao::cc::PNOEEPred< Array >::tpno ( ) const
inline

return pno truncation threshold

◆ transfer_pnos()

template<typename Array >
void mpqc::lcao::cc::PNOEEPred< Array >::transfer_pnos ( )
inlineprotected

Transfers the PNOs from the node that owns pair i,j to the node that owns pair j,i

Member Data Documentation

◆ eps_o_

template<typename Array >
Vector mpqc::lcao::cc::PNOEEPred< Array >::eps_o_
protected

◆ F_osv_diag_

template<typename Array >
std::vector<Vector> mpqc::lcao::cc::PNOEEPred< Array >::F_osv_diag_
protected

diagonal of F_ab in osv basis for excited states

◆ F_pno_diag_

template<typename Array >
std::vector<Vector> mpqc::lcao::cc::PNOEEPred< Array >::F_pno_diag_
protected

diagonal of F_ab in pno basis for excited states

◆ ij_pmap_

template<typename Array >
std::shared_ptr<TiledArray::Pmap> mpqc::lcao::cc::PNOEEPred< Array >::ij_pmap_
protected

maps ij index of PNO to the rank

◆ n_roots_

template<typename Array >
std::size_t mpqc::lcao::cc::PNOEEPred< Array >::n_roots_
protected

◆ nosvs_

template<typename Array >
std::vector<int> mpqc::lcao::cc::PNOEEPred< Array >::nosvs_
protected

of osvs for each orbital

◆ npnos_

template<typename Array >
std::vector<int> mpqc::lcao::cc::PNOEEPred< Array >::npnos_
protected

of pnos for each pair

◆ old_nosvs_

template<typename Array >
std::vector<int> mpqc::lcao::cc::PNOEEPred< Array >::old_nosvs_
protected

◆ old_npnos_

template<typename Array >
std::vector<int> mpqc::lcao::cc::PNOEEPred< Array >::old_npnos_
protected

◆ osvs_

template<typename Array >
std::vector<Matrix> mpqc::lcao::cc::PNOEEPred< Array >::osvs_
protected

osvs for excited states

◆ pno_canonical_

template<typename Array >
bool mpqc::lcao::cc::PNOEEPred< Array >::pno_canonical_
protected

◆ pno_eigvals_

template<typename Array >
std::vector<Vector> mpqc::lcao::cc::PNOEEPred< Array >::pno_eigvals_
protected

◆ pnos_

template<typename Array >
std::vector<Matrix> mpqc::lcao::cc::PNOEEPred< Array >::pnos_
protected

pnos for excited states

◆ reblock_a_

template<typename Array >
Array mpqc::lcao::cc::PNOEEPred< Array >::reblock_a_
protected

◆ reblock_i_

template<typename Array >
Array mpqc::lcao::cc::PNOEEPred< Array >::reblock_i_
protected

◆ tosv_

template<typename Array >
double mpqc::lcao::cc::PNOEEPred< Array >::tosv_
protected

◆ tpno_

template<typename Array >
double mpqc::lcao::cc::PNOEEPred< Array >::tpno_
protected

The documentation for this class was generated from the following file: