Claudio Rebbi

Professor - Physics Department

Office:  Physics Research Building (PRB), 3 Cummington Mall, room 551.
Telephone:  617-353-9058.

PY 501 - Mathematical Physics - Fall term 2020

Instructor: Claudio Rebbi

The course is designed to provide the students with the understanding of several mathematical topics which play an important role in graduate physics courses.

Important note: classes and other meetings will be held online via Zoom. Please use the web address to join a class meeting.

Classes will be held on Monday and Wednesday from 10:10AM to 11:55AM. In addition all students will be invited to attend weekly online meetings with the instructor, in small groups, at times to be set according to the students schedules.

Please consult the syllabus for detailed information about lectures, office hours, exams, grading, and many other matters related to the course.

Please also consult this web page regularly: assignments, notes, solutions to problems will be posted here as the course progresses.

Fall semester 2019 lecture notes:

Vector calculus.
Functions of a complex variable.
Second order, linear, ordinary differential equations.
Nonlinear, ordinary differential equations.
The Fourier transform.
Path integral formulation of quantum mechanics.
The Laplace transform.
Partial derivative differential equations I.
Partial derivative differential equations II.

PY 421 - Introduction to Computational Physics - Spring term 2020

Instructor: Claudio Rebbi

Important note: classes will be held via Zoom for the rest of the term. Please use the web address to join a class meeting.

This course introduces computational techniques for the solution of research problems in physics.

The course does not assume any prior knowledge of computer programming. During the first few weeks of the course the students learn basics aspects of programming that will be sufficient to complete the homework assignments and to follow the lectures. As the course progresses the students will further develop their programming skills.

Lectures will be held on Tuesday and Thursday from 11AM to 12:15PM in the CAS Computing Laboratory, room CAS 327. The CAS Computing Laboratory is a workstation equipped room. The students will have user accounts on all the workstations and will also be able to access their accounts remotely. A discussion session will be held on Friday from 3:35PM to 4:25PM in room CAS 327.

Prerequisites are PY351 or equivalent, or consent of the instructor. But what is really needed to follow the course is a basic knowledge of multivariate calculus, of linear algebra, especially the notions of eigenvalues and eigenvectors of a matrix, and of complex numbers. It is assumed that physics majors who passed PY351, "Modern Physics", will have developed these notions, but students in different majors who have that mathematical knowledge can attend the course with profit even if they did not take PY351.

There is no required textbook: lecture notes, software and other materials for the course are distributed through a shared file system, on a server accessible to the students, in the CAS workstation classroom.

Please consult the syllabus for detailed information about lectures, exams, grading and many other matters related to the course.


After introductory lectures on the basics of computing, the course proceeds toward modern methods of computational physics. In particular the data parallel paradigm and graphics rendering are illustrated through computationally intensive applications. All of the techniques are presented in the context of specific projects. For some problems, students are asked to play the role of application scientists, working with the computer in an interactive manner to perform a variety of numerical experiments. For other problems, students are required to take an active part in designing the code that will be used for the solution. Emphasis in all cases will be on the importance that the proper formulation of a problem plays for its ultimate computational solution.

Application problems:

Image manipulations.

Some simple operations are implemented by parallel algorithms on a two-dimensional array representing the intensity values of the pixels in a monochrome image. A relationship is established between the operations performed by computer (e.g. blurring of the image) on the discrete set of image data and fundamentals equations of mathematical physics for continuum fields (e.g. the diffusion equation). Advanced visualization software is presented.

Top and bottom left: the image before and after the blurring operation, which can be interpreted as a diffusion process.

Calculation of the Electrostatic Potential.

Various methods for solving Poisson's equation are evaluated in terms of their suitability for the data parallel paradigm. Students are asked to write the code for some basic iterative methods of solution on a parallel machine. Numerical experiments are used to demonstrate the occurrence of critical slowing down. Multigrid methods and other algorithms for overcoming critical slowing down are analyzed for implementation in a data parallel environment.

Solution of the One-Dimensional Schrödinger Equation.

The time-dependent Schrödinger equation in one space dimension is solved by means of an algorithm that uses repeated fast Fourier transforms in order to preserve the norm of the wave function. The complex wave function is represented graphically by means of a color map whereby its phase is encoded by the color circle. Here the student is provided with code and asked to use it as an application scientist, experimenting with a wide range of initial data.

Simulation of Phase Transitions in Spin Systems.

Stochastic algorithms (Monte Carlo methods) are introduced for the simulation of models, such as the Ising model and the N-state Potts model, which exhibit interesting thermodynamical behavior and phase transitions. Programs for the implementation of such algorithms on a parallel machine are analyzed. Students then use these programs to perform large scale numerical experiments on phase transitions. Particular attention is given to the management of the large base of data that the simulations generate and to developing the auxiliary programs required for the analysis and interpretation of the data.

Molecular Dynamics Simulations.

Students are asked to write serial code for the implementation of molecular dynamics simulations. Following optimization and numerical experimentation with this code, the students and instructor collaborate to write highly efficient code for the simulation on a parallel machine. Performance for the serial and parallel modes of computation are compared and evaluated.

Further information:

Please consult the syllabus for office hours, the dates of the midterm (and final when available) exams, grading criteria, and other topics related to the course.

Last modified: Sat Aug 8 15:47:23 EDT 2020