Understanding Heisenberg, Hamiltonians and Spin Chains

I don't know if this helps at all, but it's the best I can do.In summary, the conversation discusses a computational physics problem related to quantum mechanics. The problem involves writing a program to set up the Hamiltonian matrix for the Heisenberg model and solving the matrix eigenvalue problem to calculate the low lying levels of the energy spectrum. The conversation also includes discussions on quantum spin chains, basis states, and operators. The conversation ends with a helpful explanation on how to construct the matrix for 2 particles.
  • #1
genloz
76
1

Homework Statement


Hi! I'm studying a computational physics course and have been ok so far but the newest problem relates to quantum mechanics (which I haven't studied) and I am struggling to understand... I would really appreciate it if someone could help me understand the physics side of things. The question relates to the energy spectrum of quantum spin chains.
The problem:
Write a program which sets up the Hamiltonian matrix for the Heisenberg model for
arbitrary chain size, N, and solve the matrix eigenvalue problem. Calculate the low
lying levels of the energy spectrum for various values of N. Compare your results for
the ground state energy density E0/N with the infinite chain result, E0/N = ?ln2+
1/4 (N ?infinity).


Homework Equations


The Hamiltonian of the Heisenberg model is given as:
H=[tex]\sum^{k=0}_{N-1}[H_{z}(k)+H_{f}(k)][/tex]
where
[tex]H_{z}(k)=S^{z}(k)S^{z}(k+1)[/tex]
[tex]H_{f}(k)=1/2[S^{+}(k)S^{-}(k+1)+S^{-}(k)S^{+}(k+1)][/tex]
The operation of the diagonal operator, [tex]H_{z}(k)[/tex], and the flipping operator, [tex]H_{f}(k)[/tex]on a
basis state gives:
[tex]H_{z}(k)|s^{z}(1)...s^{z}(k)s^{z}(k+1)...s^{z}(N)\right>\rangle =
s^{z}(k)s^{z}(k+1)|s^{z}(1)...s^{z}(k)s^{z}(k+1)...s^{z}(N)[/tex]
and
[tex]H_{f}(k)|s^{z}(1)...s^{z}(k)s^{z}(k+1)...s^{z}(N)\right>\rangle =
1/2|s^{z}(1)...-s^{z}(k)-s^{z}(k+1)...s^{z}(N) (for s^{z}(k)s^{z}(k+1)=-1)[/tex]
or
[tex]=0 (for s^{z}(k)s^{z}(k+1)=+1)[/tex]

The Attempt at a Solution


I'm completely lost. I understand what a Hamiltonian is, but no matter how much I read about the Heisenberg model I remain confused. Nothing outlines it simply and I have no idea how to set up a matrix with the equations above. Once I have the matrix I can easily program the row reduction but I really need some help to get my head around the concepts! Thankyou.
 
Physics news on Phys.org
  • #2
OK, let me take a stab at it. First, let's take just one spin. There are two possible basis states, "up" and "down". Let the "up" state be represented by the column vector [tex]\left({1\atop 0}\right)[/tex], and the "down" state by [tex]\left({0\atop 1}\right)[/tex]. Then the operators for that spin are
[tex]S^z = \left({+1 \;\;\;\;\; 0 \atop \;\; 0 \;\;\; {-1}}\right), \quad
S^+ = \left({0 \;\;\; 1 \atop 0 \;\;\; 0}\right), \quad
S^- = \left({0 \;\;\; 0 \atop 1 \;\;\; 0}\right).[/tex]

Now, with two spins, the basis states are up-up, up-down, down-up, and down-down. When there is a product of operators, like [tex]S^+(1)S^-(2)[/tex], where 1 refers to the first spin and 2 to the second, each operator acts on its own spin. So, [tex]S^+(1)S^-(2)[/tex] acting on down-up would convert it to up-down, and would give the null vector when acting on any other basis state.

