You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by dl...@apache.org on 2013/07/31 07:55:10 UTC
svn commit: r1508733 - in
/mahout/trunk/math/src/main/java/org/apache/mahout/math:
SparseColumnMatrix.java SparseRowMatrix.java
Author: dlyubimov
Date: Wed Jul 31 05:55:10 2013
New Revision: 1508733
URL: http://svn.apache.org/r1508733
Log:
MAHOUT-1298: SparseRowMatrix,SparseColMatrix: optimize transpose()
Squashed commit of the following:
commit 809fa0105897113e44f7e55af611ed61d1746cb8
Merge: 9f963f8 21486b9
Author: Dmitriy Lyubimov <dl...@apache.org>
Date: Tue Jul 30 22:51:53 2013 -0700
Merge branch 'trunk' into MAHOUT-1298
commit 9f963f83b942c2bccade9dfd860ef2ff19687bbc
Author: Dmitriy Lyubimov <dl...@apache.org>
Date: Mon Jul 29 16:53:12 2013 -0700
Reverting whatever changes to SparseRowMatrixTest
commit 69e8c7655939ad3fe3072422b70e6fccfd6ce946
Author: Dmitriy Lyubimov <dl...@apache.org>
Date: Mon Jul 29 16:47:13 2013 -0700
implementation; specific tests are not required (already implemented in abstract matrix test)
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java?rev=1508733&r1=1508732&r2=1508733&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java Wed Jul 31 05:55:10 2013
@@ -28,7 +28,7 @@ public class SparseColumnMatrix extends
/**
* Construct a matrix of the given cardinality with the given data columns
*
- * @param columns a RandomAccessSparseVector[] array of columns
+ * @param columns a RandomAccessSparseVector[] array of columns
* @param columnVectors
*/
public SparseColumnMatrix(int rows, int columns, RandomAccessSparseVector[] columnVectors) {
@@ -65,7 +65,8 @@ public class SparseColumnMatrix extends
/**
* Abstracted out for the iterator
- * @return {@link #numCols()}
+ *
+ * @return {@link #numCols()}
*/
@Override
public int numSlices() {
@@ -101,7 +102,7 @@ public class SparseColumnMatrix extends
result[COL] = columnVectors.length;
for (int col = 0; col < columnSize(); col++) {
result[ROW] = Math.max(result[ROW], columnVectors[col]
- .getNumNondefaultElements());
+ .getNumNondefaultElements());
}
return result;
}
@@ -156,4 +157,17 @@ public class SparseColumnMatrix extends
}
return columnVectors[column];
}
+
+ @Override
+ public Matrix transpose() {
+ SparseRowMatrix srm = new SparseRowMatrix(columns, rows);
+ for (int i = 0; i < columns; i++) {
+ Vector col = columnVectors[i];
+ if (col.getNumNonZeroElements() > 0)
+ // this should already be optimized
+ srm.assignRow(i, col);
+ }
+ return srm;
+ }
+
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java?rev=1508733&r1=1508732&r2=1508733&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java Wed Jul 31 05:55:10 2013
@@ -166,4 +166,15 @@ public class SparseRowMatrix extends Abs
return rowVectors[row];
}
+ @Override
+ public Matrix transpose() {
+ SparseColumnMatrix scm = new SparseColumnMatrix(columns, rows);
+ for (int i = 0; i < rows; i++) {
+ Vector row = rowVectors[i];
+ if ( row.getNumNonZeroElements() > 0)
+ scm.assignColumn(i, row);
+ }
+ return scm;
+ }
+
}