•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Search Results
mpqc::lcao::gaussian::QQRScreen Class Reference
Collaboration diagram for mpqc::lcao::gaussian::QQRScreen:

Documentation
Implements QQR screener for shell-sets of integrals.
The QQR estimator is described in Maurer, S. A.; Lambrecht, D. S.; Flaig, D. JCP. 136, 144107 (2012). This implementation is reverse-engineered from David Hollman's code in MPQC3 .
Public Member Functions | |
QQRScreen ()=default | |
QQRScreen (SchwarzScreen ss) | |
bool skip (int64_t, int64_t, int64_t, int64_t) const override | |
4-loop skipper More... | |
![]() | |
SchwarzScreen ()=default | |
SchwarzScreen (SchwarzScreen const &)=default | |
SchwarzScreen (SchwarzScreen &&)=default | |
SchwarzScreen & operator= (SchwarzScreen const &)=default | |
SchwarzScreen & operator= (SchwarzScreen &&)=default | |
virtual ~SchwarzScreen () noexcept=default | |
SchwarzScreen (std::shared_ptr< Q2Matrix > Q2bra, std::shared_ptr< Q2Matrix > Q2ket, double thresh, double thresh_cluster) | |
Constructor which requires two Q matrices. More... | |
SchwarzScreen (std::shared_ptr< Q2Matrix > Q2bra, std::shared_ptr< Q2Matrix > Q2ket, double thresh) | |
The ctor version that uses same threshold for shell and cluster skipping. More... | |
void set_skip_threshold (double thresh) override | |
void set_skip_threshold_cluster (double thresh) override | |
Q2Matrix const & Q2bra () const | |
Returns the screening matrix for the Bra indices. More... | |
Q2Matrix const & Q2ket () const | |
Returns the screening matrix for the Ket indices. More... | |
const std::shared_ptr< const Basis > & basis (std::size_t i=0) const | |
std::size_t nbases () const | |
norm_op_type * norm_op () const | |
std::tuple< TA::Tensor< float >, bool > norm_estimate (madness::World &world, BasisRefVector const &bs_array, TA::Pmap const &pmap, bool replicate=false) const override | |
returns an estimate of shape norms for the given basis vector, in presence of symmetry described by a math::PetiteList object. More... | |
virtual double estimate (int64_t a) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate (int64_t a, int64_t b) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate (int64_t a, int64_t b, int64_t c) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate (int64_t a, int64_t b, int64_t c, int64_t d) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_shell (int64_t a) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_shell (int64_t a, int64_t b) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_shell (int64_t a, int64_t b, int64_t c) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_shell (int64_t a, int64_t b, int64_t c, int64_t d) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_cluster (int64_t a) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_cluster (int64_t a, int64_t b) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_cluster (int64_t a, int64_t b, int64_t c) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
virtual double estimate_cluster (int64_t a, int64_t b, int64_t c, int64_t d) const | |
compute estimate of squared norm of a shellset/cluster of integrals More... | |
bool skip (int64_t) const override | |
bool skip (int64_t, int64_t) const override | |
bool skip (int64_t, int64_t, int64_t) const override | |
bool skip (int64_t a, int64_t b, int64_t c, double D) const override | |
bool skip (int64_t, int64_t, int64_t, int64_t) const override | |
bool skip (int64_t, int64_t, int64_t, int64_t, double) const override | |
bool skip_shell (int64_t) const override | |
bool skip_shell (int64_t, int64_t) const override | |
bool skip_shell (int64_t, int64_t, int64_t) const override | |
bool skip_shell (int64_t a, int64_t b, int64_t c, double D) const override | |
bool skip_shell (int64_t, int64_t, int64_t, int64_t) const override | |
bool skip_shell (int64_t, int64_t, int64_t, int64_t, double D) const override | |
bool skip_cluster (int64_t) const override | |
bool skip_cluster (int64_t, int64_t) const override | |
bool skip_cluster (int64_t, int64_t, int64_t) const override | |
bool skip_cluster (int64_t a, int64_t b, int64_t c, double D) const override | |
bool skip_cluster (int64_t, int64_t, int64_t, int64_t) const override | |
bool skip_cluster (int64_t, int64_t, int64_t, int64_t, double D) const override | |
![]() | |
ThresholdedScreener ()=default | |
ThresholdedScreener (ThresholdedScreener const &)=default | |
ThresholdedScreener (ThresholdedScreener &&)=default | |
ThresholdedScreener & operator= (ThresholdedScreener &&)=default | |
ThresholdedScreener & operator= (ThresholdedScreener const &)=default | |
virtual ~ThresholdedScreener () noexcept=default | |
ThresholdedScreener (double thresh, double thresh_cluster) | |
ThresholdedScreener (double thresh) | |
virtual double skip_threshold () const | |
virtual double skip_threshold_cluster () const | |
![]() | |
Screener ()=default | |
Screener (Screener const &)=default | |
Screener (Screener &&)=default | |
Screener & operator= (Screener &&)=default | |
Screener & operator= (Screener const &)=default | |
virtual ~Screener () noexcept=default | |
Additional Inherited Members | |
![]() | |
using norm_op_type = Q2Matrix::norm_op_type | |
![]() | |
double skip_threshold_squared () const | |
double skip_threshold_cluster_squared () const | |
template<typename... IDX> | |
bool skip_ (IDX &&... idx) const | |
template<typename... IDX> | |
bool skip_shell_ (IDX &&... idx) const | |
template<typename... IDX> | |
bool skip_cluster_ (IDX &&... idx) const | |
template<typename... IDX> | |
bool skip_ (double D, IDX... idx) const | |
template<typename... IDX> | |
bool skip_shell_ (double D, IDX... idx) const | |
template<typename... IDX> | |
bool skip_cluster_ (double D, IDX... idx) const | |
Constructor & Destructor Documentation
◆ QQRScreen() [1/2]
|
default |
◆ QQRScreen() [2/2]
|
inline |
Member Function Documentation
◆ skip()
|
overridevirtual |
4-loop skipper
Only use QQR once all 4 shells are present. This means for now only Schwarz is used for loop skipping.
Reimplemented from mpqc::lcao::Screener.
The documentation for this class was generated from the following files: