1#ifndef XPED_CTM_SOLVER_HPP_
2#define XPED_CTM_SOLVER_HPP_
6#include "yas/serialize.hpp"
7#include "yas/std_types.hpp"
16template <
typename Scalar_,
typename Symmetry_, Opts::CTMCheckpoint CPOpts = Opts::CTMCheckpoint{}, std::size_t TRank = 2>
22 template <
typename Sym>
38 template <
typename HamScalar,
bool AD>
45 template <
typename Ar>
48 ar& YAS_OBJECT_NVP(
"CTMSolver", (
"solver", Jack), (
"opts",
opts), (
"REINIT_ENV", REINIT_ENV), (
"grad_norm", grad_norm));
55 bool REINIT_ENV =
true;
61#ifndef XPED_COMPILED_LIB
Definition: CTMSolver.hpp:18
XPED_CONST CTM< Scalar, Symmetry, TRank, false > & getCTM() XPED_CONST
Definition: CTMSolver.hpp:41
Symmetry_ Symmetry
Definition: CTMSolver.hpp:21
void setCTM(XPED_CONST CTM< Scalar, Symmetry, TRank, false > &in)
Definition: CTMSolver.hpp:43
ScalarTraits< Scalar >::Real solve(std::shared_ptr< iPEPS< Scalar, Symmetry > > Psi, Scalar *gradient, Hamiltonian< Symmetry > &H)
Definition: CTMSolver.cpp:12
Opts::CTM opts
Definition: CTMSolver.hpp:51
void serialize(Ar &ar)
Definition: CTMSolver.hpp:46
CTMSolver(Opts::CTM opts)
Definition: CTMSolver.hpp:27
Scalar_ Scalar
Definition: CTMSolver.hpp:20
void loadFromMatlab(const std::filesystem::path &p, const std::string &root_name, int qn_scale=1)
Definition: CTM.cpp:199
Definition: CTMOpts.hpp:28
int qn_scale
Definition: CTMOpts.hpp:44
CTM_INIT init
Definition: CTMOpts.hpp:39
std::size_t chi
Definition: CTMOpts.hpp:29
std::string load
Definition: CTMOpts.hpp:43
Definition: ScalarTraits.hpp:10
Definition: TwoSiteObservable.hpp:22