Vector is an enhanced Array[Double]. You can compare it like Array[Double].
E.g.,

scala> val v1 = Vector(1.0, 2.0)
v1: org.apache.spark.util.Vector = (1.0, 2.0)

scala> val v2 = Vector(1.0, 2.0)
v2: org.apache.spark.util.Vector = (1.0, 2.0)

scala> val exactResult = v1.elements.sameElements(v2.elements) // exact
comparison
exactResult: Boolean = true

scala> val delta = 1E-6
delta: Double = 1.0E-6

scala> val inexactResult = v1.elements.length == v2.elements.length &&
v1.elements.zip(v2.elements).forall { case (x, y) => (x - y).abs < delta }
// inexact comparison
inexactResult : Boolean = true

Best Regards,
Shixiong Zhu


2014-03-04 4:23 GMT+08:00 Oleksandr Olgashko <alexandrolg...@gmail.com>:

> Hello. How should i better check two Vector's for equality?
>
> val a = new Vector(Array(1))
> val b = new Vector(Array(1))
> println(a == b)
> // false
>

Reply via email to