UNIVERSITY OF CAPE TOWN

UCT Physics PHY321F - Advanced Physics


Computational methods in physics


This is an introduction to computational physics.

The course will illustrate various numerical techniques by focussing on simple (OK, and not-so-simple) physical problems. It is not intended to be a course on numerical methods; rather it will be aimed at the application of numerical methods to physical models.

Students may use any programming language they feel comfortable with. However, examples and instruction will be given in Python, using the Numeric and visual modules. Recommended for plots is the pylab module.


Why Python?

Not all students in this course have had programming experience. Python is a modern object oriented programming language which is freely available. Python has a short learning curve and with the specified modules has powerful facilities for numerical calculation and visualisation.

There is an excellent tutorial in the Python documentation - you should read this as well as the Library manual.

Here are some texts on programming in Python:

Here are some useful articles on numeric programming in Python:

There is also a start at useful Python code fragments


Selected references

  1. De Vries, A first course in computational physics (Wiley, 1994)
  2. Garcia, Numerical methods for physicists (Prentice-Hall, 1994)
  3. Giordano, Computational physics (Prentice-Hall, 1997)
  4. Gould and Tobochnik, An Introduction to Computer Simulation Methods (2nd Ed.) (Addison-Wesley, 1996)
  5. Press et. al., Numerical recipes (various editions) (Cambridge UP,1986 on)