MADNESS 0.10.1
Public Types | Public Member Functions | Public Attributes | List of all members
madness::SCFOperatorBase< T, NDIM > Class Template Referenceabstract

#include <SCFOperators.h>

Inheritance diagram for madness::SCFOperatorBase< T, NDIM >:
Inheritance graph
[legend]

Public Types

typedef Function< T, NDIMfunctionT
 
typedef Tensor< TtensorT
 
typedef std::vector< functionTvecfuncT
 

Public Member Functions

 SCFOperatorBase ()=default
 
 SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq)
 
virtual ~SCFOperatorBase ()
 
virtual std::string info () const =0
 print some information about this operator
 
virtual T operator() (const functionT &bra, const functionT &ket) const =0
 compute the matrix element <bra | op | ket>
 
virtual functionT operator() (const functionT &ket) const =0
 
virtual tensorT operator() (const vecfuncT &vbra, const vecfuncT &vket) const =0
 compute the matrix <vbra | op | vket>
 
virtual vecfuncT operator() (const vecfuncT &vket) const =0
 apply this operator on the argument vector of functions
 

Public Attributes

std::shared_ptr< MacroTaskQtaskq =0
 

Member Typedef Documentation

◆ functionT

template<typename T , std::size_t NDIM>
typedef Function<T,NDIM> madness::SCFOperatorBase< T, NDIM >::functionT

◆ tensorT

template<typename T , std::size_t NDIM>
typedef Tensor<T> madness::SCFOperatorBase< T, NDIM >::tensorT

◆ vecfuncT

template<typename T , std::size_t NDIM>
typedef std::vector<functionT> madness::SCFOperatorBase< T, NDIM >::vecfuncT

Constructor & Destructor Documentation

◆ SCFOperatorBase() [1/2]

template<typename T , std::size_t NDIM>
madness::SCFOperatorBase< T, NDIM >::SCFOperatorBase ( )
default

◆ SCFOperatorBase() [2/2]

template<typename T , std::size_t NDIM>
madness::SCFOperatorBase< T, NDIM >::SCFOperatorBase ( std::shared_ptr< MacroTaskQ taskq)
inline

◆ ~SCFOperatorBase()

template<typename T , std::size_t NDIM>
virtual madness::SCFOperatorBase< T, NDIM >::~SCFOperatorBase ( )
inlinevirtual

Member Function Documentation

◆ info()

template<typename T , std::size_t NDIM>
virtual std::string madness::SCFOperatorBase< T, NDIM >::info ( ) const
pure virtual

◆ operator()() [1/4]

template<typename T , std::size_t NDIM>
virtual T madness::SCFOperatorBase< T, NDIM >::operator() ( const functionT bra,
const functionT ket 
) const
pure virtual

◆ operator()() [2/4]

template<typename T , std::size_t NDIM>
virtual functionT madness::SCFOperatorBase< T, NDIM >::operator() ( const functionT ket) const
pure virtual

◆ operator()() [3/4]

template<typename T , std::size_t NDIM>
virtual tensorT madness::SCFOperatorBase< T, NDIM >::operator() ( const vecfuncT vbra,
const vecfuncT vket 
) const
pure virtual

compute the matrix <vbra | op | vket>

Parameters
vbravector of bra states
vketvector of ket states
Returns
the matrix <vbra | op | vket>

Implemented in MyDerivativeOperator< T, NDIM >, madness::Exchange< T, NDIM >, madness::Exchange< double, 3 >, madness::Kinetic< T, NDIM >, madness::Kinetic< double, 3 >, madness::DerivativeOperator< T, NDIM >, and madness::Laplacian< T, NDIM >.

◆ operator()() [4/4]

template<typename T , std::size_t NDIM>
virtual vecfuncT madness::SCFOperatorBase< T, NDIM >::operator() ( const vecfuncT vket) const
pure virtual

Member Data Documentation

◆ taskq

template<typename T , std::size_t NDIM>
std::shared_ptr<MacroTaskQ> madness::SCFOperatorBase< T, NDIM >::taskq =0

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