You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by jm...@apache.org on 2010/01/21 14:31:32 UTC
svn commit: r901697 -
/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
Author: jmannix
Date: Thu Jan 21 13:31:31 2010
New Revision: 901697
URL: http://svn.apache.org/viewvc?rev=901697&view=rev
Log:
Performance improvement for timesSquared() - in the sparse case, dot products are often zero, and there's no need to add.
Modified:
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java?rev=901697&r1=901696&r2=901697&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java Thu Jan 21 13:31:31 2010
@@ -428,8 +428,11 @@
}
Vector w = new DenseVector(c[COL]);
for (int i = 0; i < c[ROW]; i++) {
- Vector xi = getRow(i);
- w.assign(xi, new PlusWithScaleFunction(xi.dot(v)));
+ Vector xi = getRow(i);+
+ double d = xi.dot(v);
+ if(d != 0)
+ w.assign(xi, new PlusWithScaleFunction(d));
+
}
return w;
}