> But you can compute Q^T b by applying the Givens rotations directly to the
> vector b, for a cost of only O(n^2).
You're right.
It would be nice to know what QR serves to, before to computing the decomposition. In case QR is needed only to solve a least squares system, it's unuseful to form the Q matrix.
The QR class could have this behaviour: store the matrix of which *this is de QR decomposition with the constructor and compute the decomposition only then, when is strictly needed. For example, the solve() method doesn't require the computation of Q, so Q were not computed.
As soon as I have time I will code something.
Andrea Arteaga |