@@ -86,10 +86,7 @@ function sequential_projectors(col::Int, network, env::CTMRGEnv, alg::ProjectorA
8686 )
8787 proj_and_info = similar (coordinates, T_dst)
8888 proj_and_info′:: typeof (proj_and_info) = dtmap!! (proj_and_info, coordinates) do (r, c)
89- trunc = truncation_strategy (alg, env. edges[WEST, _prev (r, size (env, 2 )), c])
90- proj, info = sequential_projectors (
91- (WEST, r, c), network, env, @set (alg. trunc = trunc)
92- )
89+ proj, info = sequential_projectors ((WEST, r, c), network, env, alg)
9390 return proj, info
9491 end
9592 return _split_proj_and_info (proj_and_info′)
@@ -99,9 +96,11 @@ function sequential_projectors(
9996 )
10097 _, r, c = coordinate
10198 r′ = _prev (r, size (env, 2 ))
99+ trunc = truncation_strategy (alg, env. edges[WEST, r′, c])
100+ alg′ = @set alg. trunc = trunc
102101 Q1 = TensorMap (EnlargedCorner (network, env, (SOUTHWEST, r, c)))
103102 Q2 = TensorMap (EnlargedCorner (network, env, (NORTHWEST, r′, c)))
104- return compute_projector ((Q1, Q2), coordinate, alg)
103+ return compute_projector ((Q1, Q2), coordinate, alg′ )
105104end
106105function sequential_projectors (
107106 coordinate:: NTuple{3, Int} , network, env:: CTMRGEnv , alg:: FullInfiniteProjector
@@ -110,13 +109,15 @@ function sequential_projectors(
110109 coordinate_nw = _next_coordinate (coordinate, rowsize, colsize)
111110 coordinate_ne = _next_coordinate (coordinate_nw, rowsize, colsize)
112111 coordinate_se = _next_coordinate (coordinate_ne, rowsize, colsize)
112+ trunc = truncation_strategy (alg, env. edges[WEST, coordinate_nw[2 : 3 ]. .. ])
113+ alg′ = @set alg. trunc = trunc
113114 ec = (
114115 TensorMap (EnlargedCorner (network, env, coordinate_se)),
115116 TensorMap (EnlargedCorner (network, env, coordinate)),
116117 TensorMap (EnlargedCorner (network, env, coordinate_nw)),
117118 TensorMap (EnlargedCorner (network, env, coordinate_ne)),
118119 )
119- return compute_projector (ec, coordinate, alg)
120+ return compute_projector (ec, coordinate, alg′ )
120121end
121122
122123"""
0 commit comments