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

the Laplacian operator: \sum_i \nabla^2_i More...

#include <SCFOperators.h>

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

Public Member Functions

 Laplacian (World &world, const double e=0.0)
 
std::string info () const
 print some information about this operator More...
 
T operator() (const functionT &bra, const functionT &ket) const
 compute the matrix element <bra | op | ket> More...
 
functionT operator() (const functionT &ket) const
 
tensorT operator() (const vecfuncT &vbra, const vecfuncT &vket) const
 compute the matrix <vbra | op | vket> More...
 
vecfuncT operator() (const vecfuncT &vket) const
 apply this operator on the argument vector of functions More...
 
- 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

double eps
 
std::vector< std::shared_ptr< Derivative< T, NDIM > > > gradop
 
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
 

Detailed Description

template<typename T, std::size_t NDIM>
class madness::Laplacian< T, NDIM >

the Laplacian operator: \sum_i \nabla^2_i

note that the application of the Laplacian operator is in general unstable and very sensitive to noise and cusps in the argument.

!!! BE SURE YOU KNOW WHAT YOU ARE DOING !!!

For computing matrix elements, which is reasonably stable, we refer

Member Typedef Documentation

◆ functionT

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

◆ tensorT

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

◆ vecfuncT

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

Constructor & Destructor Documentation

◆ Laplacian()

template<typename T , std::size_t NDIM>
madness::Laplacian< T, NDIM >::Laplacian ( World world,
const double  e = 0.0 
)
inline

Member Function Documentation

◆ info()

template<typename T , std::size_t NDIM>
std::string madness::Laplacian< 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::Laplacian< 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::Laplacian< T, NDIM >::operator()().

◆ operator()() [2/4]

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

apply this operator on the argument function

Parameters
ketthe argument function
Returns
op(ket)

Implements madness::SCFOperatorBase< T, NDIM >.

Referenced by madness::Laplacian< T, NDIM >::operator()().

◆ operator()() [3/4]

template<typename T , std::size_t NDIM>
tensorT madness::Laplacian< 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::Laplacian< T, NDIM >::world.

◆ operator()() [4/4]

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

apply this operator on the argument vector of functions

Parameters
vketargument vector
Returns
op(vket)

Implements madness::SCFOperatorBase< T, NDIM >.

Member Data Documentation

◆ eps

template<typename T , std::size_t NDIM>
double madness::Laplacian< T, NDIM >::eps
private

◆ gradop

template<typename T , std::size_t NDIM>
std::vector< std::shared_ptr< Derivative<T,NDIM> > > madness::Laplacian< T, NDIM >::gradop
private

◆ world

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

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