Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2004-12-04 05:17:03
Size: 21249
Editor: c-67-180-91-121
Comment:
Revision 9 as of 2004-12-04 05:26:33
Size: 21426
Editor: c-67-180-91-121
Comment:
Deletions are marked like this. Additions are marked like this.
Line 313: Line 313:
  * bpnn   * bpnn ((FIXME both links broken))
Line 324: Line 324:
  [http://www.ourobourus.com [details]]
  [http://www.ourobourus.com/logic.py-1.0.1.zip [source]]
  [http://www.ourobourus.com [details   FIXME: empty page ]]
  [http://www.ourobourus.com/logic.py-1.0.1.zip [source FIXME: broken link]]
Line 334: Line 334:
  [http://www.dorb.com/python/numberTheory.py [details]]
  [http://www.dorb.com/python/numberTheory.py [source]]
  [details !? FIXME: was same as source]
  [http://www.dorb.com/python/numberTheory.py [source FIXME: broken link]]
Line 341: Line 341:
  [http://sunsite.compapp.dcu.ie/pub/linux/redhat/DMA/ [details]]   [http://sunsite.compapp.dcu.ie/pub/linux/redhat/DMA/ [details: FIXME: broken link]]
Line 353: Line 353:
  * SILOON   * SILOON ((FIXME: both link broken))
Line 366: Line 366:
  * surd   * surd ((FIXME: both link broken))
Line 372: Line 372:
  * yarn   * yarn ((FIXME: both link broken))

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

    [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

    [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.