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,
.