TEBD implementation which can swap sites to allow for long-range interactions. More...
#include "inc/util/bpo_helper.h"
#include "inc/util/filename_extensions.h"
#include "inc/tensor/tensor_exponential.h"
#include "inc/tensor/tensor_gen.h"
#include "inc/tensor/tensor_svd.h"
#include "inc/mps/switching.h"
#include "inc/mps/state.h"
#include "inc/mps/operator.h"
#include "inc/mps/lattice.h"
#include "inc/mps/parse_operator.h"
#include "inc/mps/varapplyortho_mps.h"
#include "inc/mps/apply_itrunc_fit.h"
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... | |
TEBD implementation which can swap sites to allow for long-range interactions.