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/28 07:23:34 UTC
svn commit: r903967 - in /lucene/mahout/trunk:
core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
math/src/main/java/org/apache/mahout/math/AbstractVector.java
Author: jmannix
Date: Thu Jan 28 06:23:34 2010
New Revision: 903967
URL: http://svn.apache.org/viewvc?rev=903967&view=rev
Log:
size() checking in getDistanceSquared, and take it out of the DistanceMeasure, which is now much cleaner.
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java?rev=903967&r1=903966&r2=903967&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/common/distance/SquaredEuclideanDistanceMeasure.java Thu Jan 28 06:23:34 2010
@@ -49,18 +49,11 @@
@Override
public double distance(Vector v1, Vector v2) {
- if (v1.size() != v2.size()) {
- throw new CardinalityException();
- }
- Vector vector = v1.minus(v2);
- return vector.dot(vector);
+ return v1.getDistanceSquared(v2);
}
@Override
public double distance(double centroidLengthSquare, Vector centroid, Vector v) {
- if (centroid.size() != v.size()) {
- throw new CardinalityException();
- }
- return centroidLengthSquare + v.getLengthSquared() - 2 * v.dot(centroid);
+ return centroidLengthSquare - 2 * v.dot(centroid) + v.getLengthSquared();
}
}
Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java?rev=903967&r1=903966&r2=903967&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java Thu Jan 28 06:23:34 2010
@@ -219,6 +219,9 @@
@Override
public double getDistanceSquared(Vector v) {
+ if(v.size() != size()) {
+ throw new CardinalityException();
+ }
// if this and v has a cached lengthSquared, dot product is quickest way to compute this.
if(lengthSquared >= 0 && v instanceof AbstractVector && ((AbstractVector)v).lengthSquared >= 0) {
return lengthSquared + v.getLengthSquared() - 2 * this.dot(v);