Uploaded image for project: 'Mahout'
  1. Mahout
  2. MAHOUT-182

New helper methods for Matrix: times(Vector), timesSquared(Vector), numRows() and numCols()

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.2
    • 0.3
    • classic
    • None

    Description

      numRows()

      { return size()[ROW]; }

      and numCols()

      { return size()[COL]; }

      are pretty much no-brainer methods, right? Who wants to deal with a length-two array of ints all the time when getting the number of rows and columns of a matrix?

      Those are pretty trivial, but the key feature of a Matrix is to map Vector instances to Vector instances, and while you can do that currently by making a a row Matrix and doing Matrix.times(Matrix), it's silly to have to always do that. Matrix.times(Vector) is pretty needed.

      Even less trivial, for really big sparse Matrices, if you need to get (M'M)v for some matrix M, then this can be computed in one pass through M without ever computing the transpose of M by a simple reordering of the limits of summation.

      Attaching a patch with these implementations, including unit tests (as well as an improvement in the Matrix.times(Matrix) unit test to actually check the math).

      Attachments

        1. matrixTimes.patch
          8 kB
          Jake Mannix
        2. MAHOUT-182.patch
          8 kB
          Jake Mannix

        Activity

          People

            gsingers Grant Ingersoll
            jake.mannix Jake Mannix
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: