Skip to content

Commit c392794

Browse files
committed
Rerender C4v example
1 parent 1ba3ad6 commit c392794

File tree

4 files changed

+132
-132
lines changed

4 files changed

+132
-132
lines changed

docs/src/examples/c4v_ctmrg/index.md

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ end;
6565
## Initializing C₄ᵥ-invariant PEPSs and environments
6666

6767
In order to use $C_{4v}$-symmetric algorithms, it is of course crucial to use initial guesses
68-
that are exhibit $C_{4v}$ symmetry. First, we create a real-valued random PEPS that we explicitly
68+
with $C_{4v}$ symmetry. First, we create a real-valued random PEPS that we explicitly
6969
symmetrize using [`symmetrize!`](@ref) and the $C_{4v}$ symmetry [`RotateReflect`](@ref):
7070

7171
````julia
@@ -87,23 +87,23 @@ env_random_c4v = initialize_random_c4v_env(peps₀, ComplexSpace(χ));
8787
````
8888

8989
Then contracting the PEPS using $C_{4v}$ CTMRG is as easy as just calling [`leading_boundary`](@ref)
90-
but passing the invariant initial PEPS and environment as well as the `alg = :c4v` keyword argument:
90+
but passing the initial PEPS and environment as well as the `alg = :c4v` keyword argument:
9191

9292
````julia
9393
env₀, = leading_boundary(env_random_c4v, peps₀; alg = :c4v, tol = 1.0e-10);
9494
````
9595

