BTW: Have you seen http://wiki.apache.org/hadoop/Matrix yet?
On Jan 30, 2008 11:23 PM, Jason Rennie <[EMAIL PROTECTED]> wrote: > On Jan 30, 2008 2:49 PM, Ted Dunning <[EMAIL PROTECTED]> wrote: > > > For efficient row and column access, I built a hybrid that has both CSR > > and > > CSC represenations under the hood. I also don't care much about > mutation. > > > Cool :) OS? Or, something you built for VEOH? Probably best to move > off-list, but what are you responsible for there? > > > > A * v > > v * A > > A * A > > A' * A > > rowSum(A) > > columnSum(A) > > sum(A) > > > No matrix/vector norms? 'course, not necessary, but probably worth > throwing > in :) > > forEachNonZero, forEachNonZeroRow, forEachNonZeroColumn > > reduceNonZero, reduceNonZeroRow, reduceNonZeroColumn > > many kinds of views > > > Otherwise sounds great. > > The way that Colt does (most of) this is to use a higher-order API. Most > > users I have talked to were completely confused by this. I think the > > right > > answer is to require a small set of primitives for each implementation > and > > inherit nice API much like AbstractMap provides lots of sugar over a > > spartan > > Map implementation. > > > Not sure what you mean by "higher-order"... but agreed that Colt leave > something to be desired. Are there any interfaces or abstract classes > written up? > > > > I also think it would help us to have a nice syntax for some algorithms. > > I > > have lately been working with groovy and almost have some support for > very > > simple map-reduce programming. Since Groovy supports infix overloading, > > that would allow us to have a very simple language for writing matrixlike > > code that inter-operates very well with the Java side. I will write > more > > as > > that becomes available. > > > Didn't know about groovy. Looks interesting. Thanks for the pointer. > Will > be interested to hear where you go with it. > > Jason > -- http://blog.lukas-vlcek.com/