Solvers

Make the SolverGMRES work on a system Ax = b where A is an nxn matrix but the block structure is such that x and b do not have the same numer of blocks, also meaning that A's number of block rows is not the same as A's number of block columns.
You immediately overwrite the content of v in the following line, so it would probably be sufficient to do
  v.reinit (x, false);
Is 'v' used above this? In other words, does the vector 'v' change its layout within the iteration, or could one move the call to v.reinit out of the loop?