P4840: Mathematical and Computational Methods in Physics
Spring 2011 

Lectures:         When:  MWF, 9:00am-9:50pm.  Where:  PS  234
Office Hours:         When:  MWF, 1:30am-2:30pm.  Where:  PS  329

Prof. Adrian Feiguin
Office:  Physics 329
Phone: (307) 766-6534
E-mail: afeiguin@uwyo.edu
Homepage: http://physics.uwyo.edu/~adrian
Email me anonymously by following this link


 I would like to plan this course according to your knowledge, experience, and interests. To facilitate this, it would be of great help if you can send me an e-mail with your answer to the following questions:

  1. What's your major?
  2. What are your fields of interest in physics?
    1. Astronomy/Cosmology
    2. Geo/Atmospheric
    3. Particle/High energy
    4. Plasma
    5. Condensed Matter
    6. Optics
    7. Bio/Medical
    8. Others...
  3. What programming languages you know? Which one do you prefer? What's your level of expertise?
  4. Are there any particular topics that you would like to see covered in this course? Looking at the topics described below, do you have any suggestions that you would like to make about the contents?
  5. What are your expectations for this course?


The fundamental advantage of using computers in physics is the ability to treat systems that cannot be solved analytically. In the usual situation we can gain insight on the physics of a problem studying soluble models, or limits of a problem that can be treated exactly. However, most of the real world cases do not fall in this category, and we need a computer to solve them. In principle we expect the solutions to agree qualitatively with the intuition gained by solving the simple cases (or "toy models"), but this is not always the case. Sometimes, the numerical results defy out intuition, and make us reshape our understanding of the problem. This is the case of "chaos", for instance, where the dynamics of simple classical systems gives rise to some surprising behavior.

The purpose of this course is to introduce students to a series of paradigmatic physical problems, using the computer to solve them.
It will be customized according to students' interests, background and knowledge.
Students will be able to pick a favorite topic for their final assignments.

Prerequisites for the course are Numerical Analysis and knowledge of a programming language (C/C++, Matlab, Fortran, Python).

Class format:
Each class will be focused towards solving a physical problem, and will have the following presentation:

I am assuming that you know Numerical Analysis, and some programming language. Also, that you have access to the lab computers, and you know how to use them and the compilers. I am going to use C++ for the course. This is not a programming or C++ course, though, so you are welcome to use another language if you prefer. However, we are going to learn how to implement numerical algorithms to solve physical problems, and how to optimize them to make them more efficient. Implicitly, you are going to learn C++ and some tricks.
Most of the exercises and assignments will involve plotting functions and data. If you don't know how to use a plotting program, you should look at GnuPlot, freely available in the web, and with versions for Windows and Linux.

The grade for the course will be based on:  

  1. homeworks (45%), due every Monday (a penalty of 30% per day will be assessed to the homework if it is turned in late, and no credit will be given if it's more than 3 days late)
  2. final assignment (55%) [take-home]

Scale: A: (> 90%) ; B: (80-90%); C: (70-80%) ; D: (60-70%) ; F: (< 60%)

What you should expect from me:

How to be successful in physics:

Absence policy:

Topics to be covered

Here is a list of topics I am planning to cover.
The list is tentative, it is not fully worked and developed.
It will be adjusted to students' background, knowledge and interests. (That's why I asked you to answer my survey above!)
We will not cover ALL the topics necessarily.

Recommended Books

These books are all recommended but not required.

Other Books

Internet Resources

On-line Java Aplets

Class notes

Program files


more are coming soon...

Academic integrity:

University Regulation 802, Revision 2, http://uwadmnweb.uwyo.edu/legal/Uniregs/ur802.htm defines academic dishonesty as "an act attempted or performed which misrepresents one's involvement in an academic task in any way, or permits another student to misrepresent the latter's involvement in an academic task by assisting the misrepresentation." There is a well-defined procedure to judge such cases, and serious penalties may be assessed.

Classroom decorum:

Unireg 29, Change 1, http://uwadmnweb.uwyo.edu/legal/Uniregs/ur029.htm states that the student has obligations as well as rights in the classroom.

Cell phone policy:

Cell phone use is not allowed in class. They should be turned off, or into vibration mode. Calls will only be allowed in case of an emergency situation.

Use of electronic devices in class:

Use of I-pods, mp3 players, cell phones, and texting are strongly discouraged. Any disruptive behavior related to the use of electronic devices will be considered unacceptable. Please, respect your peers.

Students with Disabilities:

If you have a physical, learning, or psychological disability and require accommodations, please let me know as soon as possible.  You will need to register with, and provide documentation of your disability to, University Disability Support Services (UDSS) in SEO, room 330 Knight Hall, 766-6189, TTY: 766-3073.