rotation[i].apply(H, i, i, i + 1);
rotation[i].apply(s, i, i + 1);
}
// Update solution in current subspace
new UpperTriangDenseMatrix(H, i, false).solve(s, s);
for (int j = 0; j < i; j++)
x.add(s.get(j), v[j]);
A.multAdd(-1, x, u.set(b));
M.apply(u, r);