@Override public <M extends Number, O extends Number> Vector<O> mult(Vector<M> x, Factory<O> using) { final Vector<O> x2 = using.make(A.rows(), 0.0); for (Map.Entry<Integer, M> e : x.entrySet()) { x2.put(map[e.getKey()], e.getValue().doubleValue()); } return invMap(A.mult(x2, using), using); }