29::196 Computational Physics: Assignments  for week  9  and 10



Readings: Yevick: pp 140-167; email 3 questions for each of the two chapters by Tuesday 11/1/05 NOON.

Homework (due before 11/28):

1) Consider the hamiltonian H= ((1/2)*p1^2+(1/2)*x1^2+g*x1^4+(1/2)*p2^2+(1/2)*x2^2+g*x2^4-b*x1*x2;
with g=>0 and 0<=b<1; It is integrable in the limit  g->0 or b->0;
Find the "chaotic region" in the energy for g=0.1, b= 0.5 and g=1, b=0.1 by studying
Poincare sections as for the double-pendulum or some of the  classical mechanics projects.
Describe the procedures involved, the choices that you need to make in order to obtain informative Poincare sections. Try to write an efficient mathematica code by using Modules.
How could object orientation improve your efficiency?

2) Problem II (5) in  Chapter 7 of Yevick (page 102). A simple example is given in complex3.cpp.

3) Problem 16 in  Chapter 8 of Yevick  (see graph.cpp, graph2.cpp  and the header file plot.h
for simple examples)

4) Analyze the problem of finding an approximate solution of  Laplace equation by relaxation as explained
in Jackson's Classical Electrodynamics  (see week 7) using an object oriented  analysis as in Chapter 6 of
Yevick. Implement your analysis with a C++ code. Monitor the accuracy of the relaxation and compare
the running times with the ones of the Mathematica code.
This is an example of function of an array and a lattice point  (prerelax.cpp)
You can use howlong.cpp to print the current time.
You can use  this notebook to check your program,

.