/** * Set the value at the given index, without checking bounds * * @param index an int index into the receiver * @param value a double value to set */ @Override public void setQuick(int index, double value) { vector.setQuick(pivot[index], value); }
@Override public void setQuick(int index, double value) { vector.setQuick(offset + index, value); }
@Override public void setQuick(int index, double value) { delegate.setQuick(index, value); }
@Override public void setQuick(int index, double value) { delegate.setQuick(index, value); }
@Override public void setQuick(int row, int column, double value) { if (columnVectors[column] == null) { columnVectors[column] = new RandomAccessSparseVector(rowSize()); } columnVectors[column].setQuick(row, value); }
@Override public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) { Iterator<Vector.Element> xi = x.all().iterator(); Iterator<Vector.Element> yi = y.all().iterator(); while (xi.hasNext() && yi.hasNext()) { Element xe = xi.next(); x.setQuick(xe.index(), f.apply(xe.get(), yi.next().get())); } return x; } }
public static Vector mergeToVector(Iterator<VectorWritable> vectors) { Vector accumulator = vectors.next().get(); while (vectors.hasNext()) { VectorWritable v = vectors.next(); if (v != null) { for (Element nonZeroElement : v.get().nonZeroes()) { accumulator.setQuick(nonZeroElement.index(), nonZeroElement.get()); } } } return accumulator; }
@Test public void createRiIiMaybeTransposedExceptionOnNonSequentialVector() { Vector ratings = new RandomAccessSparseVector(3); ratings.setQuick(1, 1.0); ratings.setQuick(3, 3.0); ratings.setQuick(5, 5.0); try { AlternatingLeastSquaresSolver.createRiIiMaybeTransposed(ratings); fail(); } catch (IllegalArgumentException e) {} }
@Override public void setQuick(int row, int column, double value) { Vector r = rowVectors.get(row); if (r == null) { r = new RandomAccessSparseVector(columnSize()); rowVectors.put(row, r); } r.setQuick(column, value); }
@Override public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) { for (int i = 0; i < x.size(); ++i) { x.setQuick(i, f.apply(x.getQuick(i), y.getQuick(i))); } return x; } }
@Override public void setQuick(int index, double value) { Vector v = rowToColumn ? matrix.viewColumn(index) : matrix.viewRow(index); if (v == null) { v = newVector(numCols); if (rowToColumn) { matrix.assignColumn(index, v); } else { matrix.assignRow(index, v); } } v.setQuick(transposeOffset, value); }
@Override public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) { for (Element ye : y.nonZeroes()) { x.setQuick(ye.index(), f.apply(x.getQuick(ye.index()), ye.get())); } return x; } }
@Override public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) { for (Element xe : x.all()) { x.setQuick(xe.index(), f.apply(xe.get(), y.getQuick(xe.index()))); } return x; } }
@Override public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) { for (Element ye : y.all()) { x.setQuick(ye.index(), f.apply(x.getQuick(ye.index()), ye.get())); } return x; } }
@Test public void createRiIiMaybeTransposed() { Vector ratings = new SequentialAccessSparseVector(3); ratings.setQuick(1, 1.0); ratings.setQuick(3, 3.0); ratings.setQuick(5, 5.0); Matrix riIiMaybeTransposed = AlternatingLeastSquaresSolver.createRiIiMaybeTransposed(ratings); assertEquals(1, riIiMaybeTransposed.numCols(), 1); assertEquals(3, riIiMaybeTransposed.numRows(), 3); assertEquals(1.0, riIiMaybeTransposed.getQuick(0, 0), EPSILON); assertEquals(3.0, riIiMaybeTransposed.getQuick(1, 0), EPSILON); assertEquals(5.0, riIiMaybeTransposed.getQuick(2, 0), EPSILON); }