*Although I've tried to make things correct/clear there are occassionally typos/confusing wording/etc. When there is a discrepancy between the problem I clearly mean to be asking and the one I've asked, please solve the former. The piazza website is a good place to help us clarify the problem statements.*

*When answering questions please write out in a complete and explanatory way what you're doing. Someone who doesn't know what's going on should be able to read it and understand (so in addition to equations, use words!).*

In this problem you're going to show for a two-dimensional solid that the number of states which become degenerate in the thermodynamic limit and the number of spontaneously symmetry-broken states are the same.

Consider a two-dimensional system of size $ L \times L$ where space is discretized on a fine grid with grid-spacing $\Delta \times \Delta$. Assume that there are electrons on this grid with spacing $a \times a$. (So there are $a/l$ grid-points between each electron.)

(a) Count the number of spontaneously broken degenerate states which exist in the thermodynamic limit.

(b) Count (and explicitly write out how you counted) the number of states which have a finite energy gap above the ground state for a finite system but which will become degenerate in the thermodynamic limit.

*Hint:*

First write down the energy $E(k)$ for the center of mass part of the Hamiltonian

Then determine what the minimum value of $k$ is for the center of mass.

Then determine the maximum momentum allowed in the box.

Then use this information to write down the number of eigenstates which will be zero in the thermodynamic limit.

There will be a number of models we will consider in this class. One of these is the Hubbard model; in this assignment you will work out some properties of the Hubbard model by hand. In future problems, you will use these results to compare against code you write.

In this problem, you will work out the Hubbard model by hand.

The Hubbard model is $H= -t \sum_{\langle ij \rangle \sigma} c_{i\sigma}^\dagger c_{j\sigma} + U \sum_{j} n_{j\uparrow}n_{j\downarrow} - \mu \sum_j (n_{j\uparrow} + n_{j\downarrow})$

Set $t=0$ and show that the occupation is given by $\rho=\langle n \rangle = 2(1+2\exp[\beta \mu]+\exp[2\beta\mu - \beta U])^{-1}(e^{\beta \mu}+e^{2\beta\mu - \beta U})$

Plot the density $\langle n \rangle$ as a function of $\mu$ at fixed $U=4, T=0.5.$ Is their something in this plot that suggests a Mott Insulator at half-filling?

Make a plot of the energy $E=\langle H \rangle$ and the specific heat $C=dE/dT$ at half-filling as a function of $T$ for $U=4.$

For a single site, make a plot of the local moment as a function of $U$ at half-filling for fixed $T=2$

By considering the four different possible configurations of a site, explain why at high temperatures the local moment takes on the value $\langle m^2 \rangle =1/2$

Similarly, explain physically why $\langle m^2 \rangle=1$ at low temperatures or large values of $U$.

Show the local moment is related to 'double occupancy' $d=\langle n_{\uparrow} n_{\downarrow} \rangle$ by $\langle m^2\rangle = \langle n_{\uparrow} + n_{\downarrow} \rangle -2d$

Compute (analytically) the density of states $N(E)$ of one-dimensional Hubbard model with no interaction. Explain why $N(E)$ diverges at $E=\pm 2t$ in terms of a picture of the dispersion relation $E(k)=-2t\cos(k)$. Compute $N(E)$ numerically and compare to your analytic calculation.

Compute (numerically) the density of states $N(E)$ of the non-interacting two-dimensional square lattice Hubbard model which has $E(k_x,k_x)=-2t(\cos(k_x)+\cos(k_y))$ Show that $N(E=0)$ diverges. Can you compute $N(E)$ analytically?

Your goal in this problem is to produce a working exact diagonalization code which uses lin tables and works in arbitrary $Sz$ sectors. It should be set up to work for two-dimensional Heisenberg models (another model we will see recur throughout class)

$$H=\sum_{\langle i,j \rangle} s_i \cdot s_j$$

with the ability in the future to modify it for other Hamiltonians (you will find this useful when developing over codes to compare against)

First, write a convincing argument that lin-tables compresses as promised.

Now write an exact diagonalization code.

- Make lin-tables work
- Define your basis as
**basis=falses((basisSize,N))**and fill it with all $S_z$ binary numbers Produce two tables

**highBits=zeros(Integer,linTableSize)**and**lowBits=zeros(Integer,linTableSize)**and fill them with the appropriate shifts. Write a function**function WhereAmI(basisElement,lowBits,highBits)**which takes a basis element and finds the appropriate location in a basis. Check against your basis that this works.Write a function

**function MatVec(v, highBits, lowBits)**which takes the vector $v$ and returns a new vector $Hv$.Use lanczos to find the ground-state eigenstates and eigenvectors. Use your results from problem 2 as a sanity check.

Using your exact diagonalization code, compute the ground state of the anti-ferromagnetic, two-dimensional square nearest neighbor Heisenberg model for different systems sizes and identify the tower of states that correspond to the spontaneous symmetry breaking of the anti-ferromagnetic.