package processing.hashtag.baseline;
public class VectorUtil {
/**
* Vector Abs value.
* @param vector
* @return
*/
public static double getVectorAbsValue(Vector vector) {
double vectorAbsValue = 0;
for (Integer hashtag : vector.getVector().keySet()) {
vectorAbsValue += (vector.getVector().get(hashtag) * vector.getVector().get(hashtag));
}
if(vectorAbsValue != 0){
vectorAbsValue = Math.sqrt(vectorAbsValue);
}
return vectorAbsValue;
}
/**
* Vector dot product.
* @param v1
* @param v2
* @return
*/
public static double getVectorDotProduct(Vector v1, Vector v2) {
double dotProduct = 0d;
for (Integer key : v1.getVector().keySet()) {
if (v2.getVector().containsKey(key)) {
dotProduct += v1.getVector().get(key) * v2.getVector().get(key);
}
}
return dotProduct;
}
public static void main(String[] args){
Vector vector1 = new Vector();
vector1.getVector().put(1, 3.0);
vector1.getVector().put(2, 4.0);
//System.out.println(" Vector abs values >> " + VectorUtil.getVectorAbsValue(vector1));
Vector vector2 = new Vector();
vector2.getVector().put(1, 5.0);
vector2.getVector().put(2, 4.0);
//System.out.println(" Cosine sim >> " + CosineSimilarityCalculator.getCosineSimilarity(vector1, vector2));
}
}