[PYTHON MATRIX-SIG] Final pre-beta (0.30) of NumericalPython is available!

James Hugunin jjh@Goldilocks.LCS.MIT.EDU
Fri, 26 Jan 96 18:39:56 EST

Release 0.30 of the numerical extension to python is available.

Now that the design appears to be final, I'd like as many people as
possible to install this system and play with it.  Once it is released
as 1.0BETA1, any changes to the fundamental design will be very
unlikely to happen, so if you want to have a final system that you'll
be happy with, now's the time to speak up.

You can find the code at:


If somebody (Tom are you there?) would like to place this on a site in
Europe and post the location, I'd appreciate it.  It's frustrating
just how hard it can be to cross the Atlantic these days.

The easiest way to install it is to untar the file in your top level
python directory and follow the instructions in INSTALL.NumPy.  Please
do read this file as it contains important information (unlike the
currently vacuous README).

The naming conventions and C API of this version should be final.  If
this release goes well, the next release will be 1.0BETA1 to the
general python community.  I intend to produce a new bug-fixed release
every week until I manage to go a week without any bug reports, and
then I'll release 1.0BETA, so PLEASE report any bugs you find so that
they can be squashed quickly.

The code is running reasonably stably right now, and I've compilied it
without a problem under the following configurations:

alpha DECOS cc
Sun SUNOS4 gcc 
P90 NextStep3 cc

If you do grab the code and try to compile it, please send me mail
(hugunin@mit.edu) telling me the machine and OS you used, and whether
or not you could get it to compile, and whether or not you could run
the TestSuite (ArrayTest/TestSuite.py).  I'd also like to know the
time reported by the Benchmark in the test suite just out of general

You should also check out TUTORIAL.NumPy for a VERY brief summary of
how to use the object.

Enjoy - Jim

Things that probably will change before the BETA release:

-1 The print function sucks!  There is a function in Numeric.py called
print_array that is the function that gets invoked whenever an array
is printed.  Currently it displays a very ugly representation.  I
really hope that somebody will write a nice pretty printing function
to go here (you get to code it in python instead of C!).

-2 The exact contents of Numeric.py, I'm very interested in comments

-3 The type coercion scheme.  If you only work with longs, doubles,
and complex doubles (the basic python types) you can consider the
coercion scheme fixed and stable.  If you use other types, this is the
current scheme:

Only the following three automatic coercions are allowed:

1) Any integer type can be coerced to a float, a double, a complex float or
a complex double.

2) A float can only be coerced to a complex float.

3) A double can only be coerced to a complex double.


The following type hierarchy is assumed:


Within each level there are a number of possible precisions.  No
automatic coercion will take place between these precisions.

This remains completely consistent with the existing python automatic
type coercion.

This scheme seems to make the most people the least unhappy, but I'm
still interested in better ideas.

-4 The Precision.py stuff I just coded in the last half hour, so
obviously it might change in the near future.  I am convinced that
something like this is the right approach.

-5 If Jim Fulton implements a nice dynamically loadable version using
CObjects and I can easily install it on my SUNs (I'm usually clueless
about dynamic loading issues) then this will be used.

-6 Now that the design seems stable its time to write documentation.
I'm not enough of a fool to widely release something without decent
documentation.  I've heard rumors that Paul DuBois might be helping
out with this.  Anybody else who'd like to contribute?

MATRIX-SIG  - SIG on Matrix Math for Python

send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org