Dear Michele, thank you for the answer. I have rechecked my computation for 1000 and 1500 bond direction. Still for t<0.06 OBC and PBC (chain length:40) codes return exactly the same energies. Actually I feel that if the bond-size is an issue, then I should encounter some problems for large t, but I encounter it for small t.
How exactly the PBC are implemented in the mps_optim application? Do they involve “swapping” the sites of the MPS vector (say from site i=L down to i=2, to solve the 2 site problem, and swapping back to i=L)?. The problem seems to be that I am getting artificial “excitation" at the edges of the system , just as if a_1 a_L^\dagger + hc term was not in present in the hamiltonian at all.
Physically If the DMRG converges the state to an “OBC-like” ground state for small t, then the MPS is almost an eigenvector to the OBC Hamiltonian. It feels as if short correlation length for small t kills the two-body update procedure (because "<a_1 a_L^\dagger> = exp. small” ) fails somehow if the chain is long. I cannot substantiate more because it depends on the algorithm being used.
Thanks for the article it seems PBC are needed in my case...
Best, Mateusz
On 13 Apr 2016, at 11:22, Michele Dolfi dolfim@phys.ethz.ch wrote:
Dear Mateusz,
PBC are not really advised, because you would need ca. the square of the bond dimension, so not only 300, but more in the order of magnitude of 1000.
Miles Stoudenmire wrote a nice post about boundaries: http://itensor.org/docs.cgi?page=articles/periodic http://itensor.org/docs.cgi?page=articles/periodic
The problem could be related to convergence. In this case I would advice to use different initial states, e.g. using the chkp of a similar model.
If you want to investigate possible bugs one should start looking at differences against the ALPS ED codes for small chains.
Best regards, Michele
-- ETH Zurich Michele Dolfi Institute for Theoretical Physics HIT G 32.4 Wolfgang-Pauli-Str. 27 8093 Zurich Switzerland
dolfim@phys.ethz.ch mailto:dolfim@phys.ethz.ch www.itp.phys.ethz.ch http://www.itp.phys.ethz.ch/
+41 44 633 78 56 phone +41 44 633 11 15 fax
On Apr 12, 2016, at 8:37 PM, Mateusz Łącki <mateusz.lacki@gmail.com mailto:mateusz.lacki@gmail.com> wrote:
Dear All, I am struggling with converging to the ground state of a BH model with unit filling with mps_optim with PBC. For low hopping it produces the same result as in the OBC case ignoring the boundary condition.
I have the following input <pasted below>. The state to which the mps_optim converges:
has the same energy as the OBC hamiltonian for t<0.08 (the value of the constant varies it is larger for larger L) (see enclosed plot) and density artifacts at edges (similar to the OBC ground state)
If I observe how the energy of a minimized state varies as a function of sweep number, then there are “plateaus” (for several iterations the energy seems to be converged, then it jumps down).. It seems that for small t the GS computation of mps_optim is stuck at the first plateau. So for say t<0.07 after each sweep starting from 5 the energy is constant but for larger t, at say sweep number 10 there is a sharp drop.
none of the above happens for the OBC.
I include file containing the difference between the numerical result and the essentially exact result (strong coupling expansion up to 16th order - actually I copied the formula only until 10th order). Clearly for all t between 0 and 0.06 the results are wrong, then they are fine again (and start to depart for larger t again but this is because I was to lazy to copy higher orders too)
i have checked MAXSTATES=180 as well as MAXSTATES=320 (the results are exactly the same). For MAXSTATES=600 (and 120 sweeps and ietl_jcd_toll decreased to 1e-10) the results are almost the same again but now problems are for t<0.08 not for t<0.07 so in some sense situation is worse.
*************** questions ******************
I have thus two questions:
- Is there a way to resolve it?
- It seems that propagation of the PBC across the sample length (L=40 sites) gets truncated somehow. Still increasing number of states to 600 did not help. Is it what is going on or is it a bug?
<exactdmrgdiff.png>
Best, Mateusz Łącki <pbcobc.png>
************* conf ****************** LATTICE="chain lattice" MODEL="boson Hubbard"
L=40
MAXSTATES=180
measure_each=5 init_state="local_quantumnumbers" initial_local_N='1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1' nsweeps=60
t=0.06; U=1.0; N_total=40 Nmax=5;
CONSERVED_QUANTUMNUMBERS='N' MEASURE[Entropy]=1 MEASURE_LOCAL[Local Density]='n'
{}