mpqc::lcao::cc::ReduceBase< Tile, Policy > Struct Template Reference

Documentation

template<typename Tile, typename Policy>
struct mpqc::lcao::cc::ReduceBase< Tile, Policy >

ReduceBase class: Base class to reduce CCSD(T) perturbation expressions $ \sum_{abcijk} \frac{W^{abc}_{ijk}}{D^{abc}_{ijk}} $

Public Types

typedef double result_type
 
typedef Tile argument_type
 

Public Member Functions

 ReduceBase (std::shared_ptr< const Eigen::VectorXd > vec, std::size_t n_occ, std::size_t n_frozen, std::array< std::size_t, 6 > offset)
 
 ReduceBase (ReduceBase const &)=default
 Shallow copy operator. More...
 
result_type operator() () const
 
result_type operator() (result_type const &t) const
 
void operator() (result_type &me, result_type const &other) const
 

Public Attributes

std::shared_ptr< const Eigen::VectorXd > vec_
 
std::size_t n_occ_
 
std::size_t n_frozen_
 
std::array< std::size_t, 6 > offset_
 

Member Typedef Documentation

◆ argument_type

template<typename Tile , typename Policy >
typedef Tile mpqc::lcao::cc::ReduceBase< Tile, Policy >::argument_type

◆ result_type

template<typename Tile , typename Policy >
typedef double mpqc::lcao::cc::ReduceBase< Tile, Policy >::result_type

Constructor & Destructor Documentation

◆ ReduceBase() [1/2]

template<typename Tile , typename Policy >
mpqc::lcao::cc::ReduceBase< Tile, Policy >::ReduceBase ( std::shared_ptr< const Eigen::VectorXd >  vec,
std::size_t  n_occ,
std::size_t  n_frozen,
std::array< std::size_t, 6 >  offset 
)
inline

Reduce base builder function

Parameters
[in]veceigen vectorXd contains the diagonal elements of the fock matrix (i.e. values for D)
[in]n_occnumber of active occupied orbital elemnts
[in]n_frozennumber of frozen occupied orbitals
[in]offset6 dimensional array which provides the blocking offsets for each index

◆ ReduceBase() [2/2]

template<typename Tile , typename Policy >
mpqc::lcao::cc::ReduceBase< Tile, Policy >::ReduceBase ( ReduceBase< Tile, Policy > const &  )
default

Shallow copy operator.

Member Function Documentation

◆ operator()() [1/3]

template<typename Tile , typename Policy >
result_type mpqc::lcao::cc::ReduceBase< Tile, Policy >::operator() ( ) const
inline

◆ operator()() [2/3]

template<typename Tile , typename Policy >
void mpqc::lcao::cc::ReduceBase< Tile, Policy >::operator() ( result_type me,
result_type const &  other 
) const
inline

Operator to compute the sum of two numbers (maybe should just be virtual function) sum the right hand value into the left hand value i.e. me = me + other

Parameters
[in,out]methe sum of the values other@param other the provided numbers

◆ operator()() [3/3]

template<typename Tile , typename Policy >
result_type mpqc::lcao::cc::ReduceBase< Tile, Policy >::operator() ( result_type const &  t) const
inline

Member Data Documentation

◆ n_frozen_

template<typename Tile , typename Policy >
std::size_t mpqc::lcao::cc::ReduceBase< Tile, Policy >::n_frozen_

◆ n_occ_

template<typename Tile , typename Policy >
std::size_t mpqc::lcao::cc::ReduceBase< Tile, Policy >::n_occ_

◆ offset_

template<typename Tile , typename Policy >
std::array<std::size_t, 6> mpqc::lcao::cc::ReduceBase< Tile, Policy >::offset_

◆ vec_

template<typename Tile , typename Policy >
std::shared_ptr<const Eigen::VectorXd> mpqc::lcao::cc::ReduceBase< Tile, Policy >::vec_

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