SyTen
tensor_reshapes.cpp File Reference

Implementation for inc/ipeps/tensor_reshapes.h More...

+ Include dependency graph for tensor_reshapes.cpp:

Namespaces

 syten
 Syten namespace.
 
 syten::IPEPS
 IPEPS-related functionality and tools.
 

Functions

Tensor< 5 > syten::IPEPS::barTensor (Tensor< 5 > const &in)
 Given \( M \), builds \( \overline{M} \) which has complex-conjugated entries and the correct ii/oo nodes as well as swap gates inserted. More...
 
Tensor< 2 > syten::IPEPS::sldlmap (Basis const &first, Basis const &second)
 Given two bases a and b which are compatible and correspond to a single-layer leg, this tensor constructs a map between the two fused double-layer bases constructed from the single-layer bases. More...
 
IPEPS directional QRs to move physical indices.

All these operations result in an auxiliary rank-4 tensor and a rank-3 tensor sitting on the directional link. Tensor directions for the auxiliary tensor are l,f,r,b, the physical tensor has direction away,phys,to_tensor for left- and front-variants and to_tensor,phys,away for backwards and right-variants. For all versions, there is also an inv_* version which reconstructs the original IPEPS tensor.

Tensor< 5 > syten::IPEPS::inv_qr_to_back (Tensor< 4 > const &fq, Tensor< 3 > const &a)
 Recovers the original tensor from the result of qr_to_back(). More...
 
std::tuple< Tensor< 5 >, Tensor< 3 > > syten::IPEPS::inv_qr_to_back_r (Tensor< 5 > aux, Tensor< 3 > a, Truncation const &trunc)
 Reconstructs the lower state tensor at position [0,-1] and the remover on the backward link from the auxiliary tensor containing the remover physical index and the physical bond tensor constructed in qr_to_back_r. More...
 
Tensor< 5 > syten::IPEPS::inv_qr_to_front (Tensor< 4 > const &bq, Tensor< 3 > const &b)
 Recovers the original tensor from the result of qr_to_front(). More...
 
Tensor< 5 > syten::IPEPS::inv_qr_to_left (Tensor< 4 > const &rq, Tensor< 3 > const &b)
 Recovers the original tensor from the result of qr_to_left(). More...
 
Tensor< 5 > syten::IPEPS::inv_qr_to_right (Tensor< 4 > const &lq, Tensor< 3 > const &a)
 Recovers the original tensor from the result of qr_to_right(). More...
 
std::tuple< Tensor< 4 >, Tensor< 3 > > syten::IPEPS::qr_to_back (Tensor< 5 > in)
 Moves the physical leg onto the backward bond. More...
 
std::tuple< Tensor< 5 >, Tensor< 3 > > syten::IPEPS::qr_to_back_r (Tensor< 5 > in, Tensor< 3 > rem)
 Given an IPEPS state tensor at position [0,-1] and the remover tensor between sites [0,-1] and [0,0], folds the remover into the auxiliary state tensor and returns a rank-3 tensor living on the edge between the remover and [0,0] tensor with the physical leg from the [0,-1] tensor. More...
 
std::tuple< Tensor< 4 >, Tensor< 3 > > syten::IPEPS::qr_to_front (Tensor< 5 > in)
 Moves the physical leg onto the forward bond. More...
 
std::tuple< Tensor< 4 >, Tensor< 3 > > syten::IPEPS::qr_to_left (Tensor< 5 > in)
 Moves the physical leg onto the LHS bond. More...
 
std::tuple< Tensor< 4 >, Tensor< 3 > > syten::IPEPS::qr_to_right (Tensor< 5 > in)
 Moves the physical leg onto the RHS bond. More...
 

Detailed Description

Implementation for inc/ipeps/tensor_reshapes.h