}
public static double[][] computeQtHat(double[][] qt, int i,
Iterator<UpperTriangular> rIter) {
UpperTriangular rTilde = rIter.next();
for (int j = 1; j < i; j++) {
mergeR(rTilde, rIter.next());
}
if (i > 0) {
qt = mergeQrDown(rTilde, qt, rIter.next());