[Numpy-discussion] Insights / lessons learned from NumPy design

Mike Anderson mike.r.anderson.13 at gmail.com
Mon Jan 14 08:56:35 EST 2013


Just wanted to say a big thanks to everyone in the NumPy community who has
commented on this topic - it's given us a lot to think about and a lot of
good ideas to work into the design!

Best regards,

   Mike.

On 4 January 2013 14:29, Mike Anderson <mike.r.anderson.13 at gmail.com> wrote:

> Hello all,
>
> In the Clojure community there has been some discussion about creating a
> common matrix maths library / API. Currently there are a few different
> fledgeling matrix libraries in Clojure, so it seemed like a worthwhile
> effort to unify them and have a common base on which to build on.
>
> NumPy has been something of an inspiration for this, so I though I'd ask
> here to see what lessons have been learned.
>
> We're thinking of a matrix library with roughly the following design
> (subject to change!)
> - Support for multi-dimensional matrices (but with fast paths for 1D
> vectors and 2D matrices as the common cases)
> - Immutability by default, i.e. matrix operations are pure functions that
> create new matrices. There could be a "backdoor" option to mutate matrices,
> but that would be unidiomatic in Clojure
> - Support for 64-bit double precision floats only (this is the standard
> float type in Clojure)
> - Ability to support multiple different back-end matrix implementations
> (JBLAS, Colt, EJML, Vectorz, javax.vecmath etc.)
> - A full range of matrix operations. Operations would be delegated to back
> end implementations where they are supported, otherwise generic
> implementations could be used.
>
> Any thoughts on this topic based on the NumPy experience? In particular
> would be very interesting to know:
> - Features in NumPy which proved to be redundant / not worth the effort
> - Features that you wish had been designed in at the start
> - Design decisions that turned out to be a particularly big mistake /
> success
>
> Would love to hear your insights, any ideas+advice greatly appreciated!
>
>    Mike.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130114/8b685c01/attachment.html>


More information about the NumPy-Discussion mailing list