Givens rotation
A Givens rotation is a rotation that acts in just one coordinate plane and leaves all other directions fixed. It is the identity matrix except for a 2x2 rotation block [c, -s; s, c] (with c^2 + s^2 = 1) sitting in rows and columns i and j. It rotates the (i, j) plane while everything else stays put.
Its job in factorization is surgical: choose the angle so that one specific entry becomes zero. Where a Householder reflection clears an entire column below the pivot at once, a Givens rotation clears exactly one entry. This precision is a feature, not a weakness. When a matrix is sparse, or already almost triangular, you do not want to disturb the existing zeros; a Givens rotation touches only two rows.
That makes Givens the tool of choice for structured problems: tridiagonal and Hessenberg matrices in eigenvalue algorithms, banded systems, and especially updating a factorization after a small change, where you nudge an already-triangular matrix back to triangular with a handful of rotations rather than refactoring from scratch.
Like all rotations it is orthogonal, so it preserves norms and shares Householder's numerical stability. The classic caveat is that the formulas for c and s must be computed carefully to avoid overflow; the standard recipe scales by the larger of the two entries before taking the hypotenuse.
One rotation zeros the entry b while preserving the length r of the two-vector.
Rule of thumb: Householder for dense from-scratch QR (fewer operations); Givens for sparse, structured, or incremental work (surgical, parallelizable).