public static FeatureVector vectorProduct(FeatureVector fv1, FeatureVector fv2){
        if (fv1==null||fv2==null) return null;
        Iterator<Integer> it = fv1.getKey();
        FeatureVector result = new FeatureVector();
        while(it.hasNext()){
            int key = it.next();
            double sum = fv1.get(key)*fv2.get(key);
            if (sum!=0)
                result.add(key, sum);
        }
        return result;
    }