Xped
Loading...
Searching...
No Matches
Xped::SiteOperator< Scalar_, Symmetry_ > Struct Template Reference

#include <SiteOperator.hpp>

Collaboration diagram for Xped::SiteOperator< Scalar_, Symmetry_ >:

Public Types

using Scalar = Scalar_
 
using Symmetry = Symmetry_
 
using qType = typename Symmetry::qType
 
using MatrixType = typename Tensor< Scalar, 1, 2, Symmetry, false >::MatrixType
 

Public Member Functions

 SiteOperator ()=default
 
 SiteOperator (qType Q, const Qbasis< Symmetry, 1 > &basis, const mpi::XpedWorld &world=mpi::getUniverse())
 
 SiteOperator (qType Q, const Qbasis< Symmetry, 1 > &basis, const std::unordered_map< std::string, std::pair< qType, std::size_t > > &labels, const mpi::XpedWorld &world=mpi::getUniverse())
 
const auto operator() (const qType &bra, const qType &ket) const
 
auto operator() (const qType &bra, const qType &ket)
 
const Scalaroperator() (const std::string &bra, const std::string &ket) const
 
Scalaroperator() (const std::string &bra, const std::string &ket)
 
SiteOperator< Scalar, Symmetryadjoint () XPED_CONST
 
void setZero ()
 
void setIdentity ()
 
void setRandom ()
 
Scalar norm () const
 
std::vector< MatrixTypeplain () const
 
std::string print () const
 
std::string & label ()
 

Static Public Member Functions

static SiteOperator< Scalar, Symmetryprod (XPED_CONST SiteOperator< Scalar, Symmetry > &O1, XPED_CONST SiteOperator< Scalar, Symmetry > &O2, const qType &target)
 
static SiteOperator< Scalar, Symmetryouterprod (XPED_CONST SiteOperator< Scalar, Symmetry > &O1, XPED_CONST SiteOperator< Scalar, Symmetry > &O2, const qType &target)
 
static SiteOperator< Scalar, Symmetryouterprod (XPED_CONST SiteOperator< Scalar, Symmetry > &O1, XPED_CONST SiteOperator< Scalar, Symmetry > &O2)
 

Public Attributes

Tensor< Scalar, 1, 2, Symmetry, false > data
 
qType Q
 
std::unordered_map< std::string, std::pair< qType, std::size_t > > label_dict
 
std::string label_
 

Member Typedef Documentation

◆ MatrixType

template<typename Scalar_ , typename Symmetry_ >
using Xped::SiteOperator< Scalar_, Symmetry_ >::MatrixType = typename Tensor<Scalar, 1, 2, Symmetry, false>::MatrixType

◆ qType

template<typename Scalar_ , typename Symmetry_ >
using Xped::SiteOperator< Scalar_, Symmetry_ >::qType = typename Symmetry::qType

◆ Scalar

template<typename Scalar_ , typename Symmetry_ >
using Xped::SiteOperator< Scalar_, Symmetry_ >::Scalar = Scalar_

◆ Symmetry

template<typename Scalar_ , typename Symmetry_ >
using Xped::SiteOperator< Scalar_, Symmetry_ >::Symmetry = Symmetry_

Constructor & Destructor Documentation

◆ SiteOperator() [1/3]

template<typename Scalar_ , typename Symmetry_ >
Xped::SiteOperator< Scalar_, Symmetry_ >::SiteOperator ( )
default

◆ SiteOperator() [2/3]

template<typename Scalar , typename Symmetry >
Xped::SiteOperator< Scalar, Symmetry >::SiteOperator ( qType  Q,
const Qbasis< Symmetry, 1 > &  basis,
const mpi::XpedWorld world = mpi::getUniverse() 
)
Here is the call graph for this function:

◆ SiteOperator() [3/3]

template<typename Scalar , typename Symmetry >
Xped::SiteOperator< Scalar, Symmetry >::SiteOperator ( qType  Q,
const Qbasis< Symmetry, 1 > &  basis,
const std::unordered_map< std::string, std::pair< qType, std::size_t > > &  labels,
const mpi::XpedWorld world = mpi::getUniverse() 
)

Member Function Documentation

◆ adjoint()

template<typename Scalar , typename Symmetry >
SiteOperator< Scalar, Symmetry > Xped::SiteOperator< Scalar, Symmetry >::adjoint
Here is the caller graph for this function:

◆ label()

template<typename Scalar_ , typename Symmetry_ >
std::string & Xped::SiteOperator< Scalar_, Symmetry_ >::label ( )
inline
Here is the caller graph for this function:

◆ norm()

template<typename Scalar , typename Symmetry >
Scalar Xped::SiteOperator< Scalar, Symmetry >::norm
Here is the call graph for this function:

◆ operator()() [1/4]

template<typename Scalar_ , typename Symmetry_ >
auto Xped::SiteOperator< Scalar_, Symmetry_ >::operator() ( const qType bra,
const qType ket 
)
inline

◆ operator()() [2/4]

template<typename Scalar_ , typename Symmetry_ >
const auto Xped::SiteOperator< Scalar_, Symmetry_ >::operator() ( const qType bra,
const qType ket 
) const
inline
Here is the caller graph for this function:

◆ operator()() [3/4]

template<typename Scalar_ , typename Symmetry_ >
Scalar & Xped::SiteOperator< Scalar_, Symmetry_ >::operator() ( const std::string &  bra,
const std::string &  ket 
)
inline
Here is the call graph for this function:

◆ operator()() [4/4]

template<typename Scalar_ , typename Symmetry_ >
const Scalar & Xped::SiteOperator< Scalar_, Symmetry_ >::operator() ( const std::string &  bra,
const std::string &  ket 
) const
inline
Here is the call graph for this function:

◆ outerprod() [1/2]

template<typename Scalar_ , typename Symmetry_ >
static SiteOperator< Scalar, Symmetry > Xped::SiteOperator< Scalar_, Symmetry_ >::outerprod ( XPED_CONST SiteOperator< Scalar, Symmetry > &  O1,
XPED_CONST SiteOperator< Scalar, Symmetry > &  O2 
)
inlinestatic
Here is the call graph for this function:

◆ outerprod() [2/2]

template<typename Scalar , typename Symmetry >
SiteOperator< Scalar, Symmetry > Xped::SiteOperator< Scalar, Symmetry >::outerprod ( XPED_CONST SiteOperator< Scalar, Symmetry > &  O1,
XPED_CONST SiteOperator< Scalar, Symmetry > &  O2,
const qType target 
)
static
Here is the caller graph for this function:

◆ plain()

template<typename Scalar , typename Symmetry >
std::vector< typename SiteOperator< Scalar, Symmetry >::MatrixType > Xped::SiteOperator< Scalar, Symmetry >::plain
Here is the call graph for this function:

◆ print()

template<typename Scalar , typename Symmetry >
std::string Xped::SiteOperator< Scalar, Symmetry >::print
Here is the caller graph for this function:

◆ prod()

template<typename Scalar , typename Symmetry >
SiteOperator< Scalar, Symmetry > Xped::SiteOperator< Scalar, Symmetry >::prod ( XPED_CONST SiteOperator< Scalar, Symmetry > &  O1,
XPED_CONST SiteOperator< Scalar, Symmetry > &  O2,
const qType target 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setIdentity()

template<typename Scalar_ , typename Symmetry_ >
void Xped::SiteOperator< Scalar_, Symmetry_ >::setIdentity ( )
inline
Here is the caller graph for this function:

◆ setRandom()

template<typename Scalar_ , typename Symmetry_ >
void Xped::SiteOperator< Scalar_, Symmetry_ >::setRandom ( )
inline

◆ setZero()

template<typename Scalar_ , typename Symmetry_ >
void Xped::SiteOperator< Scalar_, Symmetry_ >::setZero ( )
inline
Here is the caller graph for this function:

Member Data Documentation

◆ data

template<typename Scalar_ , typename Symmetry_ >
Tensor<Scalar, 1, 2, Symmetry, false> Xped::SiteOperator< Scalar_, Symmetry_ >::data

◆ label_

template<typename Scalar_ , typename Symmetry_ >
std::string Xped::SiteOperator< Scalar_, Symmetry_ >::label_

◆ label_dict

template<typename Scalar_ , typename Symmetry_ >
std::unordered_map<std::string, std::pair<qType, std::size_t> > Xped::SiteOperator< Scalar_, Symmetry_ >::label_dict

◆ Q

template<typename Scalar_ , typename Symmetry_ >
qType Xped::SiteOperator< Scalar_, Symmetry_ >::Q

The documentation for this struct was generated from the following files: