[Numpy-discussion] A pray from an end user of numeric python.
oliphant at ee.byu.edu
Thu Mar 17 13:39:57 CST 2005
Daehyok Shin wrote:
>As an end user for Numeric and then numarray, recently I was quite
>frustrated by the move for Numeric3. Shortly after I became familiar
>with Numeric several years ago, I jumped to numarray mainly because of
>its more flexible indexing scheme. And after quite investment to learn
>the new package, recently I heard a distant echo that a new library
>called Numeric3 will replace Numeric sooner or later, and then I see a
>lot of discussion to discuss about better design of the new package in
>this mailing list. Because I think some feedbacks from end users are
>needed in the discussion, I dare to send this email, in spite of my
>meager knowledge about programming.
Thank you, thank you for speaking up. I am very interested in hearing
from end users. In fact, I'm an "end-user" myself. My real purpose in
life is not to endlessly write array packages. I want to get back to
the many problems I'm working on that require real usage.
All of us had meager-knowledge at one point or another. Besides that,
our supposed knowledge today may turn out to be useless tomorrow, so
feel free to chime in any time with your opinions. Lack of knowledge
doesn't seem to stop me from voicing an opinion :-)
In my opinion, the more use-cases of arrays we see, the better design
desicions can be made. Ultimately, the fact the numarray split off from
Numeric was that some people wanted some new features to Numeric and
wanted to try some new design ideas. Their efforts have led to a
better understanding of what a good array object should be.
>To gods in numeric programming of Python, I want to make clear one
>basic fact. Like me, numerous scientific and engineering end users
>using Python needs a SINGLE standard data model for numeric
>operations. Even in the case that the data model has some defects in
>its design, many end users may not care about them, if many numeric
>packages using the data model are available. In this aspect, in my
>opinion, the replacement of current standard array types in Python
>must gain the top priority.
I think we are all on the same page here. The ONLY reason I'm spending
any time on "Numeric3" at all is because currently we have two
development directions. One group of people is building on top of
Numeric (scipy, for example), while another group of people is building
on top of Numarray (nd_image for example). We are doing a lot of the
same work and I hate to see the few resources we have wasted on split
Replacing the standard array type in Python is a longer-term problem.
We need to put our own house in order in order to make that happen.
Many of us want to see a single array type be standard in Python as long
as we are satisfied with it. But, that is the problem currently. The
people that wrote numarray were not satisfied with Numeric.
Unfortunately, some of us that are long-time users of Numeric have never
been satisfied with numarray either (it has not been even close to a
"drop-in" replacement for Numeric).
I think that most people who use arrays would be quite satisfied with
Numeric today (with a few warts removed). But, I do think that the
numarray folks have identified some scalability issues that if we
address them will mean the arraytype we come up with can have a longer
>So, I pray to gods in numeric programming of Python. Please give us a
>single numeric array model. Please save a flock of sheep like me from
>wondering around Numeric, numarray, Numeric3, or maybe in future
>Numeric4, 5, 6 …. Hopefully, this pray will get some attention.
I think everybody involved wants this too. I'm giving up a great deal
of my time to make it happen, largely because I see a great need and a
way for me to contribute to help it. I am very interested in recruiting
others to assist me. So far, I've received a lot of supportive
comments, but not much supporting code. We have the momentum. I think
we can get this done, so that come June, there is no "split" aside from
backward compatibility layers....
In my estimation the fastest way to bring the two development directions
together is to merge the numarray features back into Numeric. As I'm
doing that, I want to make sure that the new design extensions are done
correctly and not just a bad idea that nobody ever complained about.
This has led to quite a few "side-trips" into dusty closets where we
kept the wart-shavings of current usage. Those "side-trips" have
extended the effort some, but I have not lost sight of the goal. I
don't want "yet-another-implementation". I want everybody involved to
agree that a single package provides the basis for what people need.
Thanks again for your comments. If you can help in any way (e.g.
writing test scripts) then please chip in.
More information about the Numpy-discussion