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/
>