Xped
Loading...
Searching...
No Matches
Xped::Heisenberg< Symmetry > Class Template Reference

#include <Heisenberg.hpp>

Inheritance diagram for Xped::Heisenberg< Symmetry >:
Collaboration diagram for Xped::Heisenberg< Symmetry >:

Public Member Functions

 Heisenberg (std::map< std::string, Param > &params_in, const Pattern &pat_in, Opts::Bond bond=Opts::Bond::H|Opts::Bond::V)
 
virtual void setDefaultObs () override
 
virtual std::string file_name () const override
 
virtual std::string format () const override
 
virtual void computeObs (XPED_CONST CTM< double, Symmetry, 2, false, Opts::CTMCheckpoint{}> &env) override
 
virtual void computeObs (XPED_CONST CTM< std::complex< double >, Symmetry, 2, false, Opts::CTMCheckpoint{}> &env) override
 
virtual void computeObs (XPED_CONST CTM< double, Symmetry, 1, false, Opts::CTMCheckpoint{}> &env) override
 
virtual std::string getObsString (const std::string &offset) const override
 
virtual void obsToFile (HighFive::File &file, const std::string &root="/") const override
 
- Public Member Functions inherited from Xped::TwoSiteObservable< double, Symmetry >
 TwoSiteObservable ()=default
 
 TwoSiteObservable (const Pattern &pat, Opts::Bond bond, const std::string &name_in="")
 
TwoSiteObservable< double, Symmetry, true > 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
 
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

std::map< std::string, Paramparams
 
Pattern pat
 
std::vector< std::string > used_params
 
SpinBase< Symmetry > B
 
std::vector< std::unique_ptr< ObservableBase > > obs
 
- Public Attributes inherited from Xped::TwoSiteObservable< double, Symmetry >
TMatrix< Tensor< double, 2, 2, Symmetry, false > > data_h
 
TMatrix< Tensor< double, 2, 2, Symmetry, false > > data_v
 
TMatrix< Tensor< double, 2, 2, Symmetry, false > > data_d1
 
TMatrix< Tensor< double, 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
 

Additional Inherited Members

- Public Types inherited from Xped::TwoSiteObservable< double, Symmetry >
using ObsScalar = std::conditional_t< true, typename ScalarTraits< double >::Real, typename ScalarTraits< double >::Comp >
 

Constructor & Destructor Documentation

◆ Heisenberg()

template<typename Symmetry >
Xped::Heisenberg< Symmetry >::Heisenberg ( std::map< std::string, Param > &  params_in,
const Pattern pat_in,
Opts::Bond  bond = Opts::Bond::H | Opts::Bond::V 
)
inline
Here is the call graph for this function:

Member Function Documentation

◆ computeObs() [1/3]

template<typename Symmetry >
virtual void Xped::Heisenberg< Symmetry >::computeObs ( XPED_CONST CTM< double, Symmetry, 1, false, Opts::CTMCheckpoint{}> &  env)
inlineoverridevirtual

◆ computeObs() [2/3]

template<typename Symmetry >
virtual void Xped::Heisenberg< Symmetry >::computeObs ( XPED_CONST CTM< double, Symmetry, 2, false, Opts::CTMCheckpoint{}> &  env)
inlineoverridevirtual

◆ computeObs() [3/3]

template<typename Symmetry >
virtual void Xped::Heisenberg< Symmetry >::computeObs ( XPED_CONST CTM< std::complex< double >, Symmetry, 2, false, Opts::CTMCheckpoint{}> &  env)
inlineoverridevirtual

◆ file_name()

template<typename Symmetry >
virtual std::string Xped::Heisenberg< Symmetry >::file_name ( ) const
inlineoverridevirtual

Reimplemented from Xped::ObservableBase.

Here is the call graph for this function:

◆ format()

template<typename Symmetry >
virtual std::string Xped::Heisenberg< Symmetry >::format ( ) const
inlineoverridevirtual

Reimplemented from Xped::ObservableBase.

Here is the call graph for this function:

◆ getObsString()

template<typename Symmetry >
virtual std::string Xped::Heisenberg< Symmetry >::getObsString ( const std::string &  offset) const
inlineoverridevirtual

◆ obsToFile()

template<typename Symmetry >
virtual void Xped::Heisenberg< Symmetry >::obsToFile ( HighFive::File &  file,
const std::string &  root = "/" 
) const
inlineoverridevirtual

◆ setDefaultObs()

template<typename Symmetry >
virtual void Xped::Heisenberg< Symmetry >::setDefaultObs ( )
inlineoverridevirtual

Reimplemented from Xped::TwoSiteObservable< double, Symmetry >.

Here is the call graph for this function:

Member Data Documentation

◆ B

template<typename Symmetry >
SpinBase<Symmetry> Xped::Heisenberg< Symmetry >::B

◆ obs

template<typename Symmetry >
std::vector<std::unique_ptr<ObservableBase> > Xped::Heisenberg< Symmetry >::obs

◆ params

template<typename Symmetry >
std::map<std::string, Param> Xped::Heisenberg< Symmetry >::params

◆ pat

template<typename Symmetry >
Pattern Xped::Heisenberg< Symmetry >::pat

◆ used_params

template<typename Symmetry >
std::vector<std::string> Xped::Heisenberg< Symmetry >::used_params

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