Backward stable algorithm Assume we have fixed unitary matrices $Q_1, \dots, Q_k \in \mathbb{C}^{m,m}$ and a matrix $A \in \mathbb{C}^{m,n}$ which can be perturbed. How can we proof that the algorithm on computing  the product $Q_k \cdots Q_1 A$ from left to right is backward stable? And what if the $Q$-matrices are not unitary anymore?

If the matrices $Q_i$ ($i=1,\ldots,k$) are unitary, then (assuming the product is "computed exactly"), we have for some perturbation $E\in\mathbb{C}^{m,n}$ of $A$ that
$$
Q_k\cdots Q_1 (A+E) = Q_k\cdots Q_1 A + F,
$$
where $F=Q_k\cdots Q_1 E$ and $\|F\|=\|Q_k\cdots Q_1 E\|=\|E\|$  for any unitarily invariant matrix norm $\|\cdot\|$. Hence the perturbation of the result $F$ has the same "size" as the perturbation $E$ of the input ($A$).
If the matrices $Q_i$ are not unitary, then simply
$$
\|F\|=\|Q_k\cdots Q_1 A\|\leq\left(\prod_{i=1,\ldots,k}\|Q_i\|\right)\|E\|.
$$
In finite precision, most well-behaving orthogonalisation algorithms (like modified, Householder, or Givens implementations of the Gram-Schmidt algorithm) produce the orthogonal factors such that $\|Q_i\|\approx 1$ up to a perturbation of the order given by the machine precision of the underlying finite precision arithmetic, so even "non-exactly" computed matrices $Q_i$ need not to harm the backward error of the computed matrix product. If the matrices $Q_i$ are arbitrary, then of course the norm of $F$ can be much larger than that of $E$ and there might be no guarantee of a backward stable result.
