Python

From AIMSWiki

Python is a scripting language and is widely used in scientific (and other) computing. You can find the official web site at http://www.python.org/.

This collection of pages serves as a reference to the Python language and some of its many extensions.

Note: to view the "at AIMS" links below (for faster, local access at AIMS) you have to type "about:config" in firefox, set "security.checkloaduri" to false, and then restart firefox. And be at AIMS, of course.

Table of contents

Introduction to Python

Modules for Scientific Computing

  • Gnuplot: Vector Fields are included!
  • Image: Used to create, load and save images
  • math
  • random: Functions for random numbers and sequences
  • SciPy: Scientific tools

Integrated Development Environments

  • IPython, an ehanced interactive python shell with excellent help and autocompletion On the web (http://ipython.scipy.org/doc/manual/index.html) and [file:///usr/share/doc/ipython-common/manual/index.html at AIMS].
  • GEdit (http://www.gnome.org/projects/gedit/) and its python plugins (http://raphael.slinckx.net/blog/index.php/2005-09-09/gedit-python-plugins)
  • Your favourite editor not listed above

Other documentation

Reference material

  • Official Python Documentation on the web (http://docs.python.org/) and [file:///usr/share/doc/python/html/index.html at AIMS]
  • Community maintained Python Wiki (http://wiki.python.org/moin/)

Tutorials, references and books focusing on science

  • Roger Fearick's tutorial [file:///usr/local/doc/python/Roger_Fearick_python_intro.pdf at AIMS only]
  • Hans Petter Langtangen's Python Scripting for Computational Science ["file:///usr/local/doc/python/TCSE3_ISBN_3-540-43508-5_2004.pdf" at AIMS] or on the web (http://heim.ifi.uio.no/~hpl/scripting/)
  • Python and Scientific Computing (http://amath.colorado.edu/faculty/fperez/python/scicomp/), Fernando Perez' web page.

Generic tutorials, books and references

  • How to Think Like a Computer Scientist
  • A Byte of Python (http://www.byteofpython.info/)
  • Dive Into Python on the web (http://www.diveintopython.org/) or [file:///usr/share/doc/diveintopython/html/index.html at AIMS]
  • Instant Python on the web (http://www.hetland.org/python/instant-python.php)
  • Thinking in Python (http://www.mindview.net/Books/TIPython)
  • A (large) set of slides (http://www.ferg.org/python_slides/handouts.html)

GUI (Graphical User Interface) programming

  • wxPython (simple, cross platform GUI programming in Python)
    • Getting Started (http://wiki.wxpython.org/index.cgi/Getting_20Started) (No need to install at AIMS; this has already been done. If you know programming, and you know python, you can skip to this section (http://wiki.wxpython.org/index.cgi/Getting_20Started#head-bc009992ceb90dddb7eb3db953e25d1792da2cdd)
    • wxPython website (http://www.wxpython.org/), wiki (http://wiki.wxpython.org/), and CookBook (http://wiki.wxpython.org/index.cgi/wxPython_20Cookbook)
    • From another source, a short example (http://www.ibm.com/developerworks/library/l-wxpy/)
  • A simple GUI programming assignment with examples (http://www.aims.ac.za/~mackay/python/switches/)

Imaging and graphics

  • Python Imaging Library Handbook (http://www.pythonware.com/library/pil/handbook/index.htm)
  • PyX - Python Graphics Package on the web (http://pyx.sourceforge.net/manual/index.html) or [file:///usr/share/doc/python-pyx-doc at AIMS]
  • VPython (http://wiki.aims.ac.za/mediawiki/index.php/Vpython) - python programming language including the 3D graphic module Visual (http://vpython.org/webdoc/visual/index.html) (plotting and animations)
  • For 2D plotting, there are matplotlib (http://matplotlib.sourceforge.net/) and gnuplot (http://wiki.aims.ac.za/mediawiki/index.php/Gnuplot) (including 3D plotting)
  • To add: mayavi

Text processing

Linear Systems and Gaussian Elimination