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

#include <SCFOperators.h>

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

Public Member Functions

 DerivativeOperator (World &world, const int axis1)
 
std::string info () const
 print some information about this operator
 
T operator() (const functionT &bra, const functionT &ket) const
 compute the matrix element <bra | op | ket>
 
functionT operator() (const functionT &ket) const
 
tensorT operator() (const vecfuncT &vbra, const vecfuncT &vket) const
 compute the matrix <vbra | op | vket>
 
vecfuncT operator() (const vecfuncT &vket) const
 apply this operator on the argument vector of functions
 
- Public Member Functions inherited from madness::SCFOperatorBase< T, NDIM >
 SCFOperatorBase ()=default
 
 SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq)
 
virtual ~SCFOperatorBase ()
 

Private Types

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

Private Attributes

int axis
 
Derivative< T, NDIMgradop
 
Worldworld
 

Additional Inherited Members

- Public Types inherited from madness::SCFOperatorBase< T, NDIM >
typedef Function< T, NDIMfunctionT
 
typedef Tensor< TtensorT
 
typedef std::vector< functionTvecfuncT
 
- Public Attributes inherited from madness::SCFOperatorBase< T, NDIM >
std::shared_ptr< MacroTaskQtaskq =0
 

Member Typedef Documentation

◆ functionT

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

◆ tensorT

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

◆ vecfuncT

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

Constructor & Destructor Documentation

◆ DerivativeOperator()

template<typename T , std::size_t NDIM>
madness::DerivativeOperator< T, NDIM >::DerivativeOperator ( World world,
const int  axis1 
)
inline

Member Function Documentation

◆ info()

template<typename T , std::size_t NDIM>
std::string madness::DerivativeOperator< T, NDIM >::info ( ) const
inlinevirtual

print some information about this operator

Implements madness::SCFOperatorBase< T, NDIM >.

◆ operator()() [1/4]

template<typename T , std::size_t NDIM>
T madness::DerivativeOperator< T, NDIM >::operator() ( const functionT bra,
const functionT ket 
) const
inlinevirtual

compute the matrix element <bra | op | ket>

Parameters
brabra state
ketket state
Returns
the matrix element <bra | op | ket>

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::DerivativeOperator< T, NDIM >::operator()().

◆ operator()() [2/4]

template<typename T , std::size_t NDIM>
functionT madness::DerivativeOperator< T, NDIM >::operator() ( const functionT ket) const
inlinevirtual

◆ operator()() [3/4]

template<typename T , std::size_t NDIM>
tensorT madness::DerivativeOperator< T, NDIM >::operator() ( const vecfuncT vbra,
const vecfuncT vket 
) const
inlinevirtual

compute the matrix <vbra | op | vket>

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

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::matrix_inner(), madness::DerivativeOperator< T, NDIM >::operator()(), and madness::DerivativeOperator< T, NDIM >::world.

◆ operator()() [4/4]

template<typename T , std::size_t NDIM>
vecfuncT madness::DerivativeOperator< T, NDIM >::operator() ( const vecfuncT vket) const
inlinevirtual

apply this operator on the argument vector of functions

Parameters
vketargument vector
Returns
op(vket)

Implements madness::SCFOperatorBase< T, NDIM >.

References madness::apply(), madness::WorldGopInterface::fence(), madness::World::gop, madness::DerivativeOperator< T, NDIM >::gradop, and madness::DerivativeOperator< T, NDIM >::world.

Member Data Documentation

◆ axis

template<typename T , std::size_t NDIM>
int madness::DerivativeOperator< T, NDIM >::axis
private

◆ gradop

template<typename T , std::size_t NDIM>
Derivative<T,NDIM> madness::DerivativeOperator< T, NDIM >::gradop
private

◆ world

template<typename T , std::size_t NDIM>
World& madness::DerivativeOperator< T, NDIM >::world
private

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