Differences between revisions 15 and 17 (spanning 2 versions)
Revision 15 as of 2005-07-11 18:35:55
Size: 21681
Editor: sic002c-hr
Revision 17 as of 2005-07-13 00:20:43
Size: 22792
Editor: sic002c-hr
Deletions are marked like this. Additions are marked like this.
Line 206: Line 206:
==== Linear Programming ==== ==== Mixed Integer and Linear Programming ====
Line 216: Line 216:
  Lp_solve5 (5.1 and %.5) - New one, NO python binding yet. Volunteers needed for python binding.
  It has CPLEX, LINDO, AMPL/MathProg, etc. formats.
  * Lp_solve5 (5.1 and 5.5) Mixed Integer Programming (MIP) and LP - New ones, NO python binding yet. Volunteers needed for python bindings.
  [http://groups.yahoo.com/group/lp_solve/ [details]]
  [http://groups.yahoo.com/group/lp_solve/ [source]]
  CPLEX, LINDO, AMPL/MathProg, LP etc. formats supported. (Noli Sicad)

  * GLPK (GNU Linear Programming Kit) MIP and LP
  [http://www.gnu.org/software/glpk/glpk.html [details]]
  [http://www.gnu.org/software/glpk/glpk.html [source]]
    Python bindings [http://rpm.pbone.net/index.php3/stat/4/idpl/1709746/com/python-glpk-0.4-2mdk.i586.rpm.html [source]]
  Has python bindings for 4.7 and can be used for 4.8. No debian package (use RPM then Alien for debian)
  CPLEX, LINDO, AMPL/MathProg, LP etc. formats supported as well. (Noli Sicad)
Line 223: Line 231:
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] ))
   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] ))
Line 515: Line 523:
  * Rpy
  [http://rpy.sourceforge.net/ [details]]
  [http://rpy.sourceforge.net/ [source]]
  RPy is a very simple, yet robust, Python interface to the R Programming Language.
  [http://www.r-project.org/ [source]]. It can manage all kinds of R objects and can execute arbitrary R functions (including the graphic functions). All errors from the R language are converted to Python exceptions. Any module installed for the R system can be used from within Python. (Noli Sicad)

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



  • 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)



Mixed Integer and Linear Programming



  • 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


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


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.