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:
1. Is there a way to resolve it? 2. 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?
Best, Mateusz Łącki
************* 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'
{}
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
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 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 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'
{}
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'
{}
Dear Mateusz,
You are right, one should not only blame the bond dimension. Very often the convergence of the algorithm is the problem.
The periodic boundaries as implemented only at the level of the matrix product operator (MPO) which contains the Hamiltonian operator, basically there is one (or more) very-long range terms that span the whole system. As you point out, in this case the local short range correlations are pushing the iterative convergence to a state that almost does not see the long range correlation needed for the PBC.
To improve, in this cases, one usually tries different initial states. I just ran the parameters you posted below, and by removing your custom initial state, I can improve the energy from -0.5593703079 (same as OBC) to -0.5738704157.
Unfortunately there is not much that one could really try out for converge problems.
If you are really brave, there are some advanced parameters that could change something or tricks with the model, but often they even make the result worse. For example: + Start from the solution of another model, e.g. with a very strong "t" on the periodic bond, then slowly change its value while sweeping. + Seed for the random numbers in the default initial state: seed + Number of states on each sweep: Just use the NUMSTATES parameters with a comma-sapareted list of values (the length has to match the number of sweeps), like: “20,40,40,60,80,80,100,100,100" + Max number of iterations on each JCD solver: ietl_jcd_maxiter (default=8) + Tolerance of the JCD solver: ietl_jcd_tol (default=1e-8) + Make a model where you merge two sites into a new local Hilbert space of size d^2. This will make the twosite optimization actually a four-site optimization, but it requires quite some work with the ALPS XML models.
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 www.itp.phys.ethz.ch
+41 44 633 78 56 phone +41 44 633 11 15 fax
On Apr 19, 2016, at 10:24 AM, Mateusz Łącki mateusz.lacki@gmail.com wrote:
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 mailto: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'
{}
Comp-phys-alps-users Mailing List for the ALPS Project http://alps.comp-phys.org/
List info: https://lists.phys.ethz.ch//listinfo/comp-phys-alps-users Archive: https://lists.phys.ethz.ch//pipermail/comp-phys-alps-users
Unsubscribe by writing a mail to comp-phys-alps-users-leave@lists.phys.ethz.ch.
Dear Michele, Ok, thank you very much for insight and suggestions. I will try various ways as you propose. Best, Mateusz
On 19 Apr 2016, at 15:47, Michele Dolfi dolfim@phys.ethz.ch wrote:
Dear Mateusz,
You are right, one should not only blame the bond dimension. Very often the convergence of the algorithm is the problem.
The periodic boundaries as implemented only at the level of the matrix product operator (MPO) which contains the Hamiltonian operator, basically there is one (or more) very-long range terms that span the whole system. As you point out, in this case the local short range correlations are pushing the iterative convergence to a state that almost does not see the long range correlation needed for the PBC.
To improve, in this cases, one usually tries different initial states. I just ran the parameters you posted below, and by removing your custom initial state, I can improve the energy from -0.5593703079 (same as OBC) to -0.5738704157.
Unfortunately there is not much that one could really try out for converge problems.
If you are really brave, there are some advanced parameters that could change something or tricks with the model, but often they even make the result worse. For example:
- Start from the solution of another model, e.g. with a very strong "t" on the periodic bond, then slowly change its value while sweeping.
- Seed for the random numbers in the default initial state: seed
- Number of states on each sweep: Just use the NUMSTATES parameters with a comma-sapareted list of values (the length has to match the number of sweeps), like: “20,40,40,60,80,80,100,100,100"
- Max number of iterations on each JCD solver: ietl_jcd_maxiter (default=8)
- Tolerance of the JCD solver: ietl_jcd_tol (default=1e-8)
- Make a model where you merge two sites into a new local Hilbert space of size d^2. This will make the twosite optimization actually a four-site optimization, but it requires quite some work with the ALPS XML models.
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 19, 2016, at 10:24 AM, Mateusz Łącki <mateusz.lacki@gmail.com mailto:mateusz.lacki@gmail.com> wrote:
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 mailto: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'
{}
Comp-phys-alps-users Mailing List for the ALPS Project http://alps.comp-phys.org/ http://alps.comp-phys.org/
List info: https://lists.phys.ethz.ch//listinfo/comp-phys-alps-users Archive: https://lists.phys.ethz.ch//pipermail/comp-phys-alps-users
Unsubscribe by writing a mail to comp-phys-alps-users-leave@lists.phys.ethz.ch.
Comp-phys-alps-users Mailing List for the ALPS Project http://alps.comp-phys.org/
List info: https://lists.phys.ethz.ch//listinfo/comp-phys-alps-users Archive: https://lists.phys.ethz.ch//pipermail/comp-phys-alps-users
Unsubscribe by writing a mail to comp-phys-alps-users-leave@lists.phys.ethz.ch.
comp-phys-alps-users@lists.phys.ethz.ch