A horizontal two-site environment consisting of six tensors surrounding those on two neighbouring sites. More...
#include <environment.h>
Public Member Functions | |
SDef | expectation_value (State const &psi, ATwoOp const &op, bool assume_norm_one=false) const |
Calculates the expectation value \( \langle \psi | \hat o |
\psi \rangle / \langle \psi | \psi \rangle \) requiring that op acts on the two focus sites of this . More... | |
Horz2CTM ()=default | |
Default ctor, does nothing. More... | |
Horz2CTM (FullCTM const &ctm, State const &psi, Coord const left, Coord const right, Truncation const &trunc) | |
Constructs the environment from the supplied full CTM ctm and the state psi on sites left and right . More... | |
Horz2CTM (Vec< Cached< Tensor< 3 > > > const &top_rung, Vec< Basis > const &top_rung_bases, Vec< Cached< Tensor< 3 > > > const &bot_rung, Vec< Basis > const &bot_rung_bases, Tensor< 2 > const &tlc, Tensor< 2 > const &trc, Tensor< 2 > const &blc, Tensor< 2 > const &brc, Tensor< 3 > const &left_boundary, Basis const &left_boundary_basis, Tensor< 3 > const &right_boundary, Basis const &right_boundary_basis, State const &psi, Coord const left, Coord const right) | |
Constructs the horizontal 2-site environment from a pre-supplied top and bottom rung corresponding directly to those rungs neighbouring the environment rung as well as the corresponding bases, CTM corners, state and coordinates. More... | |
SRDef | norm (State const &psi) const |
Calculates the norm of the state with respect to the current two focus sites, i.e. completes the double layer and returns the square root of the result. More... | |
SRDef | normSqd (State const &psi) const |
Calculates the squared norm of the state with respect to the current two focus sites, i.e. completes the double layer. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int in_version) |
Boost archiving. More... | |
Public Attributes | |
Cached< Tensor< 3 > > | bl |
left bottom/forward tensor More... | |
Basis | blb |
bottom left single-layer basis More... | |
Cached< Tensor< 3 > > | br |
right bottom/forward tensor More... | |
Basis | brb |
bottom right single-layer basis More... | |
Cached< Tensor< 3 > > | cl |
left corner More... | |
Basis | clb |
left corner single-layer basis More... | |
Cached< Tensor< 3 > > | cr |
right corner More... | |
Basis | crb |
right corner single-layer basis More... | |
Coord | lsite {0,0} |
left focus site More... | |
Coord | rsite {0,0} |
right focus site More... | |
Cached< Tensor< 3 > > | tl |
left top/backward tensor More... | |
Basis | tlb |
top left single-layer basis More... | |
Cached< Tensor< 3 > > | tr |
right top/backward tensor More... | |
Basis | trb |
top right single-layer basis More... | |
Static Public Attributes | |
static constexpr unsigned int | version = 1 |
current version, bump if you change one of the data structures here More... | |
Private Member Functions | |
void | setup (Vec< Cached< Tensor< 3 > > > const &top_rung, Vec< Basis > const &top_rung_bases, Vec< Cached< Tensor< 3 > > > const &bot_rung, Vec< Basis > const &bot_rung_bases, Tensor< 2 > const &tlc, Tensor< 2 > const &trc, Tensor< 2 > const &blc, Tensor< 2 > const &brc, Tensor< 3 > const &left_boundary, Basis const &left_boundary_basis, Tensor< 3 > const &right_boundary, Basis const &right_boundary_basis, State const &psi, Coord const left, Coord const right) |
Helper function to do the actual setup. More... | |
A horizontal two-site environment consisting of six tensors surrounding those on two neighbouring sites.
The remover tensor is contained in the backwards environment tensors if necessary, but must still be inserted if either of the two focus sites is the [0,0]
site.
Tensors are arranged as: