/** returns the number of elements in the {@link Vector} that are neither 0 nor NaN */ public static int numberOfNoNZeroNonNaNElements(Vector vector) { int elementsInVector = 0; for (Element currentElement : vector.nonZeroes()) { if (!Double.isNaN(currentElement.get())) { elementsInVector++; } } return elementsInVector; }
static void denseVectorPlusAbsSparseVector(DenseVector denseVector, Vector sparseVector) { Iterator<Vector.Element> nonZeroElements = sparseVector.nonZeroes().iterator(); while (nonZeroElements.hasNext()) { Vector.Element e = nonZeroElements.next(); int index = e.index(); double v = e.get(); double prevV = denseVector.getQuick(index); denseVector.setQuick(index, prevV + Math.abs(v)); } }