cornerTL cornerTR
Alchem
cornerBL cornerBR
cornerTL cornerTR
Keeping Up
cornerBL cornerBR
cornerTL cornerTR
Software
cornerBL cornerBR
cornerTL cornerTR
Resources
cornerBL cornerBR
cornerTL cornerTR
Search
cornerBL cornerBR
cornerTL cornerTR
Private Area
cornerBL cornerBR
cornerTL cornerTR
Article

NumPy - Scientific Computing with Python

Jerome Pansanel  (20 November 2006)

Introduction. NumPy is the fundamental package needed for scientific computing with Python. This package contains:
- a powerful N-dimensional array object
- sophisticated (broadcasting) functions
- basic linear algebra functions
- basic Fourier transforms
- sophisticated random number capabilities
- tools for integrating Fortran code.
- a framework to extend the software with C modules

NumPy derives from the old Numeric code base (written by Paul Dubois) and adds the features introduced by Numarray (developped at the Space Telescope Science Institute). It can be used to replace Numeric and Numarray.

Transition. Transition from old numeric or numarray code is relatively easy. Two modules are available for transitioning.

Numeric users should use a module (numpy.oldnumeric.alter_code1) that can make most of the necessary changes to your Python code that used Numeric to work with NumPy’s Numeric compatibility module.

Users of numarray can also transition their code using a similar module (numpy.numarray.alter_code1) and the numpy.numarray compatibility layer.

C-code written to either package can be easily ported to NumPy using "numpy/oldnumeric.h" and "numpy/libnumarray.h" for the Numeric C-API and the Numarray C-API respectively.

Documentation. Much of the documentation for Numeric and Numarray is applicable to the new NumPy package. However, there are significant feature improvements. A complete guide to the new system has been written by the primary developer, Travis Oliphant. If you want to fully understand the new system, or you just want to encourage further development on NumPy (or SciPy), I recommand you to purchase the documentation which is being sold for a relatively brief period of time to help offset the cost of writing the book and producing the Numeric/numarray hybrid, and to help raise money for future development.

Further documentation is available on the NumPy website.

Release and licensing. The current release is NumPy 1.0 and can be downloaded from the NumPy website. This release is licensed under a BSD-like license.

cornerBL cornerBR