Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
The reason is probably that your lattice is translation invariant - then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch wrote:
The reason is probably that your lattice is translation invariant - then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM>
</HAMILTONIAN>
</MODELS>
Jun
It is better to use MEASURE_AVERAGE instead of MEASURE_LOCAL. That way you keep the translation symmetry and the reduction it brings in Hilbert space dimension.
Matthias
On 23 Jun 2010, at 16:43, jun wen wrote:
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch wrote:
The reason is probably that your lattice is translation invariant - then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
you are right! However, the problem is that I want to measure the local spin for each site, and it seems to me that if I use the following
MEASURE_AVERAGE[Sz]=Sz;
it will measure the total Sz, not the Sz at each site.
Am I wrong about it?
Best, Jun
On Wed, Jun 23, 2010 at 10:36 PM, Matthias Troyer troyer@phys.ethz.chwrote:
It is better to use MEASURE_AVERAGE instead of MEASURE_LOCAL. That way you keep the translation symmetry and the reduction it brings in Hilbert space dimension.
Matthias
On 23 Jun 2010, at 16:43, jun wen wrote:
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch
wrote:
The reason is probably that your lattice is translation invariant - then
only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
Can't you just divide by the number of sites if it measures the total spin?
On 23 Jun 2010, at 18:10, Jun Wen wrote:
you are right! However, the problem is that I want to measure the local spin for each site, and it seems to me that if I use the following
MEASURE_AVERAGE[Sz]=Sz;
it will measure the total Sz, not the Sz at each site.
Am I wrong about it?
Best, Jun
On Wed, Jun 23, 2010 at 10:36 PM, Matthias Troyer troyer@phys.ethz.ch wrote: It is better to use MEASURE_AVERAGE instead of MEASURE_LOCAL. That way you keep the translation symmetry and the reduction it brings in Hilbert space dimension.
Matthias
On 23 Jun 2010, at 16:43, jun wen wrote:
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch wrote:
The reason is probably that your lattice is translation invariant - then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
-- Jun Wen, Graduate Research Assistant Office: RLM 7.312 Department of Physics 1 University Station C1600 The University of Texas at Austin TX, 78712 Email: jwen@physics.utexas.edu junwen.ut@gmail.com
I am not sure. I am considering the AF Heisenberg where a Neel order should arise as the ground state and I expect staggered magnetization on square lattice. Therefore, the local spin for each site would be different.
On Wed, Jun 23, 2010 at 11:15 PM, Matthias Troyer troyer@phys.ethz.chwrote:
Can't you just divide by the number of sites if it measures the total spin?
On 23 Jun 2010, at 18:10, Jun Wen wrote:
you are right! However, the problem is that I want to measure the local spin for each site, and it seems to me that if I use the following
MEASURE_AVERAGE[Sz]=Sz;
it will measure the total Sz, not the Sz at each site.
Am I wrong about it?
Best, Jun
On Wed, Jun 23, 2010 at 10:36 PM, Matthias Troyer troyer@phys.ethz.chwrote:
It is better to use MEASURE_AVERAGE instead of MEASURE_LOCAL. That way you keep the translation symmetry and the reduction it brings in Hilbert space dimension.
Matthias
On 23 Jun 2010, at 16:43, jun wen wrote:
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch
wrote:
The reason is probably that your lattice is translation invariant -
then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
-- Jun Wen, Graduate Research Assistant Office: RLM 7.312 Department of Physics 1 University Station C1600 The University of Texas at Austin TX, 78712 Email: jwen@physics.utexas.edu junwen.ut@gmail.com
On a finite size system there is no spontaneous symmetry breaking and you will thus not see Neel order by looking at local magnetizations. It can only be detected looking at correlation functions
Matthias
On 23 Jun 2010, at 18:20, Jun Wen wrote:
I am not sure. I am considering the AF Heisenberg where a Neel order should arise as the ground state and I expect staggered magnetization on square lattice. Therefore, the local spin for each site would be different.
On Wed, Jun 23, 2010 at 11:15 PM, Matthias Troyer troyer@phys.ethz.ch wrote: Can't you just divide by the number of sites if it measures the total spin?
On 23 Jun 2010, at 18:10, Jun Wen wrote:
you are right! However, the problem is that I want to measure the local spin for each site, and it seems to me that if I use the following
MEASURE_AVERAGE[Sz]=Sz;
it will measure the total Sz, not the Sz at each site.
Am I wrong about it?
Best, Jun
On Wed, Jun 23, 2010 at 10:36 PM, Matthias Troyer troyer@phys.ethz.ch wrote: It is better to use MEASURE_AVERAGE instead of MEASURE_LOCAL. That way you keep the translation symmetry and the reduction it brings in Hilbert space dimension.
Matthias
On 23 Jun 2010, at 16:43, jun wen wrote:
Hello Matthias,
Thanks for your message. You are right! I found that once I use the graph(where translation symmetry is absent) instead of lattice graph (where translation symmetry is present) to construct the lattice, then the local quantities can be computed via ED.
Best regards, Jun
On Wed, Jun 23, 2010 at 6:55 PM, Matthias Troyer troyer@phys.ethz.ch wrote:
The reason is probably that your lattice is translation invariant - then only average quantities and not local ones are computed, since all local quantities would be the same.
Matthias
On 21 Jun 2010, at 08:33, jun wen wrote:
Hello All,
I was trying to compute the local <S> in the Kitaev model defined on the honeycomb lattice with Exact Diagnolization Here is my parameter file:
MODEL="kitaev"; LATTICE="honeycomb lattice";
LATTICE_LIBRARY="../../../definitions/kitaev/lattices.xml"; MODEL_LIBRARY="../../../definitions/kitaev/models.xml";
MEASURE_LOCAL[Local Sz]=Sz; MEASURE_LOCAL[Local Sx]=Sx; MEASURE_LOCAL[Local Sy]=Sy;
local_S=1/2; L=2; W=2; J=1;
However, in the output xml file, there are no such terms as the Local Sz or Local Splux or Local Sminus. I wonder if anyone could kindly point out what is the problem. The Kitaev model is defined in the following models.xml Thanks a lot!
<MODELS> <SITEBASIS name="spin"> <PARAMETER name="local_spin" default="local_S"/> <PARAMETER name="local_S" default="1/2"/> <QUANTUMNUMBER name="S" min="local_spin" max="local_spin"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> <OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/> </OPERATOR> <OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/> </OPERATOR> <OPERATOR name="Sz" matrixelement="Sz"/> </SITEBASIS>
<SITEOPERATOR name="Sx" site="x"> 1/2*(Splus(x)+Sminus(x)) </SITEOPERATOR>
<SITEOPERATOR name="Sy" site="x"> 1/2/I*(Splus(x)-Sminus(x)) </SITEOPERATOR>
<BASIS name="spin"> <SITEBASIS ref="spin"/> </BASIS>
<HAMILTONIAN name="kitaev">
<PARAMETER name="J1" default="1"/> <PARAMETER name="Jz" default="J1"/> <PARAMETER name="Jx" default="J1"/> <PARAMETER name="Jy" default="J1"/>
<BASIS ref="spin"/>
<BONDTERM type="0" source="i" target="j"> Jz*Sz(i)*Sz(j) </BONDTERM>
<BONDTERM type="1" source="i" target="j"> Jx*Sx(i)*Sx(j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j"> Jy*Sy(i)*Sy(j)
</BONDTERM> </HAMILTONIAN>
</MODELS>
Jun
-- Jun Wen, Graduate Research Assistant Office: RLM 7.312 Department of Physics 1 University Station C1600 The University of Texas at Austin TX, 78712 Email: jwen@physics.utexas.edu junwen.ut@gmail.com
-- Jun Wen, Graduate Research Assistant Office: RLM 7.312 Department of Physics 1 University Station C1600 The University of Texas at Austin TX, 78712 Email: jwen@physics.utexas.edu junwen.ut@gmail.com
Hi,
I am using ALPS qmc codes (currently looper because of a non 0 transverse field) with a honneycomb unitcell containing with 24 sites lying themselves on a regular smaller honeycomb lattice.
My question : is there an "automatic" way to make ALPS calculate the structure factors corresponding to the smaller underlying lattice without having to define by hand the N^2 corresponding structure factors.
Let me be more precise : if i define a square unitcell (to simplify) of linear size "a" and a system of (linear) length "Na" and ask for the structure factors, I will get all the S(q) with q=(2pi nx/L,2pi ny/L) and n ranging from 1 to N but if I define a system of only ONE unitcell of length Na, ALPS apparently only calculates the structure factors corresponding to q=(0,0) because the size of the system is 1.
I need to work with a 24 sites unitcell, but I also need to get information about the 24 structure factors.
Many thanks,
Jean-David
Dear Jean-David,
By specifying
MEASURE[Correlations] = 1
the correlation functions between all the site paris will be calculated. Then, you can Fourier transform them by yourself afterward.
Or you can specify
USE_SITE_INDICES_AS_TYPES = 1 USE_BOND_INDICES_AS_TYPES = 1
by which you can use different coupling constants and magnetic fields for every site/bond with using a smaller unitcell.
c.f) http://wistaria.comp-phys.org/alps-looper/
Synge
On 2010/06/26, at 14:51, Jean-David Picon wrote:
Hi,
I am using ALPS qmc codes (currently looper because of a non 0 transverse field) with a honneycomb unitcell containing with 24 sites lying themselves on a regular smaller honeycomb lattice.
My question : is there an "automatic" way to make ALPS calculate the structure factors corresponding to the smaller underlying lattice without having to define by hand the N^2 corresponding structure factors.
Let me be more precise : if i define a square unitcell (to simplify) of linear size "a" and a system of (linear) length "Na" and ask for the structure factors, I will get all the S(q) with q=(2pi nx/L,2pi ny/L) and n ranging from 1 to N but if I define a system of only ONE unitcell of length Na, ALPS apparently only calculates the structure factors corresponding to q=(0,0) because the size of the system is 1.
I need to work with a 24 sites unitcell, but I also need to get information about the 24 structure factors.
Many thanks,
Jean-David
Dear Synge,
This is exactly what I was trying to do (quite easily with the python tools) when I got your message but your answer is really welcome as a confirmation and for the precisions you add.
I have now another question : as I use a transverse field, I will be interested in studying the magnetization along the x-axis. How could I reach such an observable with the looper code ?
Many thanks,
Jean-David
Le 28 juil. 2010 à 04:10, Synge Todo a écrit :
Dear Jean-David,
By specifying
MEASURE[Correlations] = 1
the correlation functions between all the site paris will be calculated. Then, you can Fourier transform them by yourself afterward.
Or you can specify
USE_SITE_INDICES_AS_TYPES = 1 USE_BOND_INDICES_AS_TYPES = 1
by which you can use different coupling constants and magnetic fields for every site/bond with using a smaller unitcell.
c.f) http://wistaria.comp-phys.org/alps-looper/
Synge
On 2010/06/26, at 14:51, Jean-David Picon wrote:
Hi,
I am using ALPS qmc codes (currently looper because of a non 0 transverse field) with a honneycomb unitcell containing with 24 sites lying themselves on a regular smaller honeycomb lattice.
My question : is there an "automatic" way to make ALPS calculate the structure factors corresponding to the smaller underlying lattice without having to define by hand the N^2 corresponding structure factors.
Let me be more precise : if i define a square unitcell (to simplify) of linear size "a" and a system of (linear) length "Na" and ask for the structure factors, I will get all the S(q) with q=(2pi nx/L,2pi ny/L) and n ranging from 1 to N but if I define a system of only ONE unitcell of length Na, ALPS apparently only calculates the structure factors corresponding to q=(0,0) because the size of the system is 1.
I need to work with a 24 sites unitcell, but I also need to get information about the 24 structure factors.
Many thanks,
Jean-David
Dear Jean-David,
On 2010/08/02, at 23:59, Jean-David Picon wrote:
I have now another question : as I use a transverse field, I will be interested in studying the magnetization along the x-axis. How could I reach such an observable with the looper code ?
The average transverse magnetization can be measured by the Zeeman energy, which is proportional to the number of sigma-x operators (besides a constant offset).
Best, Synge
comp-phys-alps-users@lists.phys.ethz.ch