MADNESS 0.10.1
madness::QProjector< T, NDIM > Class Template Reference

orthogonality projector More...

#include <projector.h>

Inheritance diagram for madness::QProjector< T, NDIM >:
Collaboration diagram for madness::QProjector< T, NDIM >:

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, NDIM > get_P_projector () const
int get_particle () const override
template<typename argT>
std::vector< argT > operator() (const argT &argument) const
Function< T, 2 *NDIM > operator() (const Function< T, 2 *NDIM > &f, const size_t particle=-1) const
Function< T, NDIM > operator() (const Function< T, NDIM > &rhs) const
template<typename argT>
std::vector< argT > operator() (const std::vector< argT > &argument) 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, NDIM > O

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

Referenced by QProjector().

◆ 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

References O.

◆ 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

References O.

◆ 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

References O.

◆ 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

References O.

◆ QProjector() [6/6]

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

copy ctor

References QProjector().

Member Function Documentation

◆ get_bra_vector()

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

References O.

◆ get_ket_vector()

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

References O.

◆ get_P_projector()

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

References O.

◆ get_particle()

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

Reimplemented from madness::ProjectorBase.

References O.

◆ operator()() [1/5]

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

References madness::apply().

◆ operator()() [2/5]

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/5]

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

References O.

◆ operator()() [4/5]

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

References madness::apply().

◆ operator()() [5/5]

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

References O, and madness::truncate().

◆ 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

References O.

◆ 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


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