**2D Ising Model:**

For this problem you may use one of the already written 2D Ising Monte Carlo
programs (available in FORTRAN, C, and C++) on our webpage. Be aware
that in the following we will always take the absolute value of the
magnetization, **|M(T)|**, because the magnetization itself vanishes exactly
in the phase of spontaneously broken symmetry of the Ising model.

1) Print out the program you are using, and briefly comment the main program,
the subroutines, and the functions. You may write your comments by hand on the
printout. This is to show that you understand what the program is doing.

**(10
points) **

2) Run the program for lattice sizes 2*2, 4*4, 8*8, and 16*16, and make plots
of the magnetization as a function of the temperature, **|M(T)|,** for **T=0.5,
... , 10.0**. Calculate analytically **|M(T)|** for the 2*2 lattice with
periodic boundary conditions, and compare your result with the Monte Carlo simulation.
You may present all your results of this section in one plot. **(40
points) **

3) Determine the critical temperature in the thermodynamic limit (infinite size
lattice) by using finite size scaling:

**T_c(L) -
T_c(L=infinity) = A/L**, where **L** is the linear system size (number of
sites = **L*L**), and **A** and **T_c(L=infinity)** are parameters to
be determined by a fit of your data. Compare to the exact result by Onsager: **T_c(L=infinity)=2/ln(1+sqrt(2)).**
To determine **T_c(L)**, you may use the following (rather rough) midpoint
criterion: **|M(T_c(L))|=(|M(T=0.0)|+|M(T=10.0)|)/2.0**, where **T=Infinity**
is approximated by **T=10.0**. **(30 points) **

4) From finite size scaling theory we know that the spin-spin correlation
length, **chi(T)**, diverges at the Ising transition as **chi(T) = constant
* L = constant/(T_c - T)**. The magnetization below the transition
temperature vanishes with a power law, **|M(T)| = constant * (T_c - T)^Beta**.
Determine the critical exponent Beta from a fit of your finite size data for
the magnetization at the thermodynamic transition point, **T_c=2.269**. Use
as many Monte Carlo steps per spin as possible. Compare your results to the
exact value of **Beta = 1/8**. **(20 points) **