Xped
|
#include <iPEPS.hpp>
Public Types | |
typedef Symmetry_ | Symmetry |
typedef Scalar_ | Scalar |
typedef ScalarTraits< Scalar >::Real | RealScalar |
typedef Symmetry::qType | qType |
Public Member Functions | |
iPEPS ()=default | |
iPEPS (const UnitCell &cell, std::size_t D, const Qbasis< Symmetry, 1 > &auxBasis, const Qbasis< Symmetry, 1 > &physBasis) | |
iPEPS (const UnitCell &cell, std::size_t D, const TMatrix< Qbasis< Symmetry, 1 > > &leftBasis, const TMatrix< Qbasis< Symmetry, 1 > > &topBasis, const TMatrix< Qbasis< Symmetry, 1 > > &physBasis) | |
iPEPS (const UnitCell &cell, std::size_t D, const TMatrix< Qbasis< Symmetry, 1 > > &leftBasis, const TMatrix< Qbasis< Symmetry, 1 > > &topBasis, const TMatrix< Qbasis< Symmetry, 1 > > &physBasis, const TMatrix< qType > &charges) | |
iPEPS (const iPEPS< Scalar, Symmetry, false > &other) | |
void | setRandom (std::size_t seed=0ul) |
void | setZero () |
void | set_As (const std::vector< Tensor< Scalar, 2, 3, Symmetry, ENABLE_AD > > &As_in) |
Qbasis< Symmetry, 1 > | ketBasis (const int x, const int y, const Opts::LEG leg) const |
Qbasis< Symmetry, 1 > | braBasis (const int x, const int y, const Opts::LEG leg) const |
std::string | info () const |
void | debug_info () const |
std::vector< Scalar > | data () |
void | set_data (const Scalar *data, bool NORMALIZE=true) |
std::size_t | plainSize () const |
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > | begin () |
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > | end () |
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > | gradbegin () |
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > | gradend () |
const UnitCell & | cell () const |
const TMatrix< qType > & | charges () const |
template<typename Ar > | |
void | serialize (Ar &ar) |
void | loadFromMatlab (const std::filesystem::path &p, const std::string &root_name, int qn_scale=1) |
bool | checkConsistency () const |
void | initWeightTensors () |
void | updateAtensors () |
Tensor< Scalar, 1, 1, Symmetry > | Id_weight_h (int x, int y) const |
Tensor< Scalar, 1, 1, Symmetry > | Id_weight_v (int x, int y) const |
std::tuple< std::size_t, std::size_t, double, double > | calc_Ds () const |
Public Attributes | |
std::size_t | D |
Static Public Attributes | |
static constexpr bool | ENABLE_AD = ENABLE_AD_ |
Friends | |
template<typename , typename , std::size_t , bool , Opts::CTMCheckpoint > | |
class | CTM |
template<typename , typename , typename > | |
class | TimePropagator |
class | iPEPS< Scalar_, Symmetry_, true > |
template<typename Scalar__ , typename Symmetry__ , std::size_t TRank__, bool ENABLE_AD__, Opts::CTMCheckpoint CPOpts__, typename OpScalar__ , bool HERMITIAN__> | |
TMatrix< std::conditional_t< ENABLE_AD__, stan::math::var, typename OneSiteObservable< OpScalar__, Symmetry__, HERMITIAN__ >::ObsScalar > > | avg (XPED_CONST CTM< Scalar__, Symmetry__, TRank__, ENABLE_AD__, CPOpts__ > &env, OneSiteObservable< OpScalar__, Symmetry__, HERMITIAN__ > &op) |
template<typename Scalar__ , typename Symmetry__ , std::size_t TRank__, bool ENABLE_AD__, Opts::CTMCheckpoint CPOpts__, typename OpScalar__ , bool HERMITIAN__> | |
std::array< TMatrix< std::conditional_t< ENABLE_AD__, stan::math::var, typename TwoSiteObservable< OpScalar__, Symmetry__, HERMITIAN__ >::ObsScalar > >, 4 > | avg (XPED_CONST CTM< Scalar__, Symmetry__, TRank__, ENABLE_AD__, CPOpts__ > &env, TwoSiteObservable< OpScalar__, Symmetry__, HERMITIAN__ > &op) |
p(4) u(1) / | / | ^ v / â–¡â–¡â–¡â–¡â–¡/â–¡ l(0) —> â–¡ / â–¡ -->- r(2) â–¡â–¡â–¡â–¡â–¡â–¡â–¡ | | v d(3)
typedef Symmetry::qType Xped::iPEPS< Scalar_, Symmetry_, ENABLE_AD_ >::qType |
typedef ScalarTraits<Scalar>::Real Xped::iPEPS< Scalar_, Symmetry_, ENABLE_AD_ >::RealScalar |
typedef Scalar_ Xped::iPEPS< Scalar_, Symmetry_, ENABLE_AD_ >::Scalar |
typedef Symmetry_ Xped::iPEPS< Scalar_, Symmetry_, ENABLE_AD_ >::Symmetry |
|
default |
Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::iPEPS | ( | const UnitCell & | cell, |
std::size_t | D, | ||
const Qbasis< Symmetry, 1 > & | auxBasis, | ||
const Qbasis< Symmetry, 1 > & | physBasis | ||
) |
Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::iPEPS | ( | const UnitCell & | cell, |
std::size_t | D, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | leftBasis, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | topBasis, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | physBasis | ||
) |
Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::iPEPS | ( | const UnitCell & | cell, |
std::size_t | D, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | leftBasis, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | topBasis, | ||
const TMatrix< Qbasis< Symmetry, 1 > > & | physBasis, | ||
const TMatrix< qType > & | charges | ||
) |
|
inline |
Qbasis< Symmetry, 1 > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::braBasis | ( | const int | x, |
const int | y, | ||
const Opts::LEG | leg | ||
) | const |
std::tuple< std::size_t, std::size_t, double, double > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::calc_Ds |
|
inline |
|
inline |
bool Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::checkConsistency |
std::vector< Scalar > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::data |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::debug_info |
|
inline |
|
inline |
|
inline |
Tensor< Scalar, 1, 1, Symmetry > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::Id_weight_h | ( | int | x, |
int | y | ||
) | const |
Tensor< Scalar, 1, 1, Symmetry > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::Id_weight_v | ( | int | x, |
int | y | ||
) | const |
std::string Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::info |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::initWeightTensors |
Qbasis< Symmetry, 1 > Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::ketBasis | ( | const int | x, |
const int | y, | ||
const Opts::LEG | leg | ||
) | const |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::loadFromMatlab | ( | const std::filesystem::path & | p, |
const std::string & | root_name, | ||
int | qn_scale = 1 |
||
) |
std::size_t Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::plainSize |
|
inline |
|
inline |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::set_data | ( | const Scalar * | data, |
bool | NORMALIZE = true |
||
) |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::setRandom | ( | std::size_t | seed = 0ul | ) |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::setZero |
void Xped::iPEPS< Scalar, Symmetry, ENABLE_AD >::updateAtensors |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
std::size_t Xped::iPEPS< Scalar_, Symmetry_, ENABLE_AD_ >::D |
|
staticconstexpr |