10#include "utils/vec_clone.hpp"
13#include <initializer_list>
22 class DMRG_impl:
public intrusive_ptr_base<DMRG_impl>{
31 std::vector<MPS> ortho_mps;
39 std::vector<UniTensor> LR;
40 std::vector<std::vector<UniTensor> >hLRs;
60 boost::intrusive_ptr<DMRG_impl> _impl;
61 DMRG(
MPO mpo,
MPS mps, std::vector<MPS> ortho_mps={},
const double &weight=30): _impl(
new DMRG_impl()){
65 this->_impl->mpo = mpo;
66 this->_impl->mps = mps;
69 this->_impl->ortho_mps = ortho_mps;
70 this->_impl->weight = weight;
93 return this->_impl->sweep(verbose,maxit,krydim);
98 return this->_impl->sweepv2(verbose,maxit,krydim);
Definition Scalar.hpp:1751
Scalar sweepv2(const bool &verbose=false, const cytnx_int64 &maxit=4000, const cytnx_int64 &krydim=4)
Definition DMRG.hpp:97
DMRG & initialize()
Definition DMRG.hpp:86
DMRG & operator=(const DMRG &rhs)
Definition DMRG.hpp:80
Scalar sweep(const bool &verbose=false, const cytnx_int64 &maxit=4000, const cytnx_int64 &krydim=4)
Definition DMRG.hpp:92
Definition Accessor.hpp:12
int64_t cytnx_int64
Definition Type.hpp:25