made Q lazy in QRDecomposition, since QR doesn't work with fat matrices