always_measure vs ALWAYS_MEASURE and errors while measurement
Dear All, I would like to compute overlap <\psi(t) | \psi(0)> for an simple open chain system using mps tools. I have encountered a series of errors while doing so. *************example 1 - input************* LATTICE='chain lattice' MODEL="spin" nsweeps=3; L=20 MAXSTATES=100 TIMESTEPS=50 DT=0.1 J=2 Jxy=0.5 measure_each=1 S_total=1/2 CONSERVED_QUANTUMNUMBERS='Sz' MEASURE[Entropy]=True COMPLEX=1; {} **************************************************** The above run with mps_optim produces an error with 2.2b4 version (lastest trunk), but with 2.2b3 it works just fine. To get it working with latest trunk I have to turn off "MEASURE[Entropy]=True" The error is: Sweep has been running for 11.71635035 seconds. Measurements. Exception raised casting True to type b WARNING: Unclosed tag: EIGENSTATES! Exception thrown: std::exception Another application I had in mind was computing the overlap. If I manage to compute the ground state (either by using 22b3 version or by turning off "MEASURE[Entropy]=True”) then I want to compute an overlap <psi(t) | psi(0)>. *************example 2 - input************* LATTICE='chain lattice' MODEL="spin" nsweeps=3; L=20 MAXSTATES=100 TIMESTEPS=50 DT=0.1 initfile='confGS.task1.out.chkp' J=2 Jxy=0.5 measure_each=1 S_total=1/2 CONSERVED_QUANTUMNUMBERS='Sz' MEASURE[Entropy]=True COMPLEX=1; MEASURE_OVERLAP[Overlap]='confGS.task1.out.chkp' ALWAYS_MEASURE=Overlap {} **************************************************** Again with 2.2b3 it works just fine, with 22b4 it produces the error: Energy -10.60920724 Measurements. Measuring Overlap overlap with confGS.task1.out.chkp. Exception raised casting True to type b Exception thrown: std::exception It works fine in 2.2.b3 alps version, while in 2.2.b4 (downloaded by svn from the "svn co https://alps.comp-phys.org/svn/alps1/trunk/alps”) it produces the following error: Measurements. Measuring Overlap overlap with confTEST.task1.out.chkp. Exception raised casting True to type b Exception thrown: std::exception Moreover it seems that in the input file for the b3 version, “always_measure=Overlap” has to be used to trigger the overlap measurements while in b4 version it is “ALWAYS_MEASURE=Overlap” Best, Mateusz Łącki
Dear Mateusz, The error that you see tells that “True” cannot be casted to a boolean. I think the message comes from boost lexical cast. I’m not aware of any change that could have changed the behavior in ALPS, but it could be a change in Boost. However, for boolean variables in input files, I usually always use “0”=False, ”1”=True. Just setting MEASURE[Entropy]=1 should work. (note that this is also what you are doing in the next line with “COMPLEX=1”) Note that the 2.2b3 version was released before we finalized the code for publication, the interface and parameters were not yet stable. 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 12 Mar 2016, at 16:03, Mateusz Łącki <mateusz.lacki@gmail.com> wrote:
Dear All, I would like to compute overlap <\psi(t) | \psi(0)> for an simple open chain system using mps tools. I have encountered a series of errors while doing so.
*************example 1 - input************* LATTICE='chain lattice' MODEL="spin" nsweeps=3; L=20 MAXSTATES=100 TIMESTEPS=50 DT=0.1 J=2 Jxy=0.5 measure_each=1 S_total=1/2
CONSERVED_QUANTUMNUMBERS='Sz' MEASURE[Entropy]=True COMPLEX=1;
{} ****************************************************
The above run with mps_optim produces an error with 2.2b4 version (lastest trunk), but with 2.2b3 it works just fine. To get it working with latest trunk I have to turn off "MEASURE[Entropy]=True"
The error is: Sweep has been running for 11.71635035 seconds. Measurements. Exception raised casting True to type b WARNING: Unclosed tag: EIGENSTATES! Exception thrown: std::exception
Another application I had in mind was computing the overlap. If I manage to compute the ground state (either by using 22b3 version or by turning off "MEASURE[Entropy]=True”) then I want to compute an overlap <psi(t) | psi(0)>.
*************example 2 - input************* LATTICE='chain lattice' MODEL="spin" nsweeps=3; L=20 MAXSTATES=100 TIMESTEPS=50 DT=0.1 initfile='confGS.task1.out.chkp' J=2 Jxy=0.5 measure_each=1 S_total=1/2 CONSERVED_QUANTUMNUMBERS='Sz' MEASURE[Entropy]=True COMPLEX=1; MEASURE_OVERLAP[Overlap]='confGS.task1.out.chkp' ALWAYS_MEASURE=Overlap {} ****************************************************
Again with 2.2b3 it works just fine, with 22b4 it produces the error:
Energy -10.60920724 Measurements. Measuring Overlap overlap with confGS.task1.out.chkp. Exception raised casting True to type b Exception thrown: std::exception
It works fine in 2.2.b3 alps version, while in 2.2.b4 (downloaded by svn from the "svn co https://alps.comp-phys.org/svn/alps1/trunk/alps”) it produces the following error:
Measurements. Measuring Overlap overlap with confTEST.task1.out.chkp. Exception raised casting True to type b Exception thrown: std::exception
Moreover it seems that in the input file for the b3 version, “always_measure=Overlap” has to be used to trigger the overlap measurements while in b4 version it is “ALWAYS_MEASURE=Overlap”
Best, Mateusz Łącki
participants (2)
-
Mateusz Łącki
-
Michele Dolfi