Differences between revisions 12 and 13
Revision 12 as of 2005-03-17 13:24:26
Size: 21480
Editor: iam-ma-007
Comment:
Revision 13 as of 2005-05-14 17:06:14
Size: 21478
Editor: LionKimbro
Comment: finite state machine -> FiniteStateMachine
Deletions are marked like this. Additions are marked like this.
Line 40: Line 40:
  Finite State Machine module. (Skip Montanaro)   FiniteStateMachine module. (Skip Montanaro)

The following are links to scientific software libraries that have been recommended by Python users.

This page lists a number of packages related to numerics, number crunching, signal processing, financial modeling, linear programming, statistics, data structures, date-time processing, random number generation, and crypto.

Data Structures

Date/Time

FFT

  • Fftw-numpy

    [http://pylab.sourceforge.net/ [details]] [http://pylab.sourceforge.net/packages/fftw-numpy-0.6.2.tar.gz [source]] Fftw-numpy is a generic wrapping of the FFTW-2.1.3 C-library into Python done using SWIG. FFTW is advertised as a very fast implementation of the FFT and I believe it lives up to its billing. It has support for arbitrary N-dimensional arrays as well as fast real-to-complex FFT's. As part of the package, I have included a module called FFT2 that can act as a drop-in replacement

    for FFT in NumPy (except there is no real-to-complex transform yet). There is also a benchmark script that shows that FFT2 is about 18-25% faster than fftpack (at least on pentium machines). There is also support for arbitrary multidimensional transforms (not just 2-D). (Travis Oliphant)

  • fourier

    [http://starship.python.net/~hochberg/ [details]] [http://starship.python.net/~hochberg/fourier.py [source]] A set of routines to perform Fourier transforms using pure (Numerical) Python. These are slower by a factor of 2-10 than pure C version in the FFT module (which is pretty good for a pure Python solution), but they make an interesting example. (Tom Hochberg)

  • Signaltools

    [http://pylab.sourceforge.net/ [details]] [http://pylab.sourceforge.net/packages/signaltools-0.5.3.tar.gz [source]] A work in progress toolbox intended to contain most of the signal processing functionality available in other array-oriented systems like MATLAB. the included routines are fast N-D convolution and N-D correlation procedures for use when filtering big datasets with small kernels and a fast N-D order statistic filter routine. (A median filter is an example of an order-filter and is also included). There is also a routine to filter along an arbitrary dimension of an N-D array with a rational transfer function filter (like the filter function in MATLAB) and a remez-exchange algorithm. Recently added are an N-D median filter and an N-D wiener filter. (Travis Oliphant)

Finance

Interface

Linear Programming

http://oliphant.netpedia.net/packages/optimize.py [source] ((is it this ?: [http://pylab.sourceforge.net/packages/optimize.py http://pylab.sourceforge.net/packages/optimize.py] ))

  • A module containing optimization algorithms written in pure Python. Currently it contains implementations of the Nelder-Mead simplex algorithm, the Broyden-Fletcher-Goldfarb-Shanno (BFGS) quasi-Newton algorithm, and a line-search conjugate-gradient Newton algorithm for minimizing a function of many variables. (Travis Oliphant)
  • pySimplex ((FIXME both links broken !?))

    [http://www.pythonpros.com/arw/pysimplex/ [details]] [http://www.pythonpros.com/arw/pysimplex/pysimplex.tgz [source]] Pysimplex provides some basic symbolic programming tools for constructing, solving and optimizing systems of linear equations and inequalities. It includes an implementation of the classical SIMPLEX linear optimization algorithm as well as a filter for parsing and optimizing linear models encoded using the standard MPS format. (Aaron Watters)

  • Simplex

    [http://www.omniscia.org/~vivake/python/ [details]] [http://www.omniscia.org/~vivake/python/Simplex.py [source]] Simplex minimizes an arbitrary nonlinear function of N variables by the Nedler-Mead Simplex method. (Vivake Gupta)

Matrix/Vector

Music

  • ratio

    [http://www.execpc.com/~wsannis/ratio.html [details]] [http://www.execpc.com/~wsannis/ratio.py.txt [source]] For those who are big fans of Just Intonation, one tedious aspect of this is that you end up fondling ratios a lot. The math gets boring after a while, though I do believe you should be able to do the math on your own to get a feel for what it is you're doing. Having said that, I decided I needed some help because I got sick of reducing multiplied ratios. I've written a quick Python module, ratio.py, which handles a lot of the tedium. In particular, building up JI tetrachords and scales based on justly intuned chords or by katapyknosis is pretty simple with this module. (William Annis)

Neural Networks

Number Theory

Numerics

Other Tools

Random Number Generators

  • ccrandom

    [http://www.ccraig.org/software [details]] [http://www.ccraig.org/software/ccrandom.py [source]] This module is mostly compatible with Python's random module, but uses Linux or BSD's /dev/urandom device to generate numbers, thus yielding more random output than the default Python module. (Christopher A. Craig)

  • crng ((FIXME: both links broken))

    [http://www.sbc.su.se/~per/crng [details]] [http://www.sbc.su.se/~per/crng/crng-1.1.tar.gz [source]] The Python module crng implements random-number generators (RNGs) based on several different algorithms producing uniform deviates in the open interval (0,1), i.e. exclusive of the end-point values 0 and 1. A few continuous and integer-valued non-uniform deviates are also available. Each RNG algorithm is implemented as a separate Python extension type. The RNG types are independent of each other, but have very similar interfaces. The entire module is implemented as one single C source code file. (Per J. Kraulis)

  • MTRand ((FIXME: both links broken))

    [http://www.dorb.com/darrell/randomNumber/ [details]] [http://www.dorb.com/darrell/randomNumber/Rand.zip [source]] Mersenne Twister random number generator. Far longer period and far higher order of equidistribution than any other implemented generators. Fast generation and efficient use of memory. (Darrell Gallion)

Special Functions

Statistics

For more information on related numeric packages, see the [http://www.python.org/pypi Python Package Index].

NumericAndScientific/Libraries (last edited 2014-05-26 15:03:26 by PaulBoddie)

Unable to edit the page? See the FrontPage for instructions.