private boolean loadNextQt() { boolean more = qHatInput.hasNext(); if (!more) { return false; } DenseBlockWritable v = qHatInput.next(); mQt = GivensThinSolver .computeQtHat(v.getBlock(), blockNum == 0 ? 0 : 1, new CopyConstructorIterator<>(mRs.iterator())); r = mQt[0].length; kp = mQt.length; if (qRow == null) { qRow = new DenseVector(kp); } return true; }
private boolean loadNextQt() { boolean more = qHatInput.hasNext(); if (!more) { return false; } DenseBlockWritable v = qHatInput.next(); mQt = GivensThinSolver .computeQtHat(v.getBlock(), blockNum == 0 ? 0 : 1, new CopyConstructorIterator<UpperTriangular>(mRs .iterator())); r = mQt[0].length; kp = mQt.length; if (qRow == null) { qRow = new DenseVector(kp); } return true; }
private boolean loadNextQt() { boolean more = qHatInput.hasNext(); if (!more) { return false; } DenseBlockWritable v = qHatInput.next(); mQt = GivensThinSolver .computeQtHat(v.getBlock(), blockNum == 0 ? 0 : 1, new CopyConstructorIterator<UpperTriangular>(mRs .iterator())); r = mQt[0].length; kp = mQt.length; if (qRow == null) { qRow = new DenseVector(kp); } return true; }
private void secondPass() throws IOException { qSolver = null; // release mem FileSystem localFs = FileSystem.getLocal(jobConf); SequenceFile.Reader tempQr = new SequenceFile.Reader(localFs, tempQPath, jobConf); closeables.addFirst(tempQr); int qCnt = 0; while (tempQr.next(tempKey, value)) { value .setBlock(GivensThinSolver.computeQtHat(value.getBlock(), qCnt, new CopyConstructorIterator<UpperTriangular>(rSubseq .iterator()))); if (qCnt == 1) { /* * just merge r[0] <- r[1] so it doesn't have to repeat in subsequent * computeQHat iterators */ GivensThinSolver.mergeR(rSubseq.get(0), rSubseq.remove(1)); } else { qCnt++; } outputQHat(value); } assert rSubseq.size() == 1; outputR(new VectorWritable(new DenseVector(rSubseq.get(0).getData(), true))); }
private void secondPass() throws IOException { qSolver = null; // release mem FileSystem localFs = FileSystem.getLocal(jobConf); SequenceFile.Reader tempQr = new SequenceFile.Reader(localFs, tempQPath, jobConf); closeables.addFirst(tempQr); int qCnt = 0; while (tempQr.next(tempKey, value)) { value .setBlock(GivensThinSolver.computeQtHat(value.getBlock(), qCnt, new CopyConstructorIterator<>(rSubseq.iterator()))); if (qCnt == 1) { /* * just merge r[0] <- r[1] so it doesn't have to repeat in subsequent * computeQHat iterators */ GivensThinSolver.mergeR(rSubseq.get(0), rSubseq.remove(1)); } else { qCnt++; } outputQHat(value); } assert rSubseq.size() == 1; outputR(new VectorWritable(new DenseVector(rSubseq.get(0).getData(), true))); }
private void secondPass() throws IOException { qSolver = null; // release mem FileSystem localFs = FileSystem.getLocal(jobConf); SequenceFile.Reader tempQr = new SequenceFile.Reader(localFs, tempQPath, jobConf); closeables.addFirst(tempQr); int qCnt = 0; while (tempQr.next(tempKey, value)) { value .setBlock(GivensThinSolver.computeQtHat(value.getBlock(), qCnt, new CopyConstructorIterator<UpperTriangular>(rSubseq .iterator()))); if (qCnt == 1) { /* * just merge r[0] <- r[1] so it doesn't have to repeat in subsequent * computeQHat iterators */ GivensThinSolver.mergeR(rSubseq.get(0), rSubseq.remove(1)); } else { qCnt++; } outputQHat(value); } assert rSubseq.size() == 1; outputR(new VectorWritable(new DenseVector(rSubseq.get(0).getData(), true))); }