SyTen

◆ exponentiate_and_multiply()

void syten::MPS::SwappableTEBD::exponentiate_and_multiply ( std::vector< HamiltonianSummand > const &  summands,
Lattice const &  lat,
SDef const &  time_step,
std::vector< Pair< Index, Index > > const &  fermions,
std::vector< MPS::Operator > &  evolution_operators 
)

Given a list of summands, exponentiates each and multiplies them up as specified into the evolution_operators vector.

References syten::abs(), syten::MPS::Lattice::add(), syten::MPS::apply_op_itrunc(), syten::MPS::apply_op_itrunc_fit(), syten::MPS::apply_op_orthogonalise_fit(), std::vector< T >::begin(), std::vector< T >::clear(), std::clock(), syten::MPS::SwappableTEBD::HamiltonianSummand::desc, std::string::empty(), std::vector< T >::end(), syten::MPS::SwappableTEBD::exponentiate_and_multiply(), syten::MPS::SwappableTEBD::HamiltonianSummand::i, syten::isnan(), syten::MPS::SwappableTEBD::HamiltonianSummand::j, syten::logGD(), syten::logGE(), syten::logGI(), syten::logGN(), syten::Truncation::maxBlocksize, syten::Truncation::maxStates, std::vector< T >::push_back(), std::vector< T >::reserve(), std::reverse_copy(), std::right(), syten::save(), std::scientific(), std::setprecision(), std::setw(), std::vector< T >::size(), std::stringstream::str(), syten::MPS::SwappableTEBD::HamiltonianSummand::summand, SYTEN_BPO_EXEC, SYTEN_BPO_INIT, SYTEN_COMPLEX_SCALAR, SYTEN_EXT_MPS, syten::MPS::SwappableTEBD::HamiltonianSummand::tag, syten::Truncation::threshold, std::tie(), syten::to_string_rd(), syten::to_string_real(), syten::MPS::State::truncateKeepNorm(), and syten::Truncation::weight.

Referenced by syten::MPS::SwappableTEBD::exponentiate_and_multiply().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: