Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

divide a vector (sum) by a double, error

$
0
0
Hi all,

I have attempted to write a method centroid() that

1) sums a HashSet of org.apache.mahout.math.Vector (vectors that are
DenseVector), and
2) (org.apache.mahout.math.Vector.divide) divides the summed vector by
its size, as a double.

I get an error:

Exception in thread "main" java.lang.IncompatibleClassChangeError:
class org.apache.mahout.math.function.Functions$1 has interface
org.apache.mahout.math.function.DoubleFunction as super class

I've tried this with a set of DenseVector and
SequentialAccessSparseVector with the same result.

Any help appreciated, the actual method is below.
I noticed a class Centroid in the mahout distribution, but seems to
cover a different sense of centroid than that I'm implementing here.

Thanks,
Patrice

public Vector centroid (HashSet<Vector> vectors){

Iterator<Vector> it = vectors.iterator();

Vector sum = it.next();

while(it.hasNext()){

Vector aVector = it.next();

sum = sum.plus(aVector);

System.out.println(sum.toString());

Integer totalVectors = vectors.size();

double dlTotalVectors = totalVectors.doubleValue();

return sum.divide(dlTotalVectors);

Viewing all articles
Browse latest Browse all 5648

Latest Images

Trending Articles



Latest Images