  A new reorthogonalized block classical Gram--Schmidt algorithm is proposed
that factorizes a full column rank matrix $A$ into $A=QR$ where $Q$ is left
orthogonal (has orthonormal columns) and $R$ is upper triangular and
nonsingular.
  With appropriate assumptions on the diagonal blocks of $R$, the algorithm,
when implemented in floating point arithmetic with machine unit $\macheps$,
produces $Q$ and $R$ such that $\| I- Q^{T} Q \|_2 =O(\macheps)$ and $\| A-QR
\|_2 =O(\macheps \| A \|_2)$. The resulting bounds also improve a previous
bound by Giraud et al. [Num. Math., 101(1):87-100,\ 2005] on the CGS2 algorithm
originally developed by Abdelmalek [BIT, 11(4):354--367,\ 1971].
  \medskip Keywords: Block matrices, Q--R factorization, Gram-Schmidt process,
Condition numbers, Rounding error analysis.
