@@ -44,8 +44,8 @@ function ctmrg_iteration(network, env::CTMRGEnv, alg::SimultaneousCTMRG)
4444 enlarged_corners′ = similar (coordinates, T_corners)
4545 enlarged_corners:: typeof (enlarged_corners′) =
4646 dtmap!! (enlarged_corners′, eachcoordinate (network, 1 : 4 )) do idx
47- return TensorMap (EnlargedCorner (network, env, idx))
48- end # expand environment
47+ return TensorMap (EnlargedCorner (network, env, idx))
48+ end # expand environment
4949 projectors, info = simultaneous_projectors (enlarged_corners, env, alg. projector_alg) # compute projectors on all coordinates
5050 env′ = renormalize_simultaneously (enlarged_corners, projectors, network, env) # renormalize enlarged corners
5151 return env′, info
@@ -90,14 +90,11 @@ function simultaneous_projectors(
9090 proj_and_info:: typeof (proj_and_info′) =
9191 dtmap!! (proj_and_info′, coordinates) do coordinate
9292 return simultaneous_projectors (coordinate, enlarged_corners, env, alg)
93- end
93+ end
9494 return _split_proj_and_info (proj_and_info)
9595end
9696function simultaneous_projectors (
97- coordinate,
98- enlarged_corners:: Array{E,3} ,
99- env,
100- alg:: HalfInfiniteProjector ,
97+ coordinate, enlarged_corners:: Array{E,3} , env, alg:: HalfInfiniteProjector
10198) where {E}
10299 coordinate′ = _next_coordinate (coordinate, size (env)[2 : 3 ]. .. )
103100 trscheme = truncation_scheme (alg, env. edges[coordinate[1 ], coordinate′[2 : 3 ]. .. ])
@@ -106,10 +103,7 @@ function simultaneous_projectors(
106103 return compute_projector (ec, coordinate, alg′)
107104end
108105function simultaneous_projectors (
109- coordinate,
110- enlarged_corners:: Array{E,3} ,
111- env,
112- alg:: FullInfiniteProjector ,
106+ coordinate, enlarged_corners:: Array{E,3} , env, alg:: FullInfiniteProjector
113107) where {E}
114108 coordinate′ = _next_coordinate (coordinate, size (env)[2 : 3 ]. .. )
115109 trscheme = truncation_scheme (alg, env. edges[coordinate[1 ], coordinate′[2 : 3 ]. .. ])
@@ -139,21 +133,29 @@ function renormalize_simultaneously(enlarged_corners, projectors, network, env)
139133 corners_edges′ = similar (coordinates, T_CE)
140134 corners_edges:: typeof (corners_edges′) =
141135 dtmap!! (corners_edges′, coordinates) do (dir, r, c)
142- if dir == NORTH
143- corner = renormalize_northwest_corner ((r, c), enlarged_corners, P_left, P_right)
144- edge = renormalize_north_edge ((r, c), env, P_left, P_right, network)
145- elseif dir == EAST
146- corner = renormalize_northeast_corner ((r, c), enlarged_corners, P_left, P_right)
147- edge = renormalize_east_edge ((r, c), env, P_left, P_right, network)
148- elseif dir == SOUTH
149- corner = renormalize_southeast_corner ((r, c), enlarged_corners, P_left, P_right)
150- edge = renormalize_south_edge ((r, c), env, P_left, P_right, network)
151- elseif dir == WEST
152- corner = renormalize_southwest_corner ((r, c), enlarged_corners, P_left, P_right)
153- edge = renormalize_west_edge ((r, c), env, P_left, P_right, network)
136+ if dir == NORTH
137+ corner = renormalize_northwest_corner (
138+ (r, c), enlarged_corners, P_left, P_right
139+ )
140+ edge = renormalize_north_edge ((r, c), env, P_left, P_right, network)
141+ elseif dir == EAST
142+ corner = renormalize_northeast_corner (
143+ (r, c), enlarged_corners, P_left, P_right
144+ )
145+ edge = renormalize_east_edge ((r, c), env, P_left, P_right, network)
146+ elseif dir == SOUTH
147+ corner = renormalize_southeast_corner (
148+ (r, c), enlarged_corners, P_left, P_right
149+ )
150+ edge = renormalize_south_edge ((r, c), env, P_left, P_right, network)
151+ elseif dir == WEST
152+ corner = renormalize_southwest_corner (
153+ (r, c), enlarged_corners, P_left, P_right
154+ )
155+ edge = renormalize_west_edge ((r, c), env, P_left, P_right, network)
156+ end
157+ return corner / norm (corner), edge / norm (edge)
154158 end
155- return corner / norm (corner), edge / norm (edge)
156- end
157159
158160 return CTMRGEnv (map (first, corners_edges), map (last, corners_edges))
159161end
0 commit comments