182 typedef boost::shared_ptr<generate_mpo::CorrMakerBase<Matrix, SymmGroup> > maker_ptr;
184 for (std::vector<std::size_t>::const_iterator it = positions_first.begin(); it != positions_first.end(); ++it) {
185 if (*it >= lattice.
size()-(ops.size()-1))
186 throw std::runtime_error(
"cannot measure correlation with first operator at p="+boost::lexical_cast<std::string>(*it)+
".");
188 maquis::cout <<
" site " << *it << std::endl;
198 std::vector<typename MPS<Matrix, SymmGroup>::scalar_type> dct;
205 for (
int i=0; i<dct.size(); ++i)
213 std::copy(dct.begin(), dct.end(), std::back_inserter(this->
vector_results));
215 std::vector<std::vector<std::size_t> > num_labels = dcorr->numeric_labels();
217 std::copy(lbt.begin(), lbt.end(), std::back_inserter(this->
labels));
std::vector< std::string > labels
std::vector< typename MPS< Matrix, SymmGroup >::scalar_type > multi_overlap(MPS< Matrix, SymmGroup > const &mps1, MPS< Matrix, SymmGroup > const &mps2)
std::vector< typename MPS< Matrix, SymmGroup >::scalar_type > multi_expval(MPS< Matrix, SymmGroup > const &mps, MPO< Matrix, SymmGroup > const &mpo)
std::vector< std::string > label_strings(const Lattice &lat, const std::vector< std::vector< std::size_t > > &labels)
std::vector< typename MPS< Matrix, SymmGroup >::scalar_type > vector_results
MPSTensor< Matrix, SymmGroup >::scalar_type scalar_type
MPS< Matrix, SymmGroup > mpo_to_smps(MPO< Matrix, SymmGroup > const &mpo, Index< SymmGroup > const &phys_i)
std::vector< std::vector< std::size_t > > resort_labels(const std::vector< std::vector< std::size_t > > &labels, std::vector< size_t > const &order, bool is_nn=false)
Index< SymmGroup > phys_psi
MPS< Matrix, SymmGroup >::scalar_type dm_trace(MPS< Matrix, SymmGroup > const &mps, Index< SymmGroup > const &phys_psi)