Block Gram-Schmidt

and related Krylov subspace algorithms