Given the way we implement matrix multiplication in DRM, folding in a
rescaling would be very easy to add (the same method could even
extended by being given a Vector of diagonal values, which when null
is ignored).

Just be careful to multiply it in the correct order (ie make sure you output
A^t * B * D, not D * A^t * B) - being able to tell which is which inside of
DistributedRowMatrix#times() is tricky.

  -jake

On Fri, Feb 25, 2011 at 3:53 PM, Ted Dunning <[email protected]> wrote:

> ?!?
>
> Please do!
>
> On Fri, Feb 25, 2011 at 3:07 PM, Dmitriy Lyubimov <[email protected]>
> wrote:
>
> > Do you mind if i look into it?
> >
> >
> > On Fri, Feb 25, 2011 at 2:25 PM, Ted Dunning <[email protected]
> >wrote:
> >
> >> I don't think we have a single method for this, but it would be very
> easy
> >> to implement.
> >>
> >>
> >> On Fri, Feb 25, 2011 at 1:21 PM, Dmitriy Lyubimov <[email protected]
> >wrote:
> >>
> >>> Ok, thank you, Ted.
> >>>
> >>> The reason i am actually asking is fold-in jobs in LSI which are
> >>> basically
> >>> very similar operation (multiplication + scaling). Because if you could
> >>> do
> >>> it with DRM
> >>> method, i would just need to describe what to call or run. Sorry for
> the
> >>> offtopic.
> >>>
> >>> -Dmitriy
> >>>
> >>> On Fri, Feb 25, 2011 at 1:05 PM, Ted Dunning <[email protected]>
> >>> wrote:
> >>>
> >>> > I think that lanczos may already do this.  The correction for the
> >>> diagonal
> >>> > matrix just involves weighting the output rows as they are produced.
>  I
> >>> > don't know that is in any explicit code.  You may not even want it if
> >>> you
> >>> > want to get scaled left (right) eigenvectors.
> >>> >
> >>>
> >>
> >>
> >
>

Reply via email to