Well I'm not sure we need a "DiagonalMatrix" just yet - currently
DRM.times() only takes other DRM's as input.  If we extended that to, say,
VectorIterable (which DRM, SparseMatrix, and DenseMatrix all all
implementations of), then we can just switch based on class type,
serializing the non-DRM matrix instances and sending them out into the
DistrubtedCache and using a different Mapper/Reducer set, which would have
an in-memory reconstituted Matrix to work with however was most efficient.

  -jake

On Sun, Sep 12, 2010 at 12:18 PM, Ted Dunning <[email protected]> wrote:

> Just an alert that this is heading us towards having a DiagonalMatrix
> implementation.
>
> It might be jsut as well to store the diagonal matrix as a sparse matrix
> and
> use our existing times method.  As Jake points out, we need some
> specialization towards DRM by in-memory matrix.  That would give more
> generality and just as much speed as a specialized diagonal implementation.
>
> On Sun, Sep 12, 2010 at 12:12 PM, Jeff Eastman
> <[email protected]>wrote:
>
> > +1 on adding DistributedMatrix.timesDiagonal(Matrix) and perhaps also
> > timesDiagonal(Vector)? Perhaps after the 20.2 retrofit?
> >
>

Reply via email to