@Override public void multiply(double n) { for (Map.Entry<Integer, Integer> e : entrySet()) { e.setValue((int) (e.getValue() * n)); } defaultValue *= n; }
/** * Convert to a dense array */ public int[] toArray() { int[] arr = new int[n]; if (defaultValue != 0) { Arrays.fill(arr, defaultValue); } for (Map.Entry<Integer, Integer> entry : entrySet()) { arr[entry.getKey()] = entry.getValue(); } return arr; }
@Override public String toString() { if (isEmpty()) { return ""; } StringBuilder sb = new StringBuilder(); for (Map.Entry<Integer, Integer> entry : entrySet()) { sb.append(",").append(entry.getKey().toString()).append("=").append(entry.getValue().toString()); } return sb.substring(1); }
public void clean(PrintWriter out, int[][] map) { final int L = 2; for (int j = 0; j < x.length; j++) { if (x[j][0].isEmpty() || x[j][1].isEmpty()) { continue; } for (int l = 0; l < L; l++) { for (Map.Entry<Integer, Integer> e : x[j][l].entrySet()) { for (int i = 0; i < e.getValue(); i++) { out.print(map[e.getKey()][l] + " "); } } out.println(); } } out.println(); }
/** * Convert to a sparse real array */ public SparseRealArray toRealArray() { final SparseRealArray sparseRealArray = new SparseRealArray(n, defaultValue, 0.0); for (Map.Entry<Integer, Integer> entry : entrySet()) { sparseRealArray.put(entry.getKey(), entry.getValue()); } return sparseRealArray; }
public void clean(PrintWriter out, int[][] map) { final int L = 2; for (int j = 0; j < x.length; j++) { if (x[j][0].isEmpty() || x[j][1].isEmpty()) { continue; } for (int l = 0; l < L; l++) { for (Map.Entry<Integer, Integer> e : x[j][l].entrySet()) { for (int i = 0; i < e.getValue(); i++) { out.print(map[e.getKey()][l] + " "); } } out.println(); } } out.println(); }
@Override @SuppressWarnings("unchecked") public <M extends Number, O extends Number> Matrix<O> outerProduct(Vector<M> y, Vectors.Factory<O> using) { if (using == Vectors.AS_INTS) { int[][] data2 = new int[n][y.length()]; for (Map.Entry<Integer, Integer> e : entrySet()) { for (int j = 0; j < y.length(); j++) { data2[e.getKey()][j] = e.getValue().intValue() * y.intValue(j); } } return (Matrix<O>) new IntArrayMatrix(data2); } else if (using == Vectors.AS_REALS) { double[][] data2 = new double[n][y.length()]; for (Map.Entry<Integer, Integer> e : entrySet()) { for (int j = 0; j < y.length(); j++) { data2[e.getKey()][j] = y.doubleValue(j) * e.getValue().intValue(); } } return (Matrix<O>) new DoubleArrayMatrix(data2); } else { final SparseMatrix<O> matrix = new SparseMatrix<O>(n, y.length(), using); for (Map.Entry<Integer, Integer> e : entrySet()) { for (Map.Entry<Integer, M> e2 : y.entrySet()) { matrix.set(e.getKey(), e2.getKey(), e2.getValue().doubleValue() * e.getKey().doubleValue()); } } return matrix; } }
if (defaultValue == 0) { double innerProduct = 0; for (Map.Entry<Integer, Integer> e : entrySet()) { innerProduct += y2[e.getKey()] * e.getValue(); if (defaultValue == 0) { int innerProduct = 0; for (Map.Entry<Integer, Integer> e : entrySet()) { innerProduct += e.getValue() * y2[e.getKey()]; int innerProduct = 0; if (this.size() <= y.size()) { for (Map.Entry<Integer, Integer> e : entrySet()) { innerProduct += e.getValue() * y.intValue(e.getKey()); int innerProduct = 0; int notBothSparse = 0; for (Map.Entry<Integer, Integer> e : entrySet()) { innerProduct += e.getValue() * y.intValue(e.getKey()); notBothSparse++;