QR Decomposition via Givens Rotations