And so on with more spins. With N spins, the hamiltonian is ultimately a 2N by 2N matrix that you have to diagonalize.
 
  • #3
Thanks very much but I'm still a bit confused. Do you know of any good links describing the quantum spin chain problem? Everything google comes up with seems to be academic abstracts with purchase only links to the papers...

I did find something called 'quantum wang landau' though which seemed to be an algorithm for thermodynamic spin chains but I can't find much info about that either...

Any help at all would be greatly appreciated - I would really like to understand what's happening here...
 
  • #5
Thanks for your help. I'm still confused about where the operators came from and how they relate to the problem...

And more confusingly is that fact that you mention 'with two spins, the basis states are up-up, up-down, down-up, and down-down'. That appears to be 8 matrix elements rather than 2^2 x 2^2 which would require 16 matrix elements. I'm still very confused about how to generate these 'basis states'... all the papers I read have bra-ket notation which I can't find a good explanation about anywhere...

I was under the impression that the matrix is set up with these 'basis states', diagonalised to obtain the eigenvectors and eigenvalues. The energy spectrum would be the sum of the eigen values and I was equally dumbfounded as to where the external applied magnetic field came in...
 
  • #6
Physically, you want to consider the quantum mechanical problem of particles, like electrons, that have a dipole moment because they are charged and carry an intrinsic angular momentum called spin. The classical interaction of dipoles involves the angular momentum vectors in a dot product; in the case of the Heisenberg model, the contribution to the potential energy (and therefore the Hamiltonian in a static system) of two particles is
-(constant)*S1 "dot" S2,
where S1 and S2 are vectors and so have components Sx, Sy, Sz. In quantum mechanics, you turn these components into operators. The dot product of the vector operators can then be expanded as in the problem statement if you change variables Sx and Sy to S+ and S-. The operators act on quantum states as has been described; they are eigenstates of Sz operator. The potential energy of a given state is then determined by an eigenvalue equation involving the "S1 dot S2" Hamiltonian operator.

Now, if the magnitude of the spin is 1/2, then there are two eigenstates with respect to Sz (two directions it can point along our "preferred" z-axis): +1/2 and -1/2. As described in one of the responses above, these eigenstates can be written as 2-component column vectors. Then the operators Sz S+ S- must act as 2X2 matrices, as also written. If you want to consider 2 particles, the states must be expanded to 4-component column vectors acted on by 4X4 matrices (the operators)...that is, a tensor product of the single particle state space with tensor product of operators acting. The operator
Sz(1) X Sz(2) is constructed as a 4x4 matrix as
1 0 | 0 0
0 -1 | 0 0
-----------
0 0 | -1 0
0 0 | 0 1

The top left box of the matrix is "an Sz matrix multiplied by the top left element of another Sz matrix", the top right box is "an Sz matrix mutiplied by the top right element of another Sz matrix", and so on. Then the eigenstates of this matrix are (check)
(1000) for a |++> state, with eigenvalue being the product of spin values (+1)(+1)=+1
(0100) for a |-+> state, with eigenvalue (-1)(+1)= -1
(0010) for a |+-> state, etc
(0001) for a |--> state, etc

For N particles, the above matrix will have a diagonal that alternaties with
+1 0
0 -1
and
-1 0
0 +1
and you can figure out the pattern for the N-component eigenstates.

To form the tensor product operator
S+(1) X S-(2), use the previously mentioned recipe to get
0 0 | 0 0
0 0 | 0 0
---------
0 1 | 0 0
0 0 | 0 0

Check that on a |-+> state (above), this matrix turns it into a (+-) state, and on all other states it gives zero. This is because the operator is supposed to raise the first particle's spin value, which it can only do if that is s1=-1/2; and it lowers the second particle's spin value, which it can only do if that is s2=+1/2.

You should be able to form the S-(1)XS+(2) matrix and verify that it takes the |+-> state to |-+>.

