[ https://issues.apache.org/jira/browse/MAHOUT-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12778772#action_12778772 ]
Jake Mannix commented on MAHOUT-182: ------------------------------------ Ah, fair enough, might as well save a millisecond or so here and there, that's removable, sure. > New helper methods for Matrix: times(Vector), timesSquared(Vector), numRows() > and numCols() > ------------------------------------------------------------------------------------------- > > Key: MAHOUT-182 > URL: https://issues.apache.org/jira/browse/MAHOUT-182 > Project: Mahout > Issue Type: Improvement > Components: Matrix > Affects Versions: 0.2 > Reporter: Jake Mannix > Assignee: Grant Ingersoll > Priority: Minor > Attachments: MAHOUT-182.patch, matrixTimes.patch > > > 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). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.