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

orthogonality projector More...

#include <projector.h>

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

Public Member Functions

 QProjector ()=default
 default ctor
 
 QProjector (const QProjector &other)=default
 copy ctor
 
 QProjector (const vecfuncT &amo)
 constructor with symmetric bra and ket spaces
 
 QProjector (const vecfuncT &bra, const vecfuncT &ket)
 constructor with asymmetric bra and ket spaces
 
 QProjector (World &world, const vecfuncT &amo)
 constructor with symmetric bra and ket spaces
 
 QProjector (World &world, const vecfuncT &bra, const vecfuncT &ket)
 constructor with asymmetric bra and ket spaces
 
vecfuncT get_bra_vector () const
 
vecfuncT get_ket_vector () const
 
Projector< T, NDIMget_P_projector () const
 
int get_particle () const override
 
template<typename argT >
argT operator() (const argT &argument) const
 
Function< T, 2 *NDIMoperator() (const Function< T, 2 *NDIM > &f, const size_t particle=-1) const
 
Function< T, NDIMoperator() (const Function< T, NDIM > &rhs) const
 
vecfuncT operator() (const vecfuncT &rhs) const
 
void set_particle (const int p) override
 
void set_spaces (const vecfuncT &bra, const vecfuncT &ket)
 
void set_spaces (const vecfuncT &p)
 
std::string type () const override
 
- Public Member Functions inherited from madness::ProjectorBase
virtual ~ProjectorBase ()
 

Private Types

typedef std::vector< Function< T, NDIM > > vecfuncT
 

Private Attributes

Projector< T, NDIMO
 

Additional Inherited Members

- Protected Attributes inherited from madness::ProjectorBase
int particle =-1
 a projector might work only on a subset of dimensions, e.g. P(1) | \psi(1,2) >
 

Detailed Description

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

orthogonality projector

projects out the space given in the constructor

\[
  |result> = |f> - \sum_p |p><p|f>
\]

Member Typedef Documentation

◆ vecfuncT

template<typename T , std::size_t NDIM>
typedef std::vector<Function<T,NDIM> > madness::QProjector< T, NDIM >::vecfuncT
private

Constructor & Destructor Documentation

◆ QProjector() [1/6]

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

default ctor

◆ QProjector() [2/6]

template<typename T , std::size_t NDIM>
madness::QProjector< T, NDIM >::QProjector ( World world,
const vecfuncT amo 
)
inline

constructor with symmetric bra and ket spaces

◆ QProjector() [3/6]

template<typename T , std::size_t NDIM>
madness::QProjector< T, NDIM >::QProjector ( World world,
const vecfuncT bra,
const vecfuncT ket 
)
inline

constructor with asymmetric bra and ket spaces

◆ QProjector() [4/6]

template<typename T , std::size_t NDIM>
madness::QProjector< T, NDIM >::QProjector ( const vecfuncT amo)
inline

constructor with symmetric bra and ket spaces

◆ QProjector() [5/6]

template<typename T , std::size_t NDIM>
madness::QProjector< T, NDIM >::QProjector ( const vecfuncT bra,
const vecfuncT ket 
)
inline

constructor with asymmetric bra and ket spaces

◆ QProjector() [6/6]

template<typename T , std::size_t NDIM>
madness::QProjector< T, NDIM >::QProjector ( const QProjector< T, NDIM > &  other)
default

copy ctor

Member Function Documentation

◆ get_bra_vector()

template<typename T , std::size_t NDIM>
vecfuncT madness::QProjector< T, NDIM >::get_bra_vector ( ) const
inline

◆ get_ket_vector()

template<typename T , std::size_t NDIM>
vecfuncT madness::QProjector< T, NDIM >::get_ket_vector ( ) const
inline

◆ get_P_projector()

template<typename T , std::size_t NDIM>
Projector< T, NDIM > madness::QProjector< T, NDIM >::get_P_projector ( ) const
inline

◆ get_particle()

template<typename T , std::size_t NDIM>
int madness::QProjector< T, NDIM >::get_particle ( ) const
inlineoverridevirtual

◆ operator()() [1/4]

template<typename T , std::size_t NDIM>
template<typename argT >
argT madness::QProjector< T, NDIM >::operator() ( const argT &  argument) const
inline

References madness::apply().

◆ operator()() [2/4]

template<typename T , std::size_t NDIM>
Function< T, 2 *NDIM > madness::QProjector< T, NDIM >::operator() ( const Function< T, 2 *NDIM > &  f,
const size_t  particle = -1 
) const
inline

◆ operator()() [3/4]

template<typename T , std::size_t NDIM>
Function< T, NDIM > madness::QProjector< T, NDIM >::operator() ( const Function< T, NDIM > &  rhs) const
inline

◆ operator()() [4/4]

template<typename T , std::size_t NDIM>
vecfuncT madness::QProjector< T, NDIM >::operator() ( const vecfuncT rhs) const
inline

◆ set_particle()

template<typename T , std::size_t NDIM>
void madness::QProjector< T, NDIM >::set_particle ( const int  p)
inlineoverridevirtual

◆ set_spaces() [1/2]

template<typename T , std::size_t NDIM>
void madness::QProjector< T, NDIM >::set_spaces ( const vecfuncT bra,
const vecfuncT ket 
)
inline

◆ set_spaces() [2/2]

template<typename T , std::size_t NDIM>
void madness::QProjector< T, NDIM >::set_spaces ( const vecfuncT p)
inline

◆ type()

template<typename T , std::size_t NDIM>
std::string madness::QProjector< T, NDIM >::type ( ) const
inlineoverridevirtual

Member Data Documentation

◆ O

template<typename T , std::size_t NDIM>
Projector<T,NDIM> madness::QProjector< T, NDIM >::O
private

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