mpqc::lcao::DFFockBuilder< Tile, Policy, Integral > Class Template Reference

Public Types

using base_type = JKFockBuilder< Tile, Policy >
 
using array_type = typename base_type::array_type
 
using arrayvec_type = typename base_type::arrayvec_type
 
using result_type = typename base_type::result_type
 

Public Member Functions

 DFFockBuilder (array_type const &M, Integral const &eri3)
 DFFockBuilder constructor takes a metric matrix. More...
 
 DFFockBuilder (const KeyVal &kv)
 
const array_typeinv () const
 
void register_fock (const arrayvec_type &fock, FormulaRegistry< array_type > &registry) const override
 
result_type compute (arrayvec_type const &D, arrayvec_type const &C, double scale_J_by=1, double scale_K_by=1, double target_precision=std::numeric_limits< double >::epsilon()) override
 This builder requires the user to compute coefficients. More...
 
void log_iter (std::ostream &os) const override
 

Member Typedef Documentation

◆ array_type

template<typename Tile , typename Policy , typename Integral >
using mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::array_type = typename base_type::array_type

◆ arrayvec_type

template<typename Tile , typename Policy , typename Integral >
using mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::arrayvec_type = typename base_type::arrayvec_type

◆ base_type

template<typename Tile , typename Policy , typename Integral >
using mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::base_type = JKFockBuilder<Tile, Policy>

◆ result_type

template<typename Tile , typename Policy , typename Integral >
using mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::result_type = typename base_type::result_type

Constructor & Destructor Documentation

◆ DFFockBuilder() [1/2]

template<typename Tile , typename Policy , typename Integral >
mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::DFFockBuilder ( array_type const &  M,
Integral const &  eri3 
)

DFFockBuilder constructor takes a metric matrix.

This is to avoid forcing the user to construct the inverse sqrt or cholesky decomposition of the metric and to allow the behavior of the FockBuilder to change without requiring user code to change.

◆ DFFockBuilder() [2/2]

template<typename Tile , typename Policy , typename Integral >
mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::DFFockBuilder ( const KeyVal kv)

Member Function Documentation

◆ compute()

template<typename Tile , typename Policy , typename Integral >
DFFockBuilder< Tile, Policy, Integral >::result_type mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::compute ( arrayvec_type const &  D,
arrayvec_type const &  C,
double  scale_J_by = 1,
double  scale_K_by = 1,
double  target_precision = std::numeric_limits<double>::epsilon() 
)
override

This builder requires the user to compute coefficients.

Integral is a type that can be used in a TiledArray expression, the template is to allow for Direct Integral wrappers or other options.

◆ inv()

template<typename Tile , typename Policy , typename Integral >
const array_type& mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::inv ( ) const
inline

◆ log_iter()

template<typename Tile , typename Policy , typename Integral >
void mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::log_iter ( std::ostream &  os) const
inlineoverride

◆ register_fock()

template<typename Tile , typename Policy , typename Integral >
void mpqc::lcao::DFFockBuilder< Tile, Policy, Integral >::register_fock ( const arrayvec_type fock,
FormulaRegistry< array_type > &  registry 
) const
inlineoverride

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