@Override public final Vector times( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); SparseVector result = new SparseVector(diagonal.length); vector.compress(); int[] locs = vector.getIndices(); for (int i = 0; i < locs.length; ++i) { result.setElement(locs[i], vector.getValues()[i] * diagonal[locs[i]]); } return result; }
@Override public final Vector times( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); SparseVector result = new SparseVector(diagonal.length); vector.compress(); int[] locs = vector.getIndices(); for (int i = 0; i < locs.length; ++i) { result.setElement(locs[i], vector.getValues()[i] * diagonal[locs[i]]); } return result; }
@Override public final Vector times( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); SparseVector result = new SparseVector(diagonal.length); vector.compress(); int[] locs = vector.getIndices(); for (int i = 0; i < locs.length; ++i) { result.setElement(locs[i], vector.getValues()[i] * diagonal[locs[i]]); } return result; }
@Override public final Vector preTimes( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumRows()); DenseVector result = new DenseVector(getNumColumns()); vector.compress(); int[] locs = vector.getIndices(); double[] vals = vector.getValues(); final int numColumns = this.getNumColumns(); for (int i = 0; i < numColumns; ++i) { double entry = 0; for (int j = 0; j < locs.length; ++j) { entry += vals[j] * rows[locs[j]].get(i); } result.setElement(i, entry); } return result; }
@Override public final Vector preTimes( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumRows()); DenseVector result = new DenseVector(getNumColumns()); vector.compress(); int[] locs = vector.getIndices(); double[] vals = vector.getValues(); final int numColumns = this.getNumColumns(); for (int i = 0; i < numColumns; ++i) { double entry = 0; for (int j = 0; j < locs.length; ++j) { entry += vals[j] * rows[locs[j]].get(i); } result.setElement(i, entry); } return result; }
@Override public final Vector preTimes( final SparseVector vector) { vector.assertDimensionalityEquals(this.getNumRows()); DenseVector result = new DenseVector(getNumColumns()); vector.compress(); int[] locs = vector.getIndices(); double[] vals = vector.getValues(); final int numColumns = this.getNumColumns(); for (int i = 0; i < numColumns; ++i) { double entry = 0; for (int j = 0; j < locs.length; ++j) { entry += vals[j] * rows[locs[j]].get(i); } result.setElement(i, entry); } return result; }
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumColumns()); if (!isCompressed())
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumColumns()); if (!isCompressed())
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumColumns()); if (!isCompressed())
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumRows()); if (!isCompressed())
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumRows()); if (!isCompressed())
final SparseVector vector) vector.assertDimensionalityEquals(this.getNumRows()); if (!isCompressed())