|
122 | 122 | @info "3-site simple update energy = $e_site2" |
123 | 123 | @test e_site ≈ e_site2 atol = 5e-4 |
124 | 124 | end |
125 | | - |
126 | | -@testset "Hubbard model with 3-site SU with SiteDependentTruncation" begin |
127 | | - Nr, Nc = 2, 3 |
128 | | - Random.seed!(100) |
129 | | - # with U(1) spin rotation symmetry |
130 | | - Pspace = hubbard_space(Trivial, U1Irrep) |
131 | | - Vspace = Vect[FermionParity ⊠ U1Irrep]((0, 0) => 2, (1, 1//2) => 1, (1, -1//2) => 1) |
132 | | - wpeps = InfiniteWeightPEPS(rand, Float64, Pspace, Vspace; unitcell=(Nr, Nc)) |
133 | | - ham = real( |
134 | | - hubbard_model(ComplexF64, Trivial, U1Irrep, InfiniteSquare(Nr, Nc); t=1.0, U=8.0) |
135 | | - ) |
136 | | - # continue with 3-site simple update with SiteDependentTruncation and check the spaces. |
137 | | - trunc_low = truncerr(1e-10) & truncdim(2) |
138 | | - trunc_high = truncerr(1e-10) & truncdim(3) |
139 | | - trscheme = SiteDependentTruncation( |
140 | | - reshape( |
141 | | - [ |
142 | | - trunc_low; trunc_high;; trunc_low; trunc_high;;; |
143 | | - trunc_low; trunc_low;; trunc_low; trunc_low;;; |
144 | | - trunc_high; trunc_low;; trunc_high; trunc_low |
145 | | - ], |
146 | | - 2, |
147 | | - 2, |
148 | | - 3, |
149 | | - ), |
150 | | - ) |
151 | | - dts = [1e-2, 5e-3] |
152 | | - tols = [1e-8, 1e-8] |
153 | | - maxiter = 10000 |
154 | | - for (n, (dt, tol)) in enumerate(zip(dts, tols)) |
155 | | - alg = SimpleUpdate(dt, tol, maxiter, trscheme) |
156 | | - result = simpleupdate(wpeps, ham, alg; check_interval=1000, force_3site=true) |
157 | | - wpeps = result[1] |
158 | | - end |
159 | | - @test dim.(domain(wpeps.vertices[1, 1])) == [3, 2, 3, 3] |
160 | | - @test dim.(domain(wpeps.vertices[1, 2])) == [2, 2, 2, 2] |
161 | | - @test dim.(domain(wpeps.vertices[1, 3])) == [2, 3, 2, 2] |
162 | | - @test dim.(domain(wpeps.vertices[2, 1])) == [3, 2, 3, 3] |
163 | | - @test dim.(domain(wpeps.vertices[2, 2])) == [2, 2, 2, 2] |
164 | | - @test dim.(domain(wpeps.vertices[2, 3])) == [2, 3, 2, 2] |
165 | | -end |
0 commit comments