4#include "yas/serialize.hpp"
5#include "yas/std_types.hpp"
17template <
typename,
typename,
bool>
18struct OneSiteObservable;
19template <
typename,
typename,
bool>
20struct TwoSiteObservable;
22template <
typename,
typename, std::
size_t,
bool, Opts::CTMCheckpo
int>
37template <
typename Scalar_,
typename Symmetry_,
bool ENABLE_AD_ = false>
40 template <
typename Scalar__,
50 template <
typename Scalar__,
62 template <
typename,
typename, std::
size_t,
bool, Opts::CTMCheckpo
int>
65 template <
typename,
typename,
typename>
68 friend class iPEPS<Scalar_, Symmetry_, true>;
75 typedef typename Symmetry::qType
qType;
102 for(
auto i = 0ul; i < As.size(); ++i) { Adags[i] = As[i].adjoint().eval().template permute<0, 3, 4, 2, 0, 1>(); }
108 std::string
info()
const;
111 std::vector<Scalar>
data();
143 template <
typename Ar>
146 ar& YAS_OBJECT_NVP(
"iPEPS", (
"D",
D), (
"cell", cell_), (
"As", As), (
"Adags", Adags), (
"charges", charges_));
149 void loadFromMatlab(
const std::filesystem::path& p,
const std::string& root_name,
int qn_scale = 1);
159 std::tuple<std::size_t, std::size_t, double, double>
calc_Ds()
const;
179#ifndef XPED_COMPILED_LIB
Definition: Qbasis.hpp:39
Definition: Tensor.hpp:40
Definition: TimePropagator.hpp:25
Definition: iPEPSIterator.hpp:15
void updateAtensors()
Definition: iPEPS.cpp:341
friend 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)
void initWeightTensors()
Definition: iPEPS.cpp:323
Qbasis< Symmetry, 1 > braBasis(const int x, const int y, const Opts::LEG leg) const
Definition: iPEPS.cpp:310
const TMatrix< qType > & charges() const
Definition: iPEPS.hpp:141
ScalarTraits< Scalar >::Real RealScalar
Definition: iPEPS.hpp:74
const UnitCell & cell() const
Definition: iPEPS.hpp:139
Tensor< Scalar, 1, 1, Symmetry > Id_weight_h(int x, int y) const
Definition: iPEPS.cpp:353
Symmetry::qType qType
Definition: iPEPS.hpp:75
friend 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)
void debug_info() const
Definition: iPEPS.cpp:382
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > gradbegin()
Definition: iPEPS.hpp:128
void setRandom(std::size_t seed=0ul)
Definition: iPEPS.cpp:217
std::string info() const
Definition: iPEPS.cpp:365
void set_data(const Scalar *data, bool NORMALIZE=true)
Definition: iPEPS.cpp:250
bool checkConsistency() const
Definition: iPEPS.cpp:177
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > end()
Definition: iPEPS.hpp:122
void loadFromMatlab(const std::filesystem::path &p, const std::string &root_name, int qn_scale=1)
Definition: iPEPS.cpp:134
static constexpr bool ENABLE_AD
Definition: iPEPS.hpp:73
std::vector< Scalar > data()
Definition: iPEPS.cpp:241
std::tuple< std::size_t, std::size_t, double, double > calc_Ds() const
Definition: iPEPS.cpp:272
std::size_t D
Definition: iPEPS.hpp:161
Symmetry_ Symmetry
Definition: iPEPS.hpp:71
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > gradend()
Definition: iPEPS.hpp:133
Tensor< Scalar, 1, 1, Symmetry > Id_weight_v(int x, int y) const
Definition: iPEPS.cpp:359
void setZero()
Definition: iPEPS.cpp:204
void set_As(const std::vector< Tensor< Scalar, 2, 3, Symmetry, ENABLE_AD > > &As_in)
Definition: iPEPS.hpp:99
iPEPSIterator< Scalar, Symmetry, ENABLE_AD > begin()
Definition: iPEPS.hpp:117
void serialize(Ar &ar)
Definition: iPEPS.hpp:144
Scalar_ Scalar
Definition: iPEPS.hpp:72
Qbasis< Symmetry, 1 > ketBasis(const int x, const int y, const Opts::LEG leg) const
Definition: iPEPS.cpp:297
std::size_t plainSize() const
Definition: iPEPS.cpp:233
Definition: OneSiteObservable.hpp:21
Definition: CTMOpts.hpp:96
Definition: ScalarTraits.hpp:10
Definition: TMatrix.hpp:13
Definition: TwoSiteObservable.hpp:22
Definition: UnitCell.hpp:15