Thanks Adrian, I have looked at the clojure.set library, but haven't thought about it significantly with respect to the matrix library. Thanks for the heads up.
-Adler On May 6, 11:17 pm, Adrian Cuthbertson <adrian.cuthbert...@gmail.com> wrote: > If you haven't seen it yet, the set module (clojure.set) provides a > basic implementation of set relational algebra. May be useful for this > work? > > See clojure.org data structures and the source for clojure/set.clj in > the clojure source. > > Rgds, Adrian. > > On Wed, May 6, 2009 at 7:05 PM, Anand Patil > > <anand.prabhakar.pa...@gmail.com> wrote: > > On Sat, May 2, 2009 at 11:19 PM, aperotte <apero...@gmail.com> wrote: > > >> Hello everyone, > > >> I just uploaded some of my work on a new datatype for clojure to a git > >> repository. > > >>http://github.com/aperotte/persistentmatrix > > >> A bit of the rationale and motivation for the datatype is described on > >> the github page. I basically wanted to create a datastructure for > >> manipulating large amounts of data efficiently and in a human friendly > >> way in clojure. > > >> Its main features are: > > >> 1. Immutability > >> 2. Primitive Support > >> 3. N-Dimensional – Arbitrary number and size of dimensions (ie. > >> ability to create a 4×3×5x6 datastructure) > >> 4. N-Dimensional units (ie. ability to create a 10×10 matrix with > >> 2×1 units to represent complex numbers) > >> 5. Fast submatrix views via structural sharing (ie. constant time > >> slicing, transposing, and other data manipulations) > >> 6. Maintenance of both deep and superficial dimensionality (ie. > >> slicing a 4×3×5x6 along the 3rd dimension will yield a datastructure > >> with a superficial dimensionality of 3 and a deep dimensionality of 4) > >> 7. Axis and element labeling and label indexing (ie. ability to > >> label axes and elements of an axis with strings or any arbitrary > >> object) > >> 8. Implementing many of the clojure interfaces and thereby > >> automatically inheriting much of the functionality of the standard > >> library for data structures. > > >> I would welcome any feedback. Also, if anyone is interested in > >> working together to accelerate its development, that would be welcome > >> too! > > > Great work! I'm glad to see some numerical advances in Clojure. > > I've got a couple of suggestions: first, you might want to follow numpy and > > call n-dimensional arrays 'arrays', and reserve 'matrix' for 2d arrays. Or > > not... > > Second, immutability is definitely the right default, but it would be nice > > to be able to create nonstandard arrays from Clojure somehow. For example, > > say I wanted to compute the matrix (f (- x y)) over the Cartesian product of > > vectors x and y. > > Anand --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---