SyTen
full_update.h File Reference

Full update for iPEPSv2. More...

+ Include dependency graph for full_update.h:
+ This graph shows which files directly or indirectly include this file:

Classes

struct  syten::IPEPSv2::FullUpdateReturn
 Helper struct containing the return value of a (fast) full update step. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::IPEPSv2
 Namespace for the second-generation iPEPS code (iPEPSv2).
 

Functions

SRDef syten::IPEPSv2::fast_full_update (State &psi, ATwoOp const &op, UpdateStage const &conf, CornerTransferMatrix &ctm)
 Does a fast full update application of a single two-site gate and doing the necessary CTM growth steps afterwards. More...
 
std::tuple< FullUpdateReturn, CornerTransferMatrix > syten::IPEPSv2::fast_full_update (State &psi, ProdOp const &ops, UpdateStage const &conf)
 Does a fast full update step, first calculating the CTM, then doing the updates and finally returning the CTM. More...
 
std::tuple< FullUpdateReturn, CornerTransferMatrix > syten::IPEPSv2::fast_full_update (State &psi, ProdOp const &ops, UpdateStage const &conf, CornerTransferMatrix ctm)
 Does a fast full update step by reusing the supplied CTM, doing the updates and returning the CTM. More...
 
SRDef syten::IPEPSv2::full_update (State &psi, ATwoOp const &op, UpdateStage const &conf, CornerTransferMatrix const &ctm)
 Does a single full-update application of the two-site operator op onto the state psi using the configuration conf and CTM ctm. More...
 
FullUpdateReturn syten::IPEPSv2::full_update (State &psi, ProdOp const &ops, UpdateStage const &conf)
 Does a full update step of the state psi (in-place) applying the operator ops according to the configuration conf. More...
 
FullUpdateReturn syten::IPEPSv2::full_update (State &psi, ProdOp const &ops, UpdateStage const &conf, CornerTransferMatrix ctm)
 Does a full update step of the state psi (in-place) applying the operator ops according to the configuration conf. More...
 
std::tuple< SRDef, SBasisId > syten::IPEPSv2::full_update_apply_gate (STensor const &n, ATwoOp const &op, UpdateStage const &conf, STensor &left, STensor &right, SBasis const &lb, SBasis const &rb)
 Internal helper to apply the gate to the reduced site tensors during a full update step. More...
 
SRDef syten::IPEPSv2::full_update_cond_num (STensor const &in, Pair< SBasisId, SBasisId > upper_basis)
 Internal helper to calculate the condition number of a rank-4 tensor. More...
 
SRDef syten::IPEPSv2::full_update_cost_function (SDef const &ideal_ideal, STensor const &r_tensor, STensor const &s_tensor, STensor const &als_tensor, SBasisId external_basis, SBasisId central_basis)
 Internal helper calculating the cost of the full update given the squared norm of the ideal state, the norm tensor with two copies of the not-als reduced tensor, the norm tensor with the ideal tensor and one copy of the not-als reduced tensor, the als reduced tensor and the external and central basis of the als reduced tensor. More...
 
void syten::IPEPSv2::full_update_gauge_fix (STensor &norm_tensor, STensor &l3, STensor &r3, STensor &l4, STensor &r4, SBasis &llb, SBasis &lrb, SBasisId const &ulb, SBasisId const &urb, UpdateStage const &conf)
 Internal helper to gauge fix the norm tensor necessary during the full update. More...
 
SRDef syten::IPEPSv2::full_update_horizontal (State &psi, ATwoOp const &op, UpdateStage const &conf, CornerTransferMatrix const &ctm)
 A full-update step for a horizontal two-site gate. More...
 
std::tuple< SRDef, STensor > syten::IPEPSv2::full_update_pseudo_invert_r4 (STensor const &in, Pair< SBasisId, SBasisId > upper_basis, Pair< SBasisId, SBasisId > lower_basis)
 Internal helper to invert a rank-4 tensor. More...
 
void syten::IPEPSv2::full_update_split_evenly (STensor &left, STensor &right, SBasisId &central_basis)
 Internal helper to evenly split singular values between two reduced tensors. More...
 
SRDef syten::IPEPSv2::full_update_vertical (State &psi, ATwoOp const &op, UpdateStage const &conf, CornerTransferMatrix const &ctm)
 A full-update step for the vertical two-site gate. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, FullUpdateReturn const &ret)
 Output for a FullUpdateReturn struct. More...
 

Detailed Description

Full update for iPEPSv2.