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;
+ }
+
}