Required software

  1. Python (version 2.7)
  2. NumPy
  3. Matplotlib
  4. SciTools

Recommended software

  1. IPython
  2. ScientificPython
  3. Gnuplot plotting program
  4. Python module for Gnuplot
  5. SciPy
For plotting, you can use Matplotlib only, or the subpackage Easyviz of SciTools in combination with Matplotlib. SciTools can also utilize Gnuplot (or other packages) for plotting so that is why Gnuplot is listed.

Most of the mentioned packages are easy to install (just go to the top folder of the package and run python install), but Gnuplot may require compilation, depending on the platform (on Windows there is a binary installer, on Mac you can use Fink for MacPorts to install Gnuplot).

Our experience with getting 1000+ students to install this software on all kinds of laptops, have led us to recommend one single procedure (unless one has sufficient competence to follow the install instructions of each package on a particular platform). This procedure consists of using Ubuntu Linux to do all programming work with Python.

On Ubuntu, one simply performs the install by

sudo apt-get install python-scitools python-scipy

On a Windows or Mac computer, there are two ways to use Ubuntu: 1) have a dual boot such that the machine can be started as a Ubuntu Linux computer; or 2) run a virtual machine such that Ubuntu is available in a separate window.

Ubuntu has become a leading platform for scientific programming work. Compared to Mac and Windows, Ubuntu makes life much easier when it comes to installing mathematical software.


Strategy 1: Use a ready-made distribution of Python for scientific purposes. We recommend python(x,y) (containing a lot of Python packages), or the Enthought Python Distribution (with over 100 libraries).

Strategy 2: Get Ubuntu on your machine using Wubi. Just give a username and password for the Ubuntu installation, and Wubi performs the rest. You can also use VirtualBox on Windows (see description below).

Strategy 3: Run Ubuntu in a virtual machine. Use VirtualBox, VMWare Player, or the commercial VMWare Fusion (see the Mac section below for details).

You can, of course, install all the software needed for the book on Windows directly. Just follow the list above. Native Windows install requires familiarity with installing software on Windows (PATH settings, etc.).


You can install a ready-made distribution: python(x,y) (containing a lot of Python packages), or the Enthought Python Distribution (with over 100 libraries).

Alternatively, run Ubuntu Linux in a separate window, using VirtualBox, VMWare Player, or the commercial VMWare Fusion. This is the simplest way to get Ubuntu on your Mac. First, download an Ubuntu image from Second, install the virtual machine (VirtualBox, VMWare Player, or VMWare Fusion). Third, start the virtual machine and install the Ubuntu image file (the details depend on the type of virtual machine you have installed). For example, here are the steps for Virtual Box: open File and choose Virtual Media Manager, choose Add, select the Ubuntu image file, quit Virtual Media Manager, choose New, then Next, give the new virtual machine a name, choose the type of operating system you make a virtual machine for, choose the amount of memory needed for the virtual Ubuntu machine (never choose more than one half of your total memory), choose "Use existing hard disk" and then the harddisk/machine we made eariler, choose Next and Finish. We also have a preliminary description of how to set up VMWare Fusion with Ubuntu.

Provided that you have experience with installing software on Mac and/or Unix systems, it is quite easy to install the various components from the list above. This requires quite some compilation so you need Xcode. We also recommend to have the X11 windows system installed.


Python is already installed, and NumPy, Matplotlib and SciTools are in Fedora (probably other packages too).