Dear All I am trying to compute low energy eigenstates of a small L=10 system of spin-1/2 nodes using the DMRG, implemented as mps_optim to compute a ground state and a first excited state for a cetrain model (model.xml pasted below). Unfortunately what i get is two states, but the state returned as a ground state (numer „0“) as a greater energy then the excited state. More specifically I compute the state twice: using NUMBER_EIGENVALUES=1 (then the gs energy is -4) and NUMBER_EIGENVALUES=2 (then the gs energy is -4 and excited state’s energy is -5 (which is is fact the ground state’s energy).
the Fulldiag code returns correct (verified by fulldiag of my own) eigenvalues.
The alps-dmrg does not converge in reasonable number of sweeps. What is worse it returns energy of order of -18, so that is significantly below the ground state energy. Does the alps-dmrg support the hamiltonian that I have wrote at all? FINAL SWEEP - LAST ITERATION NUMBER OF STATES: 16 2 2 16 1024 E0 = -17.4530961018 E0 = -8.52509624929 EXCITED OVERLAP(0) = 3.07571832172e-06 E(1) = -8.52509624929 GAP(1) = -17.4530961018 -8.52509624929 8.92799985252 ITER = 4 ENTROPY = 2.62675527051
DMRG as any minimization routine is subject to „local minimum“ problem, but I have never seen it to fail so dramatically. I had the thought that the key may be the following line in the ouput: "This binary contains symmetries: nu1, "
but I have set nothing like „N_total=10“. Just to be sure I have redefined „spin“ basis to a new „spinc“ from which I have removed the „constraint" metatag.
TO sum up I have following issues/questions: - matter of convergence of mps_optimize - why alps-dmrg returns significantly lower energy than fulldiag on a small exemplary system? - is it some sort of constraints ? I do not want to use any conservation laws. W would like to do a brute DMRG without any good quantum numbers.
Kind Regards, Mateusz Łącki
Files:
*********** input file taken by parameter2xml ********** MODEL_LIBRARY="/home/lacki/alpsdmrg/models.xml" LATTICE="open chain lattice" MODEL="SlonTrabalski" SWEEPS=8 NUMBER_EIGENVALUES=2
NUMSTATES=100
{L=10; V=0.1}
************* /home/lacki/alpsdmrg/models.xml ********** (I post only the modified things)
<BASIS name="spinc"> <SITEBASIS ref="spin"> <PARAMETER name="local_spin" value="local_S#"/> <PARAMETER name="local_S#" value="local_S"/> <PARAMETER name="local_S" value="1/2"/> </SITEBASIS> </BASIS>
<HAMILTONIAN name="SlonTrabalski"> <PARAMETER name="V" default="0"/> <BASIS ref="spinc"/> <SITETERM site="i"> V*Sx(i) </SITETERM> <BONDTERM source="i" target="j"> -(0.5)*(Splus(i)*Sminus(j)+Splus(j)*Sminus(i))-(0.5)*(Splus(i)*Splus(j)+Sminus(i)*Sminus(j)) </BONDTERM> </HAMILTONIAN>
Dear Mateusz,
Unfortunately I don't know why your model get trapped in the first excited state. I think it is because of the nature of the default initial state.
Anyway, the code allows you to feed it with several initial states. For example you can choose any product state of your basis. I tried to run your parameters with initially all spins pointing up, the energy is then correct. init_state="local_quantumnumbers" initial_local_S="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5" initial_local_Sz="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5"
Don't worry about the output "This binary contains symmetries: nu1". The code can be compiled with custom abelian symmetries, by default we compile only a generic U(1)^{\otimes N} symmetry group. If you don't set any conserved quantum number in your parameters, the simulation will run without symmetries.
Best regards, Michele
On 14.09.2014 01:03, Mateusz Łącki wrote:
Dear All I am trying to compute low energy eigenstates of a small L=10 system of spin-1/2 nodes using the DMRG, implemented as mps_optim to compute a ground state and a first excited state for a cetrain model (model.xml pasted below). Unfortunately what i get is two states, but the state returned as a ground state (numer „0“) as a greater energy then the excited state. More specifically I compute the state twice: using NUMBER_EIGENVALUES=1 (then the gs energy is -4) and NUMBER_EIGENVALUES=2 (then the gs energy is -4 and excited state’s energy is -5 (which is is fact the ground state’s energy).
the Fulldiag code returns correct (verified by fulldiag of my own) eigenvalues.
The alps-dmrg does not converge in reasonable number of sweeps. What is worse it returns energy of order of -18, so that is significantly below the ground state energy. Does the alps-dmrg support the hamiltonian that I have wrote at all? FINAL SWEEP - LAST ITERATION NUMBER OF STATES: 16 2 2 16 1024 E0 = -17.4530961018 E0 = -8.52509624929 EXCITED OVERLAP(0) = 3.07571832172e-06 E(1) = -8.52509624929 GAP(1) = -17.4530961018 -8.52509624929 8.92799985252 ITER = 4 ENTROPY = 2.62675527051
DMRG as any minimization routine is subject to „local minimum“ problem, but I have never seen it to fail so dramatically. I had the thought that the key may be the following line in the ouput: "This binary contains symmetries: nu1,"
but I have set nothing like „N_total=10“. Just to be sure I have redefined „spin“ basis to a new „spinc“ from which I have removed the „constraint" metatag.
TO sum up I have following issues/questions:
- matter of convergence of mps_optimize
- why alps-dmrg returns significantly lower energy than fulldiag on a small exemplary system?
- is it some sort of constraints ? I do not want to use any conservation laws. W would like to do a brute DMRG without any good quantum numbers.
Kind Regards, Mateusz Łącki
Files:
*********** input file taken by parameter2xml ********** MODEL_LIBRARY="/home/lacki/alpsdmrg/models.xml" LATTICE="open chain lattice" MODEL="SlonTrabalski" SWEEPS=8 NUMBER_EIGENVALUES=2
NUMSTATES=100
{L=10; V=0.1}
************* /home/lacki/alpsdmrg/models.xml ********** (I post only the modified things)
<BASIS name="spinc"> <SITEBASIS ref="spin"> <PARAMETER name="local_spin" value="local_S#"/> <PARAMETER name="local_S#" value="local_S"/> <PARAMETER name="local_S" value="1/2"/> </SITEBASIS> </BASIS>
<HAMILTONIAN name="SlonTrabalski"> <PARAMETER name="V" default="0"/> <BASIS ref="spinc"/> <SITETERM site="i"> V*Sx(i) </SITETERM> <BONDTERM source="i" target="j"> -(0.5)*(Splus(i)*Sminus(j)+Splus(j)*Sminus(i))-(0.5)*(Splus(i)*Splus(j)+Sminus(i)*Sminus(j)) </BONDTERM> </HAMILTONIAN>
Thanks, indeed this seems to have helped. Thanks!
Regards, Mateusz Łącki
On 14 Sep 2014, at 11:57, Michele Dolfi dolfim@phys.ethz.ch wrote:
Dear Mateusz,
Unfortunately I don't know why your model get trapped in the first excited state. I think it is because of the nature of the default initial state.
Anyway, the code allows you to feed it with several initial states. For example you can choose any product state of your basis. I tried to run your parameters with initially all spins pointing up, the energy is then correct. init_state="local_quantumnumbers" initial_local_S="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5" initial_local_Sz="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5"
Don't worry about the output "This binary contains symmetries: nu1". The code can be compiled with custom abelian symmetries, by default we compile only a generic U(1)^{\otimes N} symmetry group. If you don't set any conserved quantum number in your parameters, the simulation will run without symmetries.
Best regards, Michele
On 14.09.2014 01:03, Mateusz Łącki wrote:
Dear All I am trying to compute low energy eigenstates of a small L=10 system of spin-1/2 nodes using the DMRG, implemented as mps_optim to compute a ground state and a first excited state for a cetrain model (model.xml pasted below). Unfortunately what i get is two states, but the state returned as a ground state (numer „0“) as a greater energy then the excited state. More specifically I compute the state twice: using NUMBER_EIGENVALUES=1 (then the gs energy is -4) and NUMBER_EIGENVALUES=2 (then the gs energy is -4 and excited state’s energy is -5 (which is is fact the ground state’s energy).
the Fulldiag code returns correct (verified by fulldiag of my own) eigenvalues.
The alps-dmrg does not converge in reasonable number of sweeps. What is worse it returns energy of order of -18, so that is significantly below the ground state energy. Does the alps-dmrg support the hamiltonian that I have wrote at all? FINAL SWEEP - LAST ITERATION NUMBER OF STATES: 16 2 2 16 1024 E0 = -17.4530961018 E0 = -8.52509624929 EXCITED OVERLAP(0) = 3.07571832172e-06 E(1) = -8.52509624929 GAP(1) = -17.4530961018 -8.52509624929 8.92799985252 ITER = 4 ENTROPY = 2.62675527051
DMRG as any minimization routine is subject to „local minimum“ problem, but I have never seen it to fail so dramatically. I had the thought that the key may be the following line in the ouput: "This binary contains symmetries: nu1,"
but I have set nothing like „N_total=10“. Just to be sure I have redefined „spin“ basis to a new „spinc“ from which I have removed the „constraint" metatag.
TO sum up I have following issues/questions:
- matter of convergence of mps_optimize
- why alps-dmrg returns significantly lower energy than fulldiag on a small exemplary system?
- is it some sort of constraints ? I do not want to use any conservation laws. W would like to do a brute DMRG without any good quantum numbers.
Kind Regards, Mateusz Łącki
Files:
*********** input file taken by parameter2xml ********** MODEL_LIBRARY="/home/lacki/alpsdmrg/models.xml" LATTICE="open chain lattice" MODEL="SlonTrabalski" SWEEPS=8 NUMBER_EIGENVALUES=2
NUMSTATES=100
{L=10; V=0.1}
************* /home/lacki/alpsdmrg/models.xml ********** (I post only the modified things)
<BASIS name="spinc"> <SITEBASIS ref="spin"> <PARAMETER name="local_spin" value="local_S#"/> <PARAMETER name="local_S#" value="local_S"/> <PARAMETER name="local_S" value="1/2"/> </SITEBASIS> </BASIS>
<HAMILTONIAN name="SlonTrabalski"> <PARAMETER name="V" default="0"/> <BASIS ref="spinc"/> <SITETERM site="i"> V*Sx(i) </SITETERM> <BONDTERM source="i" target="j"> -(0.5)*(Splus(i)*Sminus(j)+Splus(j)*Sminus(i))-(0.5)*(Splus(i)*Splus(j)+Sminus(i)*Sminus(j)) </BONDTERM> </HAMILTONIAN>
-- 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
Back to the convergence problem.
It looks to us that the eigenstates of your system are product states. This is usually giving some troubles to dmrg. Once it has dropped into the wrong product state and the system is in the wrong eigenstate, the density matrix has no overlap with the right eigenstate any more and DMRG will never pick it up again, even with the density matrix mixing terms.
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 Sep 14, 2014, at 1:57 PM, Mateusz Łącki mateusz.lacki@gmail.com wrote:
Thanks, indeed this seems to have helped. Thanks!
Regards, Mateusz Łącki
On 14 Sep 2014, at 11:57, Michele Dolfi dolfim@phys.ethz.ch wrote:
Dear Mateusz,
Unfortunately I don't know why your model get trapped in the first excited state. I think it is because of the nature of the default initial state.
Anyway, the code allows you to feed it with several initial states. For example you can choose any product state of your basis. I tried to run your parameters with initially all spins pointing up, the energy is then correct. init_state="local_quantumnumbers" initial_local_S="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5" initial_local_Sz="0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5"
Don't worry about the output "This binary contains symmetries: nu1". The code can be compiled with custom abelian symmetries, by default we compile only a generic U(1)^{\otimes N} symmetry group. If you don't set any conserved quantum number in your parameters, the simulation will run without symmetries.
Best regards, Michele
On 14.09.2014 01:03, Mateusz Łącki wrote:
Dear All I am trying to compute low energy eigenstates of a small L=10 system of spin-1/2 nodes using the DMRG, implemented as mps_optim to compute a ground state and a first excited state for a cetrain model (model.xml pasted below). Unfortunately what i get is two states, but the state returned as a ground state (numer „0“) as a greater energy then the excited state. More specifically I compute the state twice: using NUMBER_EIGENVALUES=1 (then the gs energy is -4) and NUMBER_EIGENVALUES=2 (then the gs energy is -4 and excited state’s energy is -5 (which is is fact the ground state’s energy).
the Fulldiag code returns correct (verified by fulldiag of my own) eigenvalues.
The alps-dmrg does not converge in reasonable number of sweeps. What is worse it returns energy of order of -18, so that is significantly below the ground state energy. Does the alps-dmrg support the hamiltonian that I have wrote at all? FINAL SWEEP - LAST ITERATION NUMBER OF STATES: 16 2 2 16 1024 E0 = -17.4530961018 E0 = -8.52509624929 EXCITED OVERLAP(0) = 3.07571832172e-06 E(1) = -8.52509624929 GAP(1) = -17.4530961018 -8.52509624929 8.92799985252 ITER = 4 ENTROPY = 2.62675527051
DMRG as any minimization routine is subject to „local minimum“ problem, but I have never seen it to fail so dramatically. I had the thought that the key may be the following line in the ouput: "This binary contains symmetries: nu1,"
but I have set nothing like „N_total=10“. Just to be sure I have redefined „spin“ basis to a new „spinc“ from which I have removed the „constraint" metatag.
TO sum up I have following issues/questions:
- matter of convergence of mps_optimize
- why alps-dmrg returns significantly lower energy than fulldiag on a small exemplary system?
- is it some sort of constraints ? I do not want to use any conservation laws. W would like to do a brute DMRG without any good quantum numbers.
Kind Regards, Mateusz Łącki
Files:
*********** input file taken by parameter2xml ********** MODEL_LIBRARY="/home/lacki/alpsdmrg/models.xml" LATTICE="open chain lattice" MODEL="SlonTrabalski" SWEEPS=8 NUMBER_EIGENVALUES=2
NUMSTATES=100
{L=10; V=0.1}
************* /home/lacki/alpsdmrg/models.xml ********** (I post only the modified things)
<BASIS name="spinc"> <SITEBASIS ref="spin"> <PARAMETER name="local_spin" value="local_S#"/> <PARAMETER name="local_S#" value="local_S"/> <PARAMETER name="local_S" value="1/2"/> </SITEBASIS> </BASIS>
<HAMILTONIAN name="SlonTrabalski"> <PARAMETER name="V" default="0"/> <BASIS ref="spinc"/> <SITETERM site="i"> V*Sx(i) </SITETERM> <BONDTERM source="i" target="j"> -(0.5)*(Splus(i)*Sminus(j)+Splus(j)*Sminus(i))-(0.5)*(Splus(i)*Splus(j)+Sminus(i)*Sminus(j)) </BONDTERM> </HAMILTONIAN>
-- 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
comp-phys-alps-users@lists.phys.ethz.ch