/** * Constructs a function that returns <tt>a - b*constant</tt>. <tt>a</tt> and <tt>b</tt> are variables, * <tt>constant</tt> is fixed. */ public static DoubleDoubleFunction minusMult(double constant) { return plusMult(-constant); }
r.set(i, j, beta); if (j < min) { qj.assign(qi, Functions.plusMult(-beta));
/** * Generates and returns the (economy-sized) orthogonal factor <tt>Q</tt>. * * @return <tt>Q</tt> */ @Override public Matrix getQ() { int columns = Math.min(originalColumns, originalRows); Matrix q = qr.like(originalRows, columns); for (int k = columns - 1; k >= 0; k--) { Vector QRcolk = qr.viewColumn(k).viewPart(k, originalRows - k); q.set(k, k, 1); for (int j = k; j < columns; j++) { if (qr.get(k, k) != 0) { Vector Qcolj = q.viewColumn(j).viewPart(k, originalRows - k); double s = -QRcolk.dot(Qcolj) / qr.get(k, k); Qcolj.assign(QRcolk, Functions.plusMult(s)); } } } return q; }
Vector row = rowVectors[i]; for (Vector.Element element : row.nonZeroes()) { result.rowVectors[i].assign(y.rowVectors[element.index()], Functions.plusMult(element.get())); Vector r = new DenseVector(other.columnSize()); for (Vector.Element element : row.nonZeroes()) { r.assign(other.viewRow(element.index()), Functions.plusMult(element.get())); Vector row = rowVectors[i]; for (Vector.Element element : row.nonZeroes()) { result.rowVectors[i].assign(other.viewRow(element.index()), Functions.plusMult(element.get()));
ort.viewPart(m, high - m + 1).assign(hColumn, Functions.plusMult(1 / scale)); double h = ort.viewPart(m, high - m + 1).getLengthSquared(); for (int j = m; j < n; j++) { double f = ortPiece.dot(hessenBerg.viewColumn(j).viewPart(m, high - m + 1)) / h; hessenBerg.viewColumn(j).viewPart(m, high - m + 1).assign(ortPiece, Functions.plusMult(-f)); hessenBerg.viewRow(i).viewPart(m, high - m + 1).assign(ortPiece, Functions.plusMult(-f)); v.viewColumn(j).viewPart(m, high - m + 1).assign(ort.viewPart(m, high - m + 1), Functions.plusMult(g));
/** * Constructs a function that returns <tt>a - b*constant</tt>. <tt>a</tt> and <tt>b</tt> are variables, * <tt>constant</tt> is fixed. */ public static DoubleDoubleFunction minusMult(double constant) { return plusMult(-constant); }
/** * Constructs a function that returns <tt>a - b*constant</tt>. <tt>a</tt> and <tt>b</tt> are variables, * <tt>constant</tt> is fixed. */ public static DoubleDoubleFunction minusMult(double constant) { return plusMult(-constant); }
@Override public final Vector apply(String groupKey, int actual, Vector instance, AbstractVectorClassifier classifier) { addToHistory(actual, instance); // now compute average gradient versus saved vectors from the other side Deque<Vector> otherSide = history.get(1 - actual); int n = otherSide.size(); Vector r = null; for (Vector other : otherSide) { Vector g = BASIC.apply(groupKey, actual, instance.minus(other), classifier); if (r == null) { r = g; } else { r.assign(g, Functions.plusMult(1.0 / n)); } } return r; }
@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
@Override public Vector classifyNoLink(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classifyNoLink(instance), scale); } return r; }
@Override public Vector classifyNoLink(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classifyNoLink(instance), scale); } return r; }
@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
@Override public Vector classifyNoLink(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classifyNoLink(instance), scale); } return r; }
public void train(int bandit, boolean success) { state.viewColumn(success ? 0 : 1).assign(featureMap.viewRow(bandit), Functions.plusMult(1.0 / m)); }
@Override protected void map(T key, VectorWritable v, Context context) throws IOException, InterruptedException { double d = scale(v); if (d == 1.0) { outputVector.assign(v.get(), Functions.PLUS); } else if (d != 0.0) { outputVector.assign(v.get(), Functions.plusMult(d)); } }
@Override protected void map(T key, VectorWritable v, Context context) throws IOException, InterruptedException { double d = scale(v); if (d == 1.0) { outputVector.assign(v.get(), Functions.PLUS); } else if (d != 0.0) { outputVector.assign(v.get(), Functions.plusMult(d)); } }
@Override public void map(T rowNum, VectorWritable v, OutputCollector<NullWritable,VectorWritable> out, Reporter rep) throws IOException { setOut(out); double d = scale(v); if (d == 1.0) { outputVector.assign(v.get(), Functions.PLUS); } else if (d != 0.0) { outputVector.assign(v.get(), Functions.plusMult(d)); } }