SyTen
syten-tebd-swappable.cpp File Reference

TEBD implementation which can swap sites to allow for long-range interactions. More...

+ Include dependency graph for syten-tebd-swappable.cpp:

Classes

struct  syten::MPS::SwappableTEBD::EvolutionPair
 A pair of MPO components representing an exponentiated hermitian MPO. More...
 
struct  syten::MPS::SwappableTEBD::HamiltonianSummand
 A single Hermitian part of a MPO. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::MPS
 The namespace containing all MPS-related tools, classes and objects.
 

Functions

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. More...
 
Operator syten::MPS::SwappableTEBD::exponentiate_factor_mpo (Index const i, Index const j, Operator op, SDef c, Lattice const &lat, std::vector< Pair< Index, Index > > const &fermions)
 Calculates exp(x*c*h) assuming that h only acts nontrivially on sites i and j and 'x' is '-i' for complex-valued compilations and '-1' for real-valued computations. More...
 
EvolutionPair syten::MPS::SwappableTEBD::exponentiate_mpo_tensors (Tensor< 4 > const &left, Tensor< 4 > const &right, SDef const &c, Basis const &full_left_basis, Basis const &full_right_basis)
 Exponentiates two MPO tensors. More...
 
Tensor< 6 > syten::MPS::SwappableTEBD::exponentiate_rank6_tensor (Tensor< 6 > const &t6, SDef const &c, Basis const &full_left_basis, Basis const &full_right_basis)
 Exponentiates a rank-6 tensor with legs: | 5 6 | v v | 1 <-[ ]<- 2 | v v | 3 4. More...
 
template<typename Iter >
Operator syten::MPS::SwappableTEBD::multiply_factors (Iter begin, Iter end)
 Multiplies operators in the range [begin, end) together using a logarithmic recursive scheme. More...
 
std::vector< HamiltonianSummand > syten::MPS::SwappableTEBD::parse_terms_file (std::string const &file, Lattice const &lat)
 Parses a file containing lines of the form A i j <MPO exp> where A is an arbitrary single-character tag, i and j are site indices and the MPO expression only acts nontrivially on those site indices. More...
 
EvolutionPair syten::MPS::SwappableTEBD::split_rank6_into_mpos (Tensor< 6 > const &in)
 Splits a rank-6 tensor with legs: | 5 6 | v v | 1 <-[ ]<- 2 | v v | 3 4. More...
 

Detailed Description

TEBD implementation which can swap sites to allow for long-range interactions.