VMPS++
Loading...
Searching...
No Matches
DoubleHeisenbergObservables< Symmetry > Class Template Reference

Detailed Description

template<typename Symmetry>
class DoubleHeisenbergObservables< Symmetry >

Definition at line 11 of file DoubleHeisenbergObservables.h.

#include <DoubleHeisenbergObservables.h>

Public Member Functions

 DoubleHeisenbergObservables ()
 
 DoubleHeisenbergObservables (const size_t &L)
 
 DoubleHeisenbergObservables (const size_t &L, const vector< Param > &params, const std::map< string, std::any > &defaults)
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type S (size_t locx, size_t locy=0, double factor=1.) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type Sdag (size_t locx, size_t locy=0, double factor=std::sqrt(3.)) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type Stot (size_t locy=0, double factor=1.) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type Sdagtot (size_t locy=0, double factor=1.) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Symmetry >, vector< Mpo< Symmetry > > >::type SdagS (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type Scomp (SPINOP_LABEL Sa, size_t locx, size_t locy=0, double factor=1.) const
 
template<size_t order = 0ul, typename Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type ScompScomp (SPINOP_LABEL Sa1, SPINOP_LABEL Sa2, size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 

Protected Member Functions

Mpo< Symmetry > make_local (size_t locx, size_t locy, const OperatorType &Op, double factor=1., bool HERMITIAN=false) const
 
template<size_t order = 0ul>
Mpo< Symmetry > make_localSum (const vector< OperatorType > &Op, vector< double > factor, bool HERMITIAN) const
 
template<size_t order = 0ul>
Mpo< Symmetry > make_corr (size_t locx1, size_t locx2, size_t locy1, size_t locy2, const OperatorType &Op1, const OperatorType &Op2, qarray< Symmetry::Nq > Qtot, double factor, bool HERMITIAN) const
 

Protected Attributes

vector< SpinBase< Symmetry, 0ul > > B0
 
vector< SpinBase< Symmetry, 1ul > > B1
 

Private Types

typedef SiteOperatorQ< Symmetry, Eigen::MatrixXd > OperatorType
 

Member Typedef Documentation

◆ OperatorType

template<typename Symmetry >
typedef SiteOperatorQ<Symmetry,Eigen::MatrixXd> DoubleHeisenbergObservables< Symmetry >::OperatorType
private

Definition at line 13 of file DoubleHeisenbergObservables.h.

Constructor & Destructor Documentation

◆ DoubleHeisenbergObservables() [1/3]

template<typename Symmetry >
DoubleHeisenbergObservables< Symmetry >::DoubleHeisenbergObservables ( )
inline

Definition at line 18 of file DoubleHeisenbergObservables.h.

◆ DoubleHeisenbergObservables() [2/3]

template<typename Symmetry >
DoubleHeisenbergObservables< Symmetry >::DoubleHeisenbergObservables ( const size_t &  L)

Definition at line 74 of file DoubleHeisenbergObservables.h.

◆ DoubleHeisenbergObservables() [3/3]

template<typename Symmetry >
DoubleHeisenbergObservables< Symmetry >::DoubleHeisenbergObservables ( const size_t &  L,
const vector< Param > &  params,
const std::map< string, std::any > &  defaults 
)

Definition at line 82 of file DoubleHeisenbergObservables.h.

Member Function Documentation

◆ make_corr()

template<typename Symmetry >
template<size_t order>
Mpo< Symmetry > DoubleHeisenbergObservables< Symmetry >::make_corr ( size_t  locx1,
size_t  locx2,
size_t  locy1,
size_t  locy2,
const OperatorType Op1,
const OperatorType Op2,
qarray< Symmetry::Nq >  Qtot,
double  factor,
bool  HERMITIAN 
) const
protected

Definition at line 152 of file DoubleHeisenbergObservables.h.

◆ make_local()

template<typename Symmetry >
Mpo< Symmetry > DoubleHeisenbergObservables< Symmetry >::make_local ( size_t  locx,
size_t  locy,
const OperatorType Op,
double  factor = 1.,
bool  HERMITIAN = false 
) const
protected

Definition at line 98 of file DoubleHeisenbergObservables.h.

◆ make_localSum()

template<typename Symmetry >
template<size_t order>
Mpo< Symmetry > DoubleHeisenbergObservables< Symmetry >::make_localSum ( const vector< OperatorType > &  Op,
vector< double >  factor,
bool  HERMITIAN 
) const
protected

Definition at line 117 of file DoubleHeisenbergObservables.h.

◆ S()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::S ( size_t  locx,
size_t  locy = 0,
double  factor = 1. 
) const

Definition at line 197 of file DoubleHeisenbergObservables.h.

◆ Scomp()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::Scomp ( SPINOP_LABEL  Sa,
size_t  locx,
size_t  locy = 0,
double  factor = 1. 
) const

Definition at line 217 of file DoubleHeisenbergObservables.h.

◆ ScompScomp()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::ScompScomp ( SPINOP_LABEL  Sa1,
SPINOP_LABEL  Sa2,
size_t  locx1,
size_t  locx2,
size_t  locy1 = 0,
size_t  locy2 = 0,
double  fac = 1. 
) const

Definition at line 228 of file DoubleHeisenbergObservables.h.

◆ Sdag()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::Sdag ( size_t  locx,
size_t  locy = 0,
double  factor = std::sqrt(3.) 
) const

Definition at line 207 of file DoubleHeisenbergObservables.h.

◆ SdagS()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Symmetry >, vector< Mpo< Symmetry > > >::type DoubleHeisenbergObservables< Symmetry >::SdagS ( size_t  locx1,
size_t  locx2,
size_t  locy1 = 0,
size_t  locy2 = 0 
) const

Definition at line 242 of file DoubleHeisenbergObservables.h.

◆ Sdagtot()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::Sdagtot ( size_t  locy = 0,
double  factor = 1. 
) const

Definition at line 285 of file DoubleHeisenbergObservables.h.

◆ Stot()

template<typename Symmetry >
template<size_t order, typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Symmetry > >::type DoubleHeisenbergObservables< Symmetry >::Stot ( size_t  locy = 0,
double  factor = 1. 
) const

Definition at line 263 of file DoubleHeisenbergObservables.h.

Member Data Documentation

◆ B0

template<typename Symmetry >
vector<SpinBase<Symmetry,0ul> > DoubleHeisenbergObservables< Symmetry >::B0
protected

Definition at line 69 of file DoubleHeisenbergObservables.h.

◆ B1

template<typename Symmetry >
vector<SpinBase<Symmetry,1ul> > DoubleHeisenbergObservables< Symmetry >::B1
protected

Definition at line 70 of file DoubleHeisenbergObservables.h.


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