9696
````
9797
[ Info: CTMRG init: obj = -1.430301957018e-02 err = 1.0000e+00
98-
[ Info: CTMRG conv 36: obj = +8.685181513863e+00 err = 6.8827026254e-11 time = 0.13 sec
98+
[ Info: CTMRG conv 36: obj = +8.685181513863e+00 err = 6.8827026254e-11 time = 2.84 sec
9999
100100
````
101101

102102
## C₄ᵥ-symmetric optimization
103103

104-
We now take the invariant `peps₀` and `env₀` as a starting point for a gradient-based energy
104+
We now take `peps₀` and `env₀` as a starting point for a gradient-based energy
105105
minimization where we contract using $C_{4v}$ CTMRG such that the energy gradient will also
106-
exhibit rotation and reflection symmetry. For that, we call `fixedpoint` and specify `alg = :c4v`
106+
exhibit $C_{4v}$ symmetry. For that, we call `fixedpoint` and specify `alg = :c4v`
107107
as the boundary contraction algorithm:
108108

109109
````julia
@@ -115,34 +115,34 @@ peps, env, E, = fixedpoint(
115115

116116
````
117117
[ Info: LBFGS: initializing with f = -5.047653728981e-01, ‖∇f‖ = 1.9060e-01
118-
[ Info: LBFGS: iter 1, Δt 52.8 ms: f = -5.056459154685e-01, ‖∇f‖ = 1.3798e-01, α = 1.00e+00, m = 0, nfg = 1
119-
[ Info: LBFGS: iter 2, Δt 163.1 ms: f = -6.375540411515e-01, ‖∇f‖ = 1.7202e-01, α = 2.79e+01, m = 1, nfg = 5
120-
[ Info: LBFGS: iter 3, Δt 23.0 ms: f = -6.486432921799e-01, ‖∇f‖ = 1.3180e-01, α = 1.00e+00, m = 2, nfg = 1
121-
[ Info: LBFGS: iter 4, Δt 32.0 ms: f = -6.520905366511e-01, ‖∇f‖ = 1.2693e-01, α = 1.00e+00, m = 3, nfg = 1
122-
[ Info: LBFGS: iter 5, Δt 30.8 ms: f = -6.543779478465e-01, ‖∇f‖ = 8.4374e-02, α = 1.00e+00, m = 4, nfg = 1
123-
[ Info: LBFGS: iter 6, Δt 24.5 ms: f = -6.574474243297e-01, ‖∇f‖ = 9.2229e-02, α = 1.00e+00, m = 5, nfg = 1
124-
[ Info: LBFGS: iter 7, Δt 32.3 ms: f = -6.589601436763e-01, ‖∇f‖ = 4.1340e-02, α = 1.00e+00, m = 6, nfg = 1
125-
[ Info: LBFGS: iter 8, Δt 29.7 ms: f = -6.593161746273e-01, ‖∇f‖ = 1.6522e-02, α = 1.00e+00, m = 7, nfg = 1
126-
[ Info: LBFGS: iter 9, Δt 22.7 ms: f = -6.594944356002e-01, ‖∇f‖ = 1.3207e-02, α = 1.00e+00, m = 8, nfg = 1
127-
[ Info: LBFGS: iter 10, Δt 28.5 ms: f = -6.598273620822e-01, ‖∇f‖ = 1.2344e-02, α = 1.00e+00, m = 9, nfg = 1
128-
[ Info: LBFGS: iter 11, Δt 28.3 ms: f = -6.600090370393e-01, ‖∇f‖ = 8.5852e-03, α = 1.00e+00, m = 10, nfg = 1
129-
[ Info: LBFGS: iter 12, Δt 19.9 ms: f = -6.601648157099e-01, ‖∇f‖ = 3.1453e-03, α = 1.00e+00, m = 11, nfg = 1
130-
[ Info: LBFGS: iter 13, Δt 25.9 ms: f = -6.601883494925e-01, ‖∇f‖ = 2.2795e-03, α = 1.00e+00, m = 12, nfg = 1
131-
[ Info: LBFGS: iter 14, Δt 20.3 ms: f = -6.602037369191e-01, ‖∇f‖ = 2.8426e-03, α = 1.00e+00, m = 13, nfg = 1
132-
[ Info: LBFGS: iter 15, Δt 27.1 ms: f = -6.602113170029e-01, ‖∇f‖ = 2.0017e-03, α = 1.00e+00, m = 14, nfg = 1
133-
[ Info: LBFGS: iter 16, Δt 18.5 ms: f = -6.602199370383e-01, ‖∇f‖ = 1.2403e-03, α = 1.00e+00, m = 15, nfg = 1
134-
[ Info: LBFGS: iter 17, Δt 26.5 ms: f = -6.602252410543e-01, ‖∇f‖ = 7.3832e-04, α = 1.00e+00, m = 16, nfg = 1
135-
[ Info: LBFGS: iter 18, Δt 26.1 ms: f = -6.602292169497e-01, ‖∇f‖ = 6.4978e-04, α = 1.00e+00, m = 17, nfg = 1
136-
[ Info: LBFGS: iter 19, Δt 18.4 ms: f = -6.602308383659e-01, ‖∇f‖ = 3.7433e-04, α = 1.00e+00, m = 18, nfg = 1
137-
[ Info: LBFGS: iter 20, Δt 25.4 ms: f = -6.602310776646e-01, ‖∇f‖ = 2.4482e-04, α = 1.00e+00, m = 19, nfg = 1
138-
[ Info: LBFGS: converged after 21 iterations and time 708.8 ms: f = -6.602310927637e-01, ‖∇f‖ = 2.4546e-05
118+
[ Info: LBFGS: iter 1, Δt 3.82 s: f = -5.056459154685e-01, ‖∇f‖ = 1.3798e-01, α = 1.00e+00, m = 0, nfg = 1
119+
[ Info: LBFGS: iter 2, Δt 2.28 s: f = -6.375540411515e-01, ‖∇f‖ = 1.7202e-01, α = 2.79e+01, m = 1, nfg = 5
120+
[ Info: LBFGS: iter 3, Δt 66.0 ms: f = -6.486432921799e-01, ‖∇f‖ = 1.3180e-01, α = 1.00e+00, m = 2, nfg = 1
121+
[ Info: LBFGS: iter 4, Δt 53.3 ms: f = -6.520905366511e-01, ‖∇f‖ = 1.2693e-01, α = 1.00e+00, m = 3, nfg = 1
122+
[ Info: LBFGS: iter 5, Δt 54.1 ms: f = -6.543779478465e-01, ‖∇f‖ = 8.4374e-02, α = 1.00e+00, m = 4, nfg = 1
123+
[ Info: LBFGS: iter 6, Δt 50.9 ms: f = -6.574474243297e-01, ‖∇f‖ = 9.2229e-02, α = 1.00e+00, m = 5, nfg = 1
124+
[ Info: LBFGS: iter 7, Δt 50.8 ms: f = -6.589601436763e-01, ‖∇f‖ = 4.1340e-02, α = 1.00e+00, m = 6, nfg = 1
125+
[ Info: LBFGS: iter 8, Δt 50.2 ms: f = -6.593161746273e-01, ‖∇f‖ = 1.6522e-02, α = 1.00e+00, m = 7, nfg = 1
126+
[ Info: LBFGS: iter 9, Δt 54.4 ms: f = -6.594944356002e-01, ‖∇f‖ = 1.3207e-02, α = 1.00e+00, m = 8, nfg = 1
127+
[ Info: LBFGS: iter 10, Δt 54.4 ms: f = -6.598273620822e-01, ‖∇f‖ = 1.2344e-02, α = 1.00e+00, m = 9, nfg = 1
128+
[ Info: LBFGS: iter 11, Δt 54.5 ms: f = -6.600090370393e-01, ‖∇f‖ = 8.5852e-03, α = 1.00e+00, m = 10, nfg = 1
129+
[ Info: LBFGS: iter 12, Δt 50.0 ms: f = -6.601648157099e-01, ‖∇f‖ = 3.1453e-03, α = 1.00e+00, m = 11, nfg = 1
130+
[ Info: LBFGS: iter 13, Δt 47.5 ms: f = -6.601883494925e-01, ‖∇f‖ = 2.2795e-03, α = 1.00e+00, m = 12, nfg = 1
131+
[ Info: LBFGS: iter 14, Δt 47.4 ms: f = -6.602037369191e-01, ‖∇f‖ = 2.8426e-03, α = 1.00e+00, m = 13, nfg = 1
132+
[ Info: LBFGS: iter 15, Δt 48.3 ms: f = -6.602113170029e-01, ‖∇f‖ = 2.0017e-03, α = 1.00e+00, m = 14, nfg = 1
133+
[ Info: LBFGS: iter 16, Δt 35.4 ms: f = -6.602199370383e-01, ‖∇f‖ = 1.2403e-03, α = 1.00e+00, m = 15, nfg = 1
134+
[ Info: LBFGS: iter 17, Δt 44.1 ms: f = -6.602252410543e-01, ‖∇f‖ = 7.3832e-04, α = 1.00e+00, m = 16, nfg = 1
135+
[ Info: LBFGS: iter 18, Δt 53.2 ms: f = -6.602292169497e-01, ‖∇f‖ = 6.4978e-04, α = 1.00e+00, m = 17, nfg = 1
136+
[ Info: LBFGS: iter 19, Δt 50.3 ms: f = -6.602308383659e-01, ‖∇f‖ = 3.7433e-04, α = 1.00e+00, m = 18, nfg = 1
137+
[ Info: LBFGS: iter 20, Δt 42.1 ms: f = -6.602310776646e-01, ‖∇f‖ = 2.4482e-04, α = 1.00e+00, m = 19, nfg = 1
138+
[ Info: LBFGS: converged after 21 iterations and time 2.99 m: f = -6.602310927637e-01, ‖∇f‖ = 2.4546e-05
139139
140140
````
141141

142142
We note that this energy is slightly higher than the one obtained from an
143143
[optimization using asymmetric CTMRG](@ref examples_heisenberg) with equivalent settings.
144144
Indeed, this is what one would expect since the $C_{4v}$ symmetry restricts the PEPS ansatz
145-
leading to less free parameters, i.e. an ansatz with a reduced expressivity.
145+
leading to fewer free parameters, i.e. an ansatz with reduced expressivity.
146146
Comparing against Juraj Hasik's data from $J_1\text{-}J_2$
147147
[PEPS simulations](https://github.com/jurajHasik/j1j2_ipeps_states/blob/main/single-site_pg-C4v-A1/j20.0/state_1s_A1_j20.0_D2_chi_opt48.dat),
148148
we find very good agreement:
@@ -196,7 +196,7 @@ env_qr₀, = leading_boundary(
196196

197197
````
198198
[ Info: CTMRG init: obj = +5.600073842622e-03 err = 1.0000e+00
199-
┌ Warning: CTMRG cancel 500: obj = +5.924396753059e-01 err = 4.2047306494e-05 time = 0.23 sec
199+
┌ Warning: CTMRG cancel 500: obj = +5.924396753059e-01 err = 4.2047306494e-05 time = 0.47 sec
200200
└ @ PEPSKit ~/repos/PEPSKit.jl/src/algorithms/ctmrg/ctmrg.jl:168
201201
202202
````
@@ -218,29 +218,29 @@ peps_qr, env_qr, E_qr, = fixedpoint(
218218

219219
````
220220
[ Info: LBFGS: initializing with f = -5.047653728981e-01, ‖∇f‖ = 1.9060e-01
221-
[ Info: LBFGS: iter 1, Δt 68.5 ms: f = -5.056459386479e-01, ‖∇f‖ = 1.3798e-01, α = 1.00e+00, m = 0, nfg = 1
222-
[ Info: LBFGS: iter 2, Δt 250.7 ms: f = -6.375600504499e-01, ‖∇f‖ = 1.6744e-01, α = 2.79e+01, m = 1, nfg = 5
223-
[ Info: LBFGS: iter 3, Δt 33.8 ms: f = -6.477941757691e-01, ‖∇f‖ = 1.2710e-01, α = 1.00e+00, m = 2, nfg = 1
224-
[ Info: LBFGS: iter 4, Δt 255.2 ms: f = -6.489264548265e-01, ‖∇f‖ = 1.2728e-01, α = 1.00e+00, m = 3, nfg = 1
225-
[ Info: LBFGS: iter 5, Δt 56.5 ms: f = -6.520948679742e-01, ‖∇f‖ = 1.9001e-01, α = 1.00e+00, m = 4, nfg = 1
226-
[ Info: LBFGS: iter 6, Δt 53.3 ms: f = -6.556853372287e-01, ‖∇f‖ = 7.4701e-02, α = 3.20e-01, m = 5, nfg = 2
227-
[ Info: LBFGS: iter 7, Δt 19.5 ms: f = -6.577585366615e-01, ‖∇f‖ = 4.6457e-02, α = 1.00e+00, m = 6, nfg = 1
228-
[ Info: LBFGS: iter 8, Δt 30.3 ms: f = -6.589067591492e-01, ‖∇f‖ = 5.6776e-02, α = 1.00e+00, m = 7, nfg = 1
229-
[ Info: LBFGS: iter 9, Δt 32.0 ms: f = -6.594497314275e-01, ‖∇f‖ = 2.5279e-02, α = 1.00e+00, m = 8, nfg = 1
230-
[ Info: LBFGS: iter 10, Δt 22.5 ms: f = -6.596013508512e-01, ‖∇f‖ = 1.2057e-02, α = 1.00e+00, m = 9, nfg = 1
231-
[ Info: LBFGS: iter 11, Δt 26.8 ms: f = -6.597238062798e-01, ‖∇f‖ = 1.1855e-02, α = 1.00e+00, m = 10, nfg = 1
232-
[ Info: LBFGS: iter 12, Δt 19.9 ms: f = -6.598902039179e-01, ‖∇f‖ = 1.2159e-02, α = 1.00e+00, m = 11, nfg = 1
233-
[ Info: LBFGS: iter 13, Δt 27.8 ms: f = -6.600647711574e-01, ‖∇f‖ = 9.2790e-03, α = 1.00e+00, m = 12, nfg = 1
234-
[ Info: LBFGS: iter 14, Δt 21.0 ms: f = -6.601721648894e-01, ‖∇f‖ = 3.6997e-03, α = 1.00e+00, m = 13, nfg = 1
235-
[ Info: LBFGS: iter 15, Δt 39.7 ms: f = -6.601905466298e-01, ‖∇f‖ = 2.6113e-03, α = 1.00e+00, m = 14, nfg = 1
236-
[ Info: LBFGS: iter 16, Δt 28.9 ms: f = -6.602004506851e-01, ‖∇f‖ = 3.2492e-03, α = 1.00e+00, m = 15, nfg = 1
237-
[ Info: LBFGS: iter 17, Δt 21.5 ms: f = -6.602066238957e-01, ‖∇f‖ = 2.9721e-03, α = 1.00e+00, m = 16, nfg = 1
238-
[ Info: LBFGS: iter 18, Δt 30.3 ms: f = -6.602207074042e-01, ‖∇f‖ = 1.5783e-03, α = 1.00e+00, m = 17, nfg = 1
239-
[ Info: LBFGS: iter 19, Δt 39.1 ms: f = -6.602252432623e-01, ‖∇f‖ = 7.4701e-04, α = 1.00e+00, m = 18, nfg = 1
240-
[ Info: LBFGS: iter 20, Δt 250.4 ms: f = -6.602282359103e-01, ‖∇f‖ = 1.2155e-03, α = 1.00e+00, m = 19, nfg = 1
241-
[ Info: LBFGS: iter 21, Δt 126.2 ms: f = -6.602299515427e-01, ‖∇f‖ = 1.0743e-03, α = 1.00e+00, m = 20, nfg = 1
242-
[ Info: LBFGS: iter 22, Δt 253.0 ms: f = -6.602310402232e-01, ‖∇f‖ = 4.7766e-04, α = 1.00e+00, m = 20, nfg = 1
243-
[ Info: LBFGS: converged after 23 iterations and time 2.06 s: f = -6.602310919804e-01, ‖∇f‖ = 5.4688e-05
221+
[ Info: LBFGS: iter 1, Δt 1.50 s: f = -5.056459386479e-01, ‖∇f‖ = 1.3798e-01, α = 1.00e+00, m = 0, nfg = 1
222+
[ Info: LBFGS: iter 2, Δt 1.57 s: f = -6.375600504499e-01, ‖∇f‖ = 1.6744e-01, α = 2.79e+01, m = 1, nfg = 5
223+
[ Info: LBFGS: iter 3, Δt 62.0 ms: f = -6.477941757691e-01, ‖∇f‖ = 1.2710e-01, α = 1.00e+00, m = 2, nfg = 1
224+
[ Info: LBFGS: iter 4, Δt 409.6 ms: f = -6.489264548265e-01, ‖∇f‖ = 1.2728e-01, α = 1.00e+00, m = 3, nfg = 1
225+
[ Info: LBFGS: iter 5, Δt 97.3 ms: f = -6.520948679742e-01, ‖∇f‖ = 1.9001e-01, α = 1.00e+00, m = 4, nfg = 1
226+
[ Info: LBFGS: iter 6, Δt 96.6 ms: f = -6.556853372287e-01, ‖∇f‖ = 7.4701e-02, α = 3.20e-01, m = 5, nfg = 2
227+
[ Info: LBFGS: iter 7, Δt 48.9 ms: f = -6.577585366615e-01, ‖∇f‖ = 4.6457e-02, α = 1.00e+00, m = 6, nfg = 1
228+
[ Info: LBFGS: iter 8, Δt 54.4 ms: f = -6.589067591492e-01, ‖∇f‖ = 5.6776e-02, α = 1.00e+00, m = 7, nfg = 1
229+
[ Info: LBFGS: iter 9, Δt 58.1 ms: f = -6.594497314275e-01, ‖∇f‖ = 2.5279e-02, α = 1.00e+00, m = 8, nfg = 1
230+
[ Info: LBFGS: iter 10, Δt 73.3 ms: f = -6.596013508512e-01, ‖∇f‖ = 1.2057e-02, α = 1.00e+00, m = 9, nfg = 1
231+
[ Info: LBFGS: iter 11, Δt 61.2 ms: f = -6.597238062798e-01, ‖∇f‖ = 1.1855e-02, α = 1.00e+00, m = 10, nfg = 1
232+
[ Info: LBFGS: iter 12, Δt 38.5 ms: f = -6.598902039179e-01, ‖∇f‖ = 1.2159e-02, α = 1.00e+00, m = 11, nfg = 1
233+
[ Info: LBFGS: iter 13, Δt 50.9 ms: f = -6.600647711574e-01, ‖∇f‖ = 9.2790e-03, α = 1.00e+00, m = 12, nfg = 1
234+
[ Info: LBFGS: iter 14, Δt 53.2 ms: f = -6.601721648894e-01, ‖∇f‖ = 3.6997e-03, α = 1.00e+00, m = 13, nfg = 1
235+
[ Info: LBFGS: iter 15, Δt 52.3 ms: f = -6.601905466298e-01, ‖∇f‖ = 2.6113e-03, α = 1.00e+00, m = 14, nfg = 1
236+
[ Info: LBFGS: iter 16, Δt 40.4 ms: f = -6.602004506851e-01, ‖∇f‖ = 3.2492e-03, α = 1.00e+00, m = 15, nfg = 1
237+
[ Info: LBFGS: iter 17, Δt 52.5 ms: f = -6.602066238957e-01, ‖∇f‖ = 2.9721e-03, α = 1.00e+00, m = 16, nfg = 1
238+
[ Info: LBFGS: iter 18, Δt 54.9 ms: f = -6.602207074042e-01, ‖∇f‖ = 1.5783e-03, α = 1.00e+00, m = 17, nfg = 1
239+
[ Info: LBFGS: iter 19, Δt 70.7 ms: f = -6.602252432623e-01, ‖∇f‖ = 7.4701e-04, α = 1.00e+00, m = 18, nfg = 1
240+
[ Info: LBFGS: iter 20, Δt 431.1 ms: f = -6.602282359103e-01, ‖∇f‖ = 1.2155e-03, α = 1.00e+00, m = 19, nfg = 1
241+
[ Info: LBFGS: iter 21, Δt 213.5 ms: f = -6.602299515427e-01, ‖∇f‖ = 1.0743e-03, α = 1.00e+00, m = 20, nfg = 1
242+
[ Info: LBFGS: iter 22, Δt 425.4 ms: f = -6.602310402232e-01, ‖∇f‖ = 4.7766e-04, α = 1.00e+00, m = 20, nfg = 1
243+
[ Info: LBFGS: converged after 23 iterations and time 37.91 s: f = -6.602310919804e-01, ‖∇f‖ = 5.4688e-05
244244
(E_qr - E_ref) / E_ref = -2.2712457151788596e-9
245245
246246
````

0 commit comments

Comments
 (0)