MADNESS  version 0.9
Public Member Functions | List of all members
madness::StrongOrthogonalityProjector< T, NDIM > Class Template Reference

a SO projector class More...

#include <projector.h>

Public Member Functions

 StrongOrthogonalityProjector (World &world)
 default ctor More...
 
void set_spaces (const vecfuncT &p)
 set the same spaces for the projectors for particle 1 and 2 More...
 
void set_spaces (const vecfuncT &bra1, const vecfuncT &ket1, const vecfuncT &bra2, const vecfuncT &ket2)
 set different spaces for the projectors for particle 1 and 2 More...
 
vecfuncT ket1 () const
 return the orbital space for the ket of particle 1 More...
 
vecfuncT bra1 () const
 return the orbital space for the bra of particle 1 More...
 
vecfuncT ket2 () const
 return the orbital space for the ket of particle 2 More...
 
vecfuncT bra2 () const
 return the orbital space for the bra of particle 2 More...
 
Function< T, 2 *NDIMoperator() (const Function< T, 2 *NDIM > &f) const
 apply the strong orthogonality operator Q12 on a function f More...
 

Detailed Description

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

a SO projector class

The SO projector is defined as Q12 = (1-O1)(1-O2), O = | i >< i | where O1 and O2 are projectors for electron 1 and 2 on the occupied space As a special case there might be a similarity transformed occupied space, resulting in different bras and kets

Constructor & Destructor Documentation

template<typename T, std::size_t NDIM>
madness::StrongOrthogonalityProjector< T, NDIM >::StrongOrthogonalityProjector ( World world)
inline

default ctor

Member Function Documentation

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

return the orbital space for the bra of particle 1

Referenced by madness::StrongOrthogonalityProjector< double, 3 >::set_spaces().

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

return the orbital space for the bra of particle 2

Referenced by madness::StrongOrthogonalityProjector< double, 3 >::set_spaces().

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

return the orbital space for the ket of particle 1

Referenced by madness::StrongOrthogonalityProjector< double, 3 >::set_spaces().

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

return the orbital space for the ket of particle 2

Referenced by madness::StrongOrthogonalityProjector< double, 3 >::set_spaces().

template<typename T, std::size_t NDIM>
Function<T,2*NDIM> madness::StrongOrthogonalityProjector< T, NDIM >::operator() ( const Function< T, 2 *NDIM > &  f) const
inline

apply the strong orthogonality operator Q12 on a function f

notation of the equations follows J. Chem. Phys., vol. 139, no. 11, p. 114106, 2013.

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

set the same spaces for the projectors for particle 1 and 2

Referenced by madness::MP2::value().

template<typename T, std::size_t NDIM>
void madness::StrongOrthogonalityProjector< T, NDIM >::set_spaces ( const vecfuncT &  bra1,
const vecfuncT &  ket1,
const vecfuncT &  bra2,
const vecfuncT &  ket2 
)
inline

set different spaces for the projectors for particle 1 and 2

the SO projector is Q12 = (1 - O1) (1 - O2) O1 = | ket1_i >< bra1_i | O2 = | ket2_i >< bra2_i | this case occurs for a similarity transformed Q12


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