@Override public void map(IntWritable iw, VectorWritable vw, Context context) throws IOException { if (PCACommon.pass(ERR_SAMPLE_RATE)) return; Vector yi = vw.get(); if (xi == null) xi = new DenseVector(matrixY2X.numCols()); PCACommon.sparseVectorTimesMatrix(yi, matrixY2X, xi); PCACommon.vectorTimesMatrixTranspose(xi, matrixC, xiCt); denseVectorSubtractSparseSubtractDense(xiCt, yi, zm); sumOfErr.assign( xiCt, new DoubleDoubleFunction() { @Override public double apply(double arg1, double arg2) { return arg1 + Math.abs(arg2); } }); denseVectorPlusAbsSparseVector(sumOfyi, yi); denseVectorPlusAbsDenseDiff(sumOfyc, yi, ym); }