@@ -38,25 +38,27 @@ For example, in order to obtain the groundstate of the 2D Heisenberg model, we c
3838``` julia
3939using TensorKit, PEPSKit, KrylovKit, OptimKit
4040
41- # constructing the Hamiltonian:
41+ # construct the Hamiltonian
4242H = heisenberg_XYZ (InfiniteSquare (); Jx= - 1 , Jy= 1 , Jz= - 1 ) # sublattice rotation to obtain single-site unit cell
4343
44- # configuring the parameters
44+ # choose the bond dimensions
4545D = 2
4646chi = 20
47- ctm_alg = SimultaneousCTMRG (; tol= 1e-10 , trscheme= truncdim (chi))
48- opt_alg = PEPSOptimize (;
49- boundary_alg= ctm_alg,
50- optimizer_alg= LBFGS (4 ; maxiter= 100 , gradtol= 1e-4 , verbosity= 3 ),
51- gradient_alg= LinSolver (),
52- reuse_env= true ,
47+
48+ # configure the algorithm parameters
49+ boundary_alg = (;
50+ alg= :simultaneous , tol= 1e-10 , verbosity= 2 , trscheme= (; alg= :truncdim , η= chi)
5351)
52+ optimizer_alg = (; alg= :lbfgs , tol= 1e-4 , verbosity= 3 )
53+ gradient_alg = (; alg= :linsolver )
54+ reuse_env = true
5455
55- # ground state search
56+ # and find the ground state
5657state = InfinitePEPS (2 , D)
57- ctm, = leading_boundary (CTMRGEnv (state, ComplexSpace (chi)), state, ctm_alg)
58- peps, env, E, = fixedpoint (H, state, ctm, opt_alg)
58+ env0, = leading_boundary (CTMRGEnv (state, ComplexSpace (chi)), state; boundary_alg... )
59+ peps, env, E, = fixedpoint (
60+ H, state, env0; boundary_alg, optimizer_alg, gradient_alg, reuse_env
61+ )
5962
6063@show E # -0.6625...
6164```
62-
0 commit comments