@Override public void set(int index, double value) { check(index); wrapped.set(offset + index, value); }
@Override public void set(int index, double value) { check(index); wrapped.set(offset + index, value); }
/** * Constructor for DenseVector * * @param x * Copies contents from this vector * @param deep * True for a deep copy. For a shallow copy, <code>x</code> must * be a <code>DenseVector</code> */ public DenseVector(Vector x, boolean deep) { super(x); if (deep) { data = new double[size]; set(x); } else data = ((DenseVector) x).getData(); }
/** * Constructor for DenseVector * * @param x * Copies contents from this vector * @param deep * True for a deep copy. For a shallow copy, <code>x</code> must * be a <code>DenseVector</code> */ public DenseVector(Vector x, boolean deep) { super(x); if (deep) { data = new double[size]; set(x); } else data = ((DenseVector) x).getData(); }
/** * Adds ranks and scores obtained from a candidate provider. * * @param docFeats all features * @param resultsAll result entries */ private void addScoresAndRanks(Map<String, DenseVector> docFeats, CandidateEntry[] resultsAll) { for (CandidateEntry e: resultsAll) { DenseVector oldVect = docFeats.get(e.mDocId); int oldSize = oldVect.size(); DenseVector newVect = new DenseVector(oldSize + 2); newVect.set(0, e.mOrigRank); newVect.set(1, e.mOrigScore); for (int vi = 0; vi < oldSize; ++vi) newVect.set(vi + 2, oldVect.get(vi)); docFeats.replace(e.mDocId, newVect); } }
protected DenseVector createPreferenceVector(int tokenSize, double d) { DenseVector biasVector = new DenseVector(tokenSize); double value = 1.0; for (int i = 0; i < biasVector.size(); i++) { biasVector.set(i, value); } return biasVector; }
/** * Solves directly at the coarsest level */ private void directSolve() { int k = m - 1; u[k].set(f[k]); DenseMatrix U = new DenseMatrix(u[k], false); if (transpose) lu.transSolve(U); else lu.solve(U); }
/** * Solves directly at the coarsest level */ private void directSolve() { int k = m - 1; u[k].set(f[k]); DenseMatrix U = new DenseMatrix(u[k], false); if (transpose) lu.transSolve(U); else lu.solve(U); }
public static DenseVector getColumn(Matrix m, int j) { DenseVector v = new DenseVector(m.numRows()); for (int i = 0; i < v.size(); i++) { v.set(i, m.get(i, j)); } return v; }
public static DenseVector getColumn(Matrix m, int j) { DenseVector v = new DenseVector(m.numRows()); for (int i = 0; i < v.size(); i++) { v.set(i, m.get(i, j)); } return v; }
/** * Performs a multigrid cycle * * @param k * Level to cycle at. Start by calling <code>cycle(0)</code> */ private void cycle(int k) { if (k == m - 1) directSolve(); else { // Presmoothings preRelax(k); u[k + 1].zero(); // Compute the residual A[k].multAdd(-1, u[k], r[k].set(f[k])); // Restrict to the next coarser level I[k].transMult(r[k], f[k + 1]); // Recurse to next level for (int i = 0; i < gamma; ++i) cycle(k + 1); // Add residual correction by prolongation I[k].multAdd(u[k + 1], u[k]); // Postsmoothings postRelax(k); } }
set(index[i], entry[i]);
/** * Performs a multigrid cycle * * @param k * Level to cycle at. Start by calling <code>cycle(0)</code> */ private void cycle(int k) { if (k == m - 1) directSolve(); else { // Presmoothings preRelax(k); u[k + 1].zero(); // Compute the residual A[k].multAdd(-1, u[k], r[k].set(f[k])); // Restrict to the next coarser level I[k].transMult(r[k], f[k + 1]); // Recurse to next level for (int i = 0; i < gamma; ++i) cycle(k + 1); // Add residual correction by prolongation I[k].multAdd(u[k + 1], u[k]); // Postsmoothings postRelax(k); } }
s.zero().set(0, normr); int i = 0;
s.zero().set(0, normr); int i = 0;