From: eric <er...@en...> - 2002-03-07 07:26:28
|
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... Please limit this thread to language changes or Numeric enhancements. Desired 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 |