# [Numpy-discussion] big picture?

eric eric at enthought.com
Wed Mar 6 23:27:05 CST 2002

```While we're discussing several big issues, it would be worthwhile to step back
and get an idea of what people feel is still missing for numeric computation in
the Python language and also what is missing from Numeric itself.  I'm not
talking about libraries here, but issues with notation and array functionality
that you run into in day-to-day programming.  Things are pretty dang good right
now, but there are some areas (array indexing, matrix multiply, etc.) that some
people see as sub-optimal or better implemented in other langauges.  A list will
provide a "big picture" of where we want to go (maybe we are there...) and also
help us pick our battles on language changes, etc.

So, what mathematical expressions are commonly used and yet difficult to write
in Python?  I don't mean integrals divergence, etc.  I mean things like matrix
multiply and transpose.  Here is a beginning to the list:

1.  Matrix Multiply -- should we ask for ~*?
2.  Transpose -- In a perfect world, we'd have an operator for this.
3.  complex conjugate -- An operator for this would also be welcomed.
4.  Others??

These three have all been discussed on this list or on the SciPy list in the
last month, so they are obvious.  I don't think there is a solution for 2 and 3
besides using the current function or method calls (but they are still on my
list).  As I mentioned in my last post, 1 might be fixable.

As far as core Numeric functionality:

1.  Array indexing with arrays.
2.  .M attributes -- an alternative to (1) in language changes.

And I'll add a third, that I'd like.

3. tensor notation indexing as in the Blitz++ array library
http://www.oonumerics.org/blitz/manual/blitz03.html#l75
NewAxis and Ellipses allow for the same functionality, but
the tensor notation is much easier to read.  This requires
yet more indexing trickery though...

changes to the current behavior or interface of Numeric should be saved for a
different discussion.

thanks,
eric

--
Eric Jones <eric at enthought.com>
Enthought, Inc. [www.enthought.com and www.scipy.org]
(512) 536-1057

```