You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by gs...@apache.org on 2008/04/20 17:18:56 UTC
svn commit: r649933 -
/lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java
Author: gsingers
Date: Sun Apr 20 08:18:52 2008
New Revision: 649933
URL: http://svn.apache.org/viewvc?rev=649933&view=rev
Log:
MAHOUT-44: Override zSum and dot in SparseVector
Modified:
lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java
Modified: lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java?rev=649933&r1=649932&r2=649933&view=diff
==============================================================================
--- lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java (original)
+++ lucene/mahout/trunk/src/main/java/org/apache/mahout/matrix/SparseVector.java Sun Apr 20 08:18:52 2008
@@ -160,4 +160,27 @@
public Element next() { return new Element(it.next().getKey()); }
public void remove() { throw new UnsupportedOperationException(); }
}
+
+ @Override
+ public double zSum() {
+ java.util.Iterator<Double> iter = values.values().iterator();
+ double result = 0;
+ while (iter.hasNext())
+ result += iter.next();
+ return result;
+ }
+
+ @Override
+ public double dot(Vector x) throws CardinalityException {
+ if (cardinality() != x.cardinality())
+ throw new CardinalityException();
+ java.util.Iterator<Integer> iter = values.keySet().iterator();
+ double result = 0;
+ while (iter.hasNext()){
+ int nextIndex = iter.next();
+ result += getQuick(nextIndex) * x.getQuick(nextIndex);
+ }
+ return result;
+ }
+
}