Xped
Loading...
Searching...
No Matches
Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN > Struct Template Reference

#include <TwoSiteObservable.hpp>

Inheritance diagram for Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >:
Collaboration diagram for Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >:

Public Types

using ObsScalar = std::conditional_t< HERMITIAN, typename ScalarTraits< Scalar >::Real, typename ScalarTraits< Scalar >::Comp >
 

Public Member Functions

 TwoSiteObservable ()=default
 
 TwoSiteObservable (const Pattern &pat, Opts::Bond bond, const std::string &name_in="")
 
TwoSiteObservable< Scalar, Symmetry, HERMITIAN > shiftQN (const TMatrix< typename Symmetry::qType > &charges) const
 
void loadFromMatlab (const std::filesystem::path &p, const std::string &root_name, int qn_scale=1)
 
virtual std::string getResString (const std::string &offset) const override
 
virtual void toFile (HighFive::File &file, const std::string &root="/") const override
 
virtual void setDefaultObs ()
 
virtual void computeObs (XPED_CONST CTM< double, Symmetry, 2, false, Opts::CTMCheckpoint{}> &env)
 
virtual void computeObs (XPED_CONST CTM< std::complex< double >, Symmetry, 2, false, Opts::CTMCheckpoint{}> &env)
 
virtual void computeObs (XPED_CONST CTM< double, Symmetry, 1, false, Opts::CTMCheckpoint{}> &env)
 
virtual std::string getObsString (const std::string &) const
 
virtual void obsToFile (HighFive::File &, const std::string &="/") const
 
template<typename Ar >
void serialize (Ar &ar)
 
- Public Member Functions inherited from Xped::ObservableBase
 ObservableBase (const std::string &name_in="", bool MEASURE_IN=true)
 
virtual std::string file_name () const
 
virtual std::string format () const
 
virtual std::string getResString (const std::string &offset) const =0
 
virtual void toFile (HighFive::File &file, const std::string &) const =0
 
virtual ~ObservableBase ()=default
 

Public Attributes

TMatrix< Tensor< Scalar, 2, 2, Symmetry, false > > data_h
 
TMatrix< Tensor< Scalar, 2, 2, Symmetry, false > > data_v
 
TMatrix< Tensor< Scalar, 2, 2, Symmetry, false > > data_d1
 
TMatrix< Tensor< Scalar, 2, 2, Symmetry, false > > data_d2
 
TMatrix< ObsScalarobs_h
 
TMatrix< ObsScalarobs_v
 
TMatrix< ObsScalarobs_d1
 
TMatrix< ObsScalarobs_d2
 
Opts::Bond bond
 
- Public Attributes inherited from Xped::ObservableBase
std::string name = "Op"
 
bool MEASURE = true
 

Member Typedef Documentation

◆ ObsScalar

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
using Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::ObsScalar = std::conditional_t<HERMITIAN, typename ScalarTraits<Scalar>::Real, typename ScalarTraits<Scalar>::Comp>

Constructor & Destructor Documentation

◆ TwoSiteObservable() [1/2]

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::TwoSiteObservable ( )
default

◆ TwoSiteObservable() [2/2]

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::TwoSiteObservable ( const Pattern pat,
Opts::Bond  bond,
const std::string &  name_in = "" 
)
inline

Member Function Documentation

◆ computeObs() [1/3]

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::computeObs ( XPED_CONST CTM< double, Symmetry, 1, false, Opts::CTMCheckpoint{}> &  env)
inlinevirtual

◆ computeObs() [2/3]

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::computeObs ( XPED_CONST CTM< double, Symmetry, 2, false, Opts::CTMCheckpoint{}> &  env)
inlinevirtual

◆ computeObs() [3/3]

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::computeObs ( XPED_CONST CTM< std::complex< double >, Symmetry, 2, false, Opts::CTMCheckpoint{}> &  env)
inlinevirtual

◆ getObsString()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual std::string Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::getObsString ( const std::string &  ) const
inlinevirtual

◆ getResString()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual std::string Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::getResString ( const std::string &  offset) const
inlineoverridevirtual

Implements Xped::ObservableBase.

Here is the call graph for this function:

◆ loadFromMatlab()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::loadFromMatlab ( const std::filesystem::path &  p,
const std::string &  root_name,
int  qn_scale = 1 
)
inline
Here is the call graph for this function:

◆ obsToFile()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::obsToFile ( HighFive::File &  ,
const std::string &  = "/" 
) const
inlinevirtual

◆ serialize()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
template<typename Ar >
void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::serialize ( Ar &  ar)
inline

◆ setDefaultObs()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::setDefaultObs ( )
inlinevirtual

◆ shiftQN()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TwoSiteObservable< Scalar, Symmetry, HERMITIAN > Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::shiftQN ( const TMatrix< typename Symmetry::qType > &  charges) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ toFile()

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
virtual void Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::toFile ( HighFive::File &  file,
const std::string &  root = "/" 
) const
inlineoverridevirtual

Implements Xped::ObservableBase.

Member Data Documentation

◆ bond

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
Opts::Bond Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::bond

◆ data_d1

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<Tensor<Scalar, 2, 2, Symmetry, false> > Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::data_d1

◆ data_d2

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<Tensor<Scalar, 2, 2, Symmetry, false> > Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::data_d2

◆ data_h

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<Tensor<Scalar, 2, 2, Symmetry, false> > Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::data_h

◆ data_v

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<Tensor<Scalar, 2, 2, Symmetry, false> > Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::data_v

◆ obs_d1

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<ObsScalar> Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::obs_d1

◆ obs_d2

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<ObsScalar> Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::obs_d2

◆ obs_h

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<ObsScalar> Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::obs_h

◆ obs_v

template<typename Scalar , typename Symmetry , bool HERMITIAN = true>
TMatrix<ObsScalar> Xped::TwoSiteObservable< Scalar, Symmetry, HERMITIAN >::obs_v

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