Project Format:
Clearly define a physical problem you want to solve. Don't choose
anything too ambitious or challenging.
Write your own numerical program to solve it. While doing this, discuss
with others, including myself, the best method to use and the smartest
way to implement it. You are encouraged to do your projects in groups
of 2. Once you get numerical results from your program, test them to
convince yourselves and me that your program is working. For example,
try some limiting cases in which you know what should happen. Then
run your program for several cases, and analyze your output systematically.
While writing the program is often perceived as the hardest part, it is
actually the analysis of the results which make numerical projects
worthwhile. Therefore, you want to spend considerable time on thinking
of everything you can do and test with your program. The report does not
have to be long (more than 10 pages), but it should include (i) a description
of the problem you are trying to solve, (ii) a description of the method
you are using (attach program), (iii) tests of your code (e.g. limiting
cases) to convince everybody that it is working properly, (iv) presentation
and analysis of results.
Time Schedule for the Projects:
Monday, April 14, 2003: Start projects, groups of 2 are ok.
week of April 28 - May 2, 2003: Presentation of a few selected projects,
especially by those who have not given a talk yet.
Monday, May 12, 2003:
Due date of final version.
Suggested Projects:
(You are encouraged to propose a good project related to
your research. For inspiration, you may also turn to
this website,
or pick one of the projects listed below.)
1. Diagonalization of Random Matrices:
Determine the density of states for a one-dimensional chain with random
hopping. First, calculate numerically
the eigenvalues of the corresponding random
matrix, assuming a uniform distribution of the coupling constant about
a mean value t=1. Then construct the density of states from these eigenvalues,
replacing the delta-function in the definition of the density of states by
a Lorentzian of small width.
2. Percolation: Write a program to determine the percolation threshold on the
two-dimensional square lattice. Help and instructions for
this project can be found in Chapter 13 of
Gould and Tobochnik.
3. Wolff Algorithm: Implement the Wolff algorithm to accelerate the
Monte Carlo simulation of the 2D Ising model close to the critical point.
4. Other Monte Carlo Methods: T. Pang's problems 9.8, 9.9, 9.10.
5. Exact Diagonalization: Write a Lanczos program to obtain eigenvalues
and eigenvectors for the spin-1/2 antiferromagnetic Heisenberg chain.
Implement the symmetry of translational invariance, i.e. cast the Hamiltonian
matrix in a block diagonal form with respect to the wave vector "k". Obtain
the lowest energy eigenvalue in each block. This will give you the dispersion
function, "w(k)", for this system.
6. Traveling Salesperson: Write a program to find the
optimum route through a given arrangement of cities. Then
generalize the program to perform other practical tasks.
For example, find the best proctoring schedule for
a given list of teaching assistants, avoiding scheduling
overlaps ... .
Look at Chapter 17 of
Gould and Tobochnik.
7. Integral Equations: Many problems in Quantum Mechanics or
in Classical Transport theory can be cast in the form of
integral equations, like e.g. a diffusion equation. Often,
these equations can only be solved numerically. Pick a
non-trivial integral equation of interest to you, and solve it
on the computer. Help can be found in Numerical Recipes. There
is also a small chapter in Arfken.
8. Cellular Automata: For example, simulate traffic flow, based
on simple rules in a time series. Cars enter from the left with
different speeds, let's say on two lanes. When a faster one approaches
a slower one it changes lanes if possible. What would be a critical
density of cars when trafiic jams occur? How does it depend on
the distribution of speeds? What is the effect of extrinsic
objects, e.g. curves where everybody slows down? (see papers by Kai Nagel).