MADNESS 0.10.1
madness::pg_operator Class Reference

This class implements the symmetry operations (not the point groups). More...

#include <pointgroupoperator.h>

Public Member Functions

 pg_operator (std::string symbol, std::string name, const std::vector< long > mm, const std::vector< long > md)
 ctor with explicit mirror maps
std::string name () const
 return the name of the symmetry operator
template<typename T, std::size_t NDIM>
Function< T, NDIM > operator() (const Function< T, NDIM > &f, bool fence=true) const
 apply the operator on an n-dimensional MRA function
template<typename T, std::size_t NDIM>
std::vector< Function< T, NDIM > > operator() (const std::vector< Function< T, NDIM > > &vf, bool fence=true) const
 apply the operator on an n-dimensional MRA function
std::string symbol () const

Private Attributes

std::vector< long > mapdim_
std::vector< long > mirrormap
std::string name_
std::string symbol_

Friends

std::ostream & operator<< (std::ostream &s, const pg_operator &pg_op)

Detailed Description

This class implements the symmetry operations (not the point groups).

Constructor & Destructor Documentation

◆ pg_operator()

madness::pg_operator::pg_operator ( std::string symbol,
std::string name,
const std::vector< long > mm,
const std::vector< long > md )
inline

ctor with explicit mirror maps

References mapdim_, mirrormap, name(), name_, symbol(), and symbol_.

Referenced by operator<<.

Member Function Documentation

◆ name()

std::string madness::pg_operator::name ( ) const
inline

return the name of the symmetry operator

References name_.

Referenced by pg_operator(), operator<<, and test_projector().

◆ operator()() [1/2]

template<typename T, std::size_t NDIM>
Function< T, NDIM > madness::pg_operator::operator() ( const Function< T, NDIM > & f,
bool fence = true ) const
inline

apply the operator on an n-dimensional MRA function

References madness::copy(), madness::f, madness::map_and_mirror(), mapdim_, madness::mirror(), mirrormap, name_, and NDIM.

◆ operator()() [2/2]

template<typename T, std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::pg_operator::operator() ( const std::vector< Function< T, NDIM > > & vf,
bool fence = true ) const
inline

apply the operator on an n-dimensional MRA function

References madness::WorldGopInterface::fence(), and madness::World::gop.

◆ symbol()

std::string madness::pg_operator::symbol ( ) const
inline

References symbol_.

Referenced by pg_operator().

◆ operator<<

std::ostream & operator<< ( std::ostream & s,
const pg_operator & pg_op )
friend

References pg_operator(), and name().

Member Data Documentation

◆ mapdim_

std::vector<long> madness::pg_operator::mapdim_
private

Referenced by pg_operator(), and operator()().

◆ mirrormap

std::vector<long> madness::pg_operator::mirrormap
private

Referenced by pg_operator(), and operator()().

◆ name_

std::string madness::pg_operator::name_
private

Referenced by pg_operator(), name(), and operator()().

◆ symbol_

std::string madness::pg_operator::symbol_
private

Referenced by pg_operator(), and symbol().


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