You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by Jason Rennie <jr...@gmail.com> on 2008/02/02 17:31:07 UTC

Re: sparse matrix library

How do you get the code?  SVN is asking for username/password...

What is the constant hit you take for using HBase vs. an in-memory sparse
matrix library?

Jason

On Thu, Jan 31, 2008 at 2:39 AM, Lukas Vlcek <lu...@gmail.com> wrote:

> BTW: Have you seen http://wiki.apache.org/hadoop/Matrix yet?
>
> On Jan 30, 2008 11:23 PM, Jason Rennie <jr...@gmail.com> wrote:
>
> > On Jan 30, 2008 2:49 PM, Ted Dunning <td...@veoh.com> 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/
>



-- 
Jason Rennie
Head of Machine Learning Technologies, StyleFeeder
http://www.stylefeeder.com/
Samantha's blog & pictures: http://samanthalyrarennie.blogspot.com/

Re: sparse matrix library

Posted by gopi <go...@gmail.com>.
checkout the source code from:
svn checkout http://svn.apache.org/repos/asf/lucene/mahout/trunk
Lucene/mahout/trunk

Chaitanya

On Feb 2, 2008 10:01 PM, Jason Rennie <jr...@gmail.com> wrote:

> How do you get the code?  SVN is asking for username/password...
>
> What is the constant hit you take for using HBase vs. an in-memory sparse
> matrix library?
>
> Jason
>
> On Thu, Jan 31, 2008 at 2:39 AM, Lukas Vlcek <lu...@gmail.com>
> wrote:
>
> > BTW: Have you seen http://wiki.apache.org/hadoop/Matrix yet?
> >
> > On Jan 30, 2008 11:23 PM, Jason Rennie <jr...@gmail.com> wrote:
> >
> > > On Jan 30, 2008 2:49 PM, Ted Dunning <td...@veoh.com> 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/
> >
>
>
>
> --
> Jason Rennie
> Head of Machine Learning Technologies, StyleFeeder
> http://www.stylefeeder.com/
> Samantha's blog & pictures: http://samanthalyrarennie.blogspot.com/
>