The full Hamiltonian is then the sum of matrices SzXSz, etc., which is not diagonal so that the states we've written are not eigenstates of the Hamiltonian. As you know by now, you have to diagonalize the matrix to get the eigenvalues and eigenstates to get the energy spectrum.
 
  • #7
are the first couple of matrices for N=1,2,3 etc published anywhere so I can check what I'm doing?
Thanks for the detailed explanation btw!
 
  • #8
I'm sorry I know I'm dumb but I still don't quite understand. Is there an algorithm for setting up the matrix anyone could point me to? Thanks!
 
  • #9
Okay, I found the following pieces of code but I don't know anything about fortran so I was wondering if someone could please explain them to me?

This is for setting up the basis states:
subroutine makebasis(nup)
sigma(:)=0
nstates=0
do a=0,2**n-1
nu0
do i=1,n
nu=nu+sigma(i)
end do
if(nu==nup) then
nstates=nstates+1
state(nstates)=a
end if
k=1
1 sigma(k)=sigma(k)+1
if (sigma(k)>1.and.k<n) then
sigma(k)=0
k=k+1
goto 1
end if
end do

And this is for construction of the hamiltonian (But I'm particularly confused about where the bonds and bondspin came from??):
subroutine hamiltonian
do a=1,nstates
call makestate(state(a),sigma,n)
do bond=1,nb
s1=bondspins(1,bond)
s2=bondspins(2,bond)
ss1=sigma(s1)
ss2=sigma(s2)
ham(a,a)=ham(a,a)+jz(bond)*(ss1-0.5d0)*(ss2-0.5d0)
if (ss1/=ss2) then
sigma(s1)=1-ss1
sigma(s2)=1-ss2
call findstate(statecode(sgima,n),b)
ham(a,b)=ham(a,b)+jxy(bond)/2.d0
sigma(s1)=ss1
sigma(s2)=ss2
end if
end do
end do
 

FAQ: Understanding Heisenberg, Hamiltonians and Spin Chains

What is the Heisenberg uncertainty principle?

The Heisenberg uncertainty principle is a fundamental principle in quantum mechanics that states that the more precisely one knows the position of a particle, the less precisely one can know its momentum, and vice versa. This means that there is a fundamental limit to how accurately we can measure certain properties of particles, and this uncertainty is inherent to the nature of quantum particles.

What is a Hamiltonian in quantum mechanics?

In quantum mechanics, the Hamiltonian is an operator that describes the total energy of a system. It takes into account the kinetic and potential energies of all the particles in the system, and is used to calculate the time evolution of the system. The eigenvalues of the Hamiltonian are the possible energy states of the system.

What is a spin chain in quantum physics?

A spin chain is a one-dimensional array of quantum particles, such as electrons, that have a quantum property called spin. The spin of a particle can be thought of as its intrinsic angular momentum, and it can take on certain discrete values. Spin chains are important models in condensed matter physics, and can be used to study phenomena such as magnetism and superconductivity.

How are Heisenberg, Hamiltonians, and spin chains related?

Heisenberg's uncertainty principle, Hamiltonians, and spin chains are all concepts in quantum mechanics that are closely related. The Heisenberg uncertainty principle is a fundamental limit on our ability to measure certain properties of particles, and it arises from the mathematical structure of quantum mechanics, which is described by the Hamiltonian. Spin chains are systems that can be described by a Hamiltonian, and the spin of the particles in the chain is subject to the uncertainty principle.

What are some applications of understanding Heisenberg, Hamiltonians, and spin chains?

Understanding these concepts is crucial for many applications in modern physics, including the development of new technologies such as quantum computers and quantum communication systems. They are also important for studying and predicting the behavior of materials at the atomic level, which has implications for fields such as materials science and chemistry. Additionally, understanding these concepts is necessary for furthering our understanding of the fundamental laws of nature and the behavior of matter on a quantum scale.

Back
Top