[Numpy-discussion] Newbie Question, Probability

A. M. Archibald peridot.faceted at gmail.com
Wed Dec 20 22:59:47 CST 2006

On 20/12/06, Alan G Isaac <aisaac at american.edu> wrote:
> On Wed, 20 Dec 2006, Robert Kern apparently wrote:
> > We have a full complement of PDFs, CDFs, etc. in scipy.
> This is my "most missed" functionality in NumPy.
> (For now I feel cannot ask students to install SciPy.)
> Although it is a slippery slope, and I definitely do not
> want NumPy to slide down it, I would certainly not complain
> if this basic functionaltiy were moved to NumPy...

This is silly.

If it were up to me I would rip out much of the fancy features from
numpy and put them in scipy. It's really not very difficult to
install, particularly if you don't much care how fast it is, or are
using (say) a Linux distribution that packages it.

It seems to me that numpy should include only tools for basic
calculations on arrays of numbers. The ufuncs, simple wrappers (dot,
for example). Anything that requires nontrivial amounts of math
(matrix inversion, statistical functions, generating random numbers
from exponential distributions, and so on) should go in scipy.

If numpy were to satisfy everyone who says, "I like numpy, but I wish
it included [their favourite feature from scipy] because I don't want
to install scipy", numpy would grow to include everything in scipy.

Perhaps an alternative criterion would be "it can go in numpy if it
has no external requirements". I think this is a mistake, since it
means users have a monstrous headache figuring out what is in which
package (for example, some of scipy.integrate depends on external
tools and some does not). Moreover it damages the performance of
numpy. For example, dot would be faster (for arrays that happen to be
matrix-shaped, and possibly in general) if it could use ATLAS' routine
from BLAS.

Of course, numpy is currently fettered by the need to maintain some
sort of compatibility with Numeric and numarray; shortly it will have
to worry about compatibility with previous versions of numpy as well.

A. M. Archibald

More information about the Numpy-discussion mailing list