QR decomp