Escrevendo em termos matriciais, temos que a função
\[ b = Q*x \]
pode ser escrita com Q e x sendo:
\[Q=\left[\begin{array}{cc}
q_1 & q_2 & ... & q_n \\
\end{array}\right]\]
\[x=\left[\begin{array}{cc}
x_1 \\
x_2 \\
... \\
x_n \\
\end{array}\right]\]
Podemos também definir que:
\[ b^t * b = (Q * x)^t * (Q * x) \] \[b^t * b = Q^t * x^t * Q * x \]\[b^t * b = x^t * x * Q^t * Q\]
Se Q for uma matriz quadrada ou retangular com colunas ortonormais, então
\[ Q^t * Q = I\]
Essa é a "peça chave" da questão, apenas porque isso é verdade, podemos dizer que os comprimentos dos vetores são mantidos (será mostrado adiante). Podemos então substituir usando a equação acima e teremos que:
\[b^t * b = x^t * x * I\]\[b^t * b = x^t * x\]
Claculando o x^t * x (x com a transposta dele mesmo) com base na forma matricial expressa acima, temos que,
\[ b^t * b = x^t * x = x_1^2 + x_2^2 + ... + x_n^2\]
Tomando que
\[ ||b||^2 = b^t * b = x_1^2 + x_2^2 + ... + x_n^2 = x^t * x = ||x||^2\]
Abrindo também a equação de ||Q*x||^2, e usando do fato comentado acima de que Q^t * Q = I, temos que:
\[ ||Q * x||^2 = (Q * x)^t * (Q*x) = x^t * x = x_1^2 + x_2^2 + ... + x_n^2 = ||x||^2\]
Portanto, mostramos que de fato,
\[ ||Q * x||^2 = ||x||^2\]
Mais detalhes sobre os procedimentos feitos ou caso esteja mais interessado em algum aspecto teórico da resolução, olhar página 197 desse mesmo livro ("Linear Algebra and it's applications - fourth edition").