# Computational Physics

Absolute necessity
A laptop running some flavour of Linux (preferably Ubuntu), with wireless networking capability, and standard C and Fortran compilers and libraries.
Lecture days
Mondays, Wednesdays, Fridays at 11:30 AM, starting Feb 1, 2010
Tutor
Exams
A drop test will be administered to those who register for the course and want to drop the course. The rest of the course will have no written exam. The evaluation will be based on classroom performance and assigned individual projects.
Important dates
• Synchronization of software at 5 PM, January 29, 2010 (A 301)
• First lecture at 11:30 AM, February 1, 2010 (A 301)
• Drop test at 11:00 AM, February 13, 2010 (AG 69)

# Course on Computational Physics, 2010

Monday, May 3, 2010
Submission of the complete project specification, including the full mathematical formulation which will be turned into a program. This can take upto 4 pages generated in TeX (use REVTeX 4) in article style. Deadline is midnight.
Wednesday, Apr 23, 2010
Submission of the final project proposal (one LaTeX page) and complete timing estimate (one LaTeX page) by midnight.
Sunday, Apr 10, 2010
• Implement the algorithm for bracketing the minimum of a function as an object oriented code in Mathematica (decide on what object to use). Test the algorithm on a few functions of your choice in order to check the logic.
• Define arithmetic on objects called intervals in Mathematica (see problem 6 of the lectures given on Feb 8 and 10). Implement intervals appropriate to floating point numbers on a make-believe machine with $p=2$ and $N=2$. Using these check whether arithmetic on intervals reproduces the ambiguities of arithmetic on floating point numbers which were given as examples in those lectures.

Please submit your answers in the standard form: ie, a pdf file which gives your answer to the problem (logic, implementation, main observations, and any extra remarks), ascii files containing the mathematica codes, as a single tar file which unpacks into a directory whose name is your name.

Sunday, Apr 3, 2010

Submit answers to problems 3, 5 and 7 of the lectures given on Feb 8 and 10 (Lecture notes number 3) along with the answer to the following modification of problem 9 of the same set:

Examine the series expansion for exp x. Given a (large positive) value of x, which terms of the series is the largest in magnitude? How large is this value? For what values of x can one evaluate the sum of the series accurate to machine precision (assuming a 32 bit machine with IEEE encoding of floats)? Repeat the exercise for log x.
All problems have to be submitted in the standard form (pdf of the argument, with proper figures, conclusions properly stated, etc, and with supporting programs with makefiles and shell scripts where appropriate). Deadline: midnight.

Thursday, Mar 25, 2010

A new window of opportunity for improving your estimates of the CPU time required for your project proposal. If you want to improve your earlier submission, you can do so before the deadline. Deadline: midnight.

Wednesday, Mar 24, 2010

Since (almost) nobody got the previous problem right, the method of solution was discussed in the class. Those who would like to improve their performance in the assignment can submit the corrected results by the new deadline. This time submit a table with four columns: the first column is the name of the operation, the second the time taken to execute this once, the third is an error estimate, the fourth is the number of cycles taken per execution. Deadline: midnight.

Wednesday, Mar 24, 2010

Report the time required for assignment to a constant, the fundamental binary arithmetic operations (+-*/%), the library functions cos, sin, exp, log, sqrt, floor, ceil. The results can be given as a table in the mail (quoting the values and statistical errors in measurement), and a short explanation of how the measurements were made. Deadline: 9 AM.

Sunday, Mar 14, 2010

Analysis of scaling of CPU time requirements (and parallel speedup, if part of the previously submitted proposal) of the algorithms proposed in the second submission and the total CPU time requirement for the proposal. Deadline: midnight.

Thursday, Mar 4, 2010

Problem on distribution of random numbers generated using lagged Fibonacci generators. Deadline: midnight.

Wednesday, Mar 3, 2010

Histogram of timings of the lift program given in the first lecture using the program histo (also distributed then) and gnuplot. The plot should be submitted as an eps file. Deadline: 2.30 PM.

Thursday, Feb 25, 2010

Revised semester project proposals are to be submitted. Instructions and final submissions can be found here. Deadline: midnight.

Sunday, Feb 21, 2010

Semester project proposals are required. Instructions and final submissions can be found here. Deadline: midnight.

Saturday, Feb 13, 2010

Drop test for those who register. No drop test was administered since no one aked for one.