Dear Dr. Troyer and users of ALPS, I am trying to measure local magnetization with MEASURE_LOCAL[Local magnetization]=Sx for the following model: <HAMILTONIAN name="my spin model 1"> <BASIS ref="spin"/> <SITETERM site="i"> -2*xi*Sz(i)-2*h*Sx(i) </SITETERM> <BONDTERM source="i" target="j"> -g*(Splus(i)*Sminus(j)+Sminus(i)*Splus(j)) </BONDTERM> </HAMILTONIAN> Value of parameter xi depends on the site in an actual problem, but this is not important now. Since dirloop_sse says that "Offdiagonal site terms are not implemented in this SSE code", I use the worm code. Worm code says the following for this: "Will not measure "Local magnetization" since it is off-diagonal or not a site operator". As a trick to overcome this problem, I tried to rotate the coordinate system in order to measure the required values with MEASURE_LOCAL[Local magnetization]=Sz In this case the rotated model is: <SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR> <HAMILTONIAN name="my spin model 2"> <BASIS ref="spin"/> <SITETERM site="i"> -2*xi*Sy(i)-2*h*Sz(i) </SITETERM> <BONDTERM source="i" target="j"> -2*g*Sz(i)*Sz(j)-2*g*Sx(i)*Sx(j) </BONDTERM> </HAMILTONIAN> Now the worm code says the following: "can not convert complex number into real one". Therefore, the worm code does not seem to understand Sy(i) as a site term in Hamiltonian (?). Finally, I tried another version of rotation, which also would allow to measure with MEASURE_LOCAL[Local magnetization]=Sz The rotated model is: <SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR> <HAMILTONIAN name="my spin model 3"> <BASIS ref="spin"/> <SITETERM site="i"> 2*xi*Sx(i)-2*h*Sz(i) </SITETERM> <BONDTERM source="i" target="j"> -2*g*Sz(i)*Sz(j)-2*g*Sy(i)*Sy(j) </BONDTERM> </HAMILTONIAN> Now the worm code says the following: "Cannot simulate this bond term with the worm code". Therefore, the worm code does not seem to understand Sy(i)*Sy(j) as a bond term in Hamiltonian (?). Could you let me know whether there are ways to perform the measurement ? Sincerely yours, Lev Barash
On Sep 18, 2012, at 8:19 AM, Lev <lev251@gmail.com> wrote:
"Cannot simulate this bond term with the worm code".
Therefore, the worm code does not seem to understand Sy(i)*Sy(j) as a bond term in Hamiltonian (?)
it does understand it, but the ALPS worm code cannot do transverse field. Matthias Troyer
participants (2)
-
Lev
-
Matthias Troyer