MADNESS
0.10.1
|
#include <ccpairfunction.h>
Public Member Functions | |
TwoBodyFunctionSeparatedComponent ()=default | |
TwoBodyFunctionSeparatedComponent (const std::vector< Function< T, LDIM >> &a, const std::vector< Function< T, LDIM >> &b) | |
TwoBodyFunctionSeparatedComponent (const std::vector< Function< T, LDIM >> &a, const std::vector< Function< T, LDIM >> &b, const std::shared_ptr< CCConvolutionOperator< T, LDIM >> op) | |
TwoBodyFunctionSeparatedComponent (const TwoBodyFunctionSeparatedComponent &other)=default | |
template<typename Q , std::size_t MDIM> | |
TwoBodyFunctionPureComponent< T, NDIM > | apply (const SeparatedConvolution< Q, MDIM > *op, const int particle=0) |
std::shared_ptr< TwoBodyFunctionComponentBase > | clone () override |
deep copy More... | |
std::vector< Function< T, LDIM > > | get_a () const |
std::vector< Function< T, LDIM > > | get_b () const |
const std::shared_ptr< CCConvolutionOperator< T, LDIM > > | get_operator_ptr () const |
std::vector< Function< T, LDIM > > | get_vector (const int i) const |
bool | has_operator () const override |
hashT | hash () const override |
bool | is_decomposed () const override |
std::string | name (const bool transpose) const override |
template<typename Q > | |
TwoBodyFunctionSeparatedComponent & | operator*= (const Q fac) |
void | print_size (const std::string name1="") const override |
long | rank () const |
void | serialize () |
void | set_operator (const std::shared_ptr< CCConvolutionOperator< T, LDIM >> op1) |
void | swap_particles_inplace () override |
return f(2,1) More... | |
World & | world () const override |
Public Member Functions inherited from madness::TwoBodyFunctionComponentBase | |
virtual | ~TwoBodyFunctionComponentBase () |
virtual bool | is_pure () const |
Private Attributes | |
std::vector< Function< T, LDIM > > | a |
std::vector< Function< T, LDIM > > | b |
std::shared_ptr< CCConvolutionOperator< T, LDIM > > | op |
Static Private Attributes | |
static constexpr std::size_t | LDIM =NDIM/2 |
holds two vectors a and b of low-dimensional functions forming a high-dim function by a sum of outer products f(1,2) = sum_i |a_i b_i >
|
default |
|
inline |
|
inline |
|
default |
|
inline |
References MADNESS_EXCEPTION.
|
inlineoverridevirtual |
deep copy
Implements madness::TwoBodyFunctionComponentBase.
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::a, madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::b, madness::copy(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::op, and madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::world().
|
inline |
|
inlineoverridevirtual |
Implements madness::TwoBodyFunctionComponentBase.
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::op.
Referenced by madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::name().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented from madness::TwoBodyFunctionComponentBase.
|
inlineoverridevirtual |
Implements madness::TwoBodyFunctionComponentBase.
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_operator_ptr(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::has_operator(), and madness::transpose().
Referenced by madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::print_size().
|
inline |
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::a, and madness::scale().
|
inlineoverridevirtual |
Implements madness::TwoBodyFunctionComponentBase.
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::a, madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::b, madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::name(), madness::print_size(), and madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::world().
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
return f(2,1)
Implements madness::TwoBodyFunctionComponentBase.
References madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::a, madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::b, and madness::swap().
|
inlineoverridevirtual |
|
private |
Referenced by madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::clone(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_a(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_vector(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::hash(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::operator*=(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::print_size(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::rank(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::swap_particles_inplace(), and madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::world().
|
private |
Referenced by madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::clone(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_b(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_vector(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::hash(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::print_size(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::rank(), and madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::swap_particles_inplace().
|
staticconstexprprivate |
|
private |
Referenced by madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::clone(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::get_operator_ptr(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::has_operator(), madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::hash(), and madness::TwoBodyFunctionSeparatedComponent< T, NDIM >::set_operator().