Householder transformation
In linear algebra, the Householder transformation, also known as a Householder reflection or elementary reflector, is a type of orthogonal matrix that performs a reflection of vectors across a hyperplane in Euclidean space.[1] It is mathematically defined as H = I - \frac{2 u u^T}{u^T u}, where I is the identity matrix and u is a non-zero column vector, or equivalently H = I - 2 v v^T when v is the unit vector in the direction of u.[1][2] This construction ensures that H is symmetric (H^T = H), orthogonal (H^T H = I), and involutory (H^2 = I), meaning it preserves lengths and angles while reflecting any vector x to Hx = x - 2 \frac{u^T x}{u^T u} u.[1][3] Named after mathematician Alston S. Householder, who introduced the concept in his 1958 paper on unitary triangularization of nonsymmetric matrices, the transformation provides a numerically stable method for introducing zeros in specific positions of a matrix without disrupting previously computed zeros.[4][1] Key applications include the QR decomposition of a matrix A into an orthogonal matrix Q and upper triangular matrix R, achieved by applying a sequence of Householder transformations to zero out subdiagonal elements column by column.[2] It is also essential for reducing symmetric matrices to tridiagonal form in eigenvalue computations and for solving linear least squares problems, offering advantages in computational efficiency and stability over alternatives like the Gram-Schmidt process.[1][2] In practice, Householder transformations are implemented in libraries such as LAPACK, where the vector u (or a scaled version) is stored compactly to minimize storage and enable blocked algorithms for large-scale computations.[2] Their reflection property makes them particularly suited for preserving matrix symmetry in certain decompositions, and extensions like generalized Householder transformations have been developed for sparse matrices and other specialized numerical tasks.[1]Definition
Mathematical Formulation
The Householder transformation, also known as a Householder reflection, is a linear operator defined on an inner product space that performs a reflection of vectors across a hyperplane passing through the origin, with the hyperplane orthogonal to a given non-zero vector \mathbf{v}.[4] In the context of Euclidean space \mathbb{R}^n, equipped with the standard inner product \langle \mathbf{x}, \mathbf{y} \rangle = \mathbf{x}^T \mathbf{y}, the transformation is given by H(\mathbf{v}) = I - \frac{2 \mathbf{v} \mathbf{v}^T}{\| \mathbf{v} \|^2}, where I is the n \times n identity matrix and \| \mathbf{v} \|^2 = \mathbf{v}^T \mathbf{v}.[1] This operator is orthogonal, satisfying H(\mathbf{v})^T H(\mathbf{v}) = I, and thus preserves lengths and angles in the space.[2] An inner product space is a vector space over the real or complex numbers endowed with an inner product, which induces a norm \| \mathbf{x} \| = \sqrt{\langle \mathbf{x}, \mathbf{x} \rangle} and enables the definition of orthogonality via \langle \mathbf{x}, \mathbf{y} \rangle = 0. The orthogonal projection of a vector \mathbf{x} onto the one-dimensional subspace spanned by \mathbf{v} is \text{proj}_{\mathbf{v}}(\mathbf{x}) = \frac{\langle \mathbf{x}, \mathbf{v} \rangle}{\| \mathbf{v} \|^2} \mathbf{v} = \frac{\mathbf{v}^T \mathbf{x}}{\| \mathbf{v} \|^2} \mathbf{v}. Applying the Householder transformation to \mathbf{x} yields the reflected vector H(\mathbf{v}) \mathbf{x} = \mathbf{x} - 2 \text{proj}_{\mathbf{v}}(\mathbf{x}), which geometrically mirrors \mathbf{x} across the hyperplane perpendicular to \mathbf{v}, leaving vectors in that hyperplane unchanged.[1][5] The Householder transformation is named after Alston S. Householder, an American mathematician who formalized its use in the 1950s for numerical linear algebra, particularly in matrix decompositions.[6] His seminal 1958 paper introduced the method in the context of unitary triangularization, establishing its foundational role in stable computational algorithms.[4]Householder Reflector Matrix
The Householder reflector matrix, denoted as Q, represents the linear transformation corresponding to a reflection across a hyperplane in Euclidean space and takes the explicit form Q = I - 2 \mathbf{u} \mathbf{u}^T, where I is the identity matrix and \mathbf{u} is a unit vector (\| \mathbf{u} \|_2 = 1) serving as the normal to the reflection hyperplane.[4] This matrix form derives directly from the geometric definition of a reflection operator, which subtracts twice the projection of a vector onto the normal direction from the original vector. Here, \mathbf{u} = \mathbf{v} / \| \mathbf{v} \|_2 for some nonzero vector \mathbf{v} defining the hyperplane's orientation. The matrix Q is symmetric, as Q^T = (I - 2 \mathbf{u} \mathbf{u}^T)^T = I - 2 (\mathbf{u} \mathbf{u}^T)^T = I - 2 \mathbf{u} \mathbf{u}^T = Q, since the outer product [\mathbf{u} \mathbf{u}^T](/page/Outer_product) is symmetric. It is also orthogonal, satisfying Q^2 = I (and thus Q Q^T = I): \begin{align*} Q^2 &= (I - 2 \mathbf{u} \mathbf{u}^T)(I - 2 \mathbf{u} \mathbf{u}^T) \\ &= I - 4 \mathbf{u} \mathbf{u}^T + 4 \mathbf{u} \mathbf{u}^T \mathbf{u} \mathbf{u}^T \\ &= I - 4 \mathbf{u} \mathbf{u}^T + 4 (\mathbf{u}^T \mathbf{u}) \mathbf{u} \mathbf{u}^T \\ &= I - 4 \mathbf{u} \mathbf{u}^T + 4 \mathbf{u} \mathbf{u}^T = I, \end{align*} where the simplification relies on \mathbf{u}^T \mathbf{u} = 1. These properties ensure that Q preserves vector norms and inner products, making it suitable for numerical linear algebra tasks.[4] For a concrete illustration in two dimensions, consider \mathbf{v} = \begin{pmatrix} 1 \\ 1 \end{pmatrix}, so \| \mathbf{v} \|_2 = \sqrt{2} and \mathbf{u} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix}. Then, \mathbf{u} \mathbf{u}^T = \frac{1}{2} \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}, and Q = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} - 2 \cdot \frac{1}{2} \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix}. Applying Q to the standard basis vector \mathbf{e}_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix} yields Q \mathbf{e}_1 = \begin{pmatrix} 0 \\ -1 \end{pmatrix}, demonstrating the reflection: the vector \mathbf{e}_1 is mirrored across the line perpendicular to \mathbf{v} (the line y = -x). In contrast to arbitrary reflection matrices, the Householder reflector employs a specific choice of \mathbf{v} (and thus \mathbf{u}) to map a target vector \mathbf{x} onto a scalar multiple of a standard basis vector, such as \| \mathbf{x} \|_2 \mathbf{e}_1, which zeros out all but the first component.[4] This targeted selection distinguishes it from general reflections and enables efficient zero introductions in matrix factorizations.Properties
Algebraic Properties
The Householder transformation matrix Q = I - 2 \frac{u u^T}{u^T u}, where u is a nonzero vector, is orthogonal, satisfying Q^T Q = I.[7] This orthogonality follows directly from the form of Q, as Q^T Q = (I - 2 \frac{u u^T}{u^T u})^T (I - 2 \frac{u u^T}{u^T u}) = I - 4 \frac{u u^T}{u^T u} + 4 \frac{u u^T u u^T}{(u^T u)^2} = I, since u^T u is a scalar and u u^T u = (u^T u) u.[2] Additionally, Q is real symmetric, with Q = Q^T, because the outer product u u^T is symmetric.[7] The determinant of Q is \det(Q) = -1, distinguishing it as a reflection rather than a rotation.[7] This arises because Q has eigenvalues consisting of +1 with multiplicity n-1 (for eigenvectors orthogonal to u) and -1 with multiplicity 1 (for the eigenvector u).[8] Consequently, the trace of Q in n dimensions is \operatorname{tr}(Q) = n - 2, reflecting the sum of these eigenvalues.[2] The matrix Q is involutory, satisfying Q^2 = I, which implies that Q is its own inverse.[7] This property holds because Q^2 = (I - 2 \frac{u u^T}{u^T u})^2 = I - 4 \frac{u u^T}{u^T u} + 4 \frac{u u^T u u^T}{(u^T u)^2} = I, as the cross terms cancel.[8] The rank-one update structure of Q, derived via the Sherman-Morrison formula for low-rank modifications to the identity, underscores its efficiency in computations.[7] Products of Householder matrices yield orthogonal matrices, enabling the construction of arbitrary orthogonal transformations through sequential reflections.[9]Geometric Interpretation
The Householder transformation represents a reflection of vectors across a hyperplane in Euclidean space, where the hyperplane is defined as perpendicular to a chosen nonzero vector \mathbf{u}. This geometric operation leaves all points on the hyperplane unchanged while flipping the position of points on the opposite side relative to the plane, effectively negating their components parallel to \mathbf{u}. Such reflections preserve Euclidean distances and angles between vectors, ensuring that the transformation is an isometry of the space.[10][11] Vectors lying within the hyperplane—those orthogonal to \mathbf{u}—remain fixed under the transformation, as their projection onto \mathbf{u} is zero. For any vector, the transformation subtracts twice its projection onto \mathbf{u}, which geometrically corresponds to mirroring the parallel component across the origin along that direction. This selective negation along the normal direction \mathbf{u} while fixing the orthogonal subspace highlights the transformation's role in reorienting specific components without distorting the overall geometry.[5][12] In two dimensions, the Householder transformation acts as a reflection over a line perpendicular to \mathbf{u}, such as mirroring a point across the y-axis if \mathbf{u} aligns with the x-axis, resulting in a simple flip without any rotational component. Extending to three dimensions, it reflects over a plane with normal \mathbf{u}, for instance, transforming a vector pointing away from the xy-plane to its symmetric counterpart on the other side of the plane. Unlike rotations, which preserve orientation and involve circular motion around an axis, the Householder transformation performs a pure flip across the hyperplane, reversing handedness in the affected direction. In contrast to projections, which map vectors onto a subspace and are neither bijective nor invertible, the reflection is a bijection that fully spans the space, allowing reversal by applying the same transformation again.[10][11][5] A distinctive geometric feature is its application in aligning a vector with a standard basis direction, such as reflecting a given vector toward the first coordinate axis \mathbf{e}_1 to zero out its subdiagonal components in a matrix column, all while maintaining the vector's original norm due to the inherent orthogonality of the transformation.[12][10]Construction and Computation
Deriving the Reflector Vector
The reflector vector \mathbf{u} in a Householder transformation is derived to reflect a given nonzero vector \mathbf{x} \in \mathbb{R}^n onto a scalar multiple of the first standard basis vector \mathbf{e}_1 = [1, 0, \dots, 0]^T, thereby zeroing all components of \mathbf{x} except the first. This construction ensures that the transformation H\mathbf{x} = \beta \mathbf{e}_1, where \beta = \pm \|\mathbf{x}\|_2 and \|\cdot\|_2 denotes the Euclidean vector norm, while preserving the norm since H is orthogonal.[4][13] The basic mathematical derivation begins by noting that the reflection hyperplane is perpendicular to \mathbf{u}, so \mathbf{u} must be parallel to the vector difference \mathbf{x} - \beta \mathbf{e}_1. A simple choice is \beta = \|\mathbf{x}\|_2, yielding the unnormalized reflector \tilde{\mathbf{u}} = \mathbf{x} - \|\mathbf{x}\|_2 \mathbf{e}_1. The normalized reflector is then \mathbf{u} = \tilde{\mathbf{u}} / \|\tilde{\mathbf{u}}\|_2, ensuring \mathbf{u}^T \mathbf{u} = 1. With this \mathbf{u}, the transformation satisfies H\mathbf{x} = \|\mathbf{x}\|_2 \mathbf{e}_1.[13] For improved numerical properties, the sign of \beta is adjusted based on the first component of \mathbf{x}: set \beta = -\operatorname{sign}(x_1) \|\mathbf{x}\|_2, where \operatorname{sign}(x_1) = 1 if x_1 \geq 0 and -1 otherwise (with \operatorname{sign}(0) = 1 by convention). The unnormalized reflector becomes \tilde{\mathbf{u}} = \beta \mathbf{e}_1 - \mathbf{x}, and the normalized form is \mathbf{u} = \frac{ -\operatorname{sign}(x_1) \|\mathbf{x}\|_2 \mathbf{e}_1 - \mathbf{x} }{ \left\| \mathbf{x} + \operatorname{sign}(x_1) \|\mathbf{x}\|_2 \mathbf{e}_1 \right\|_2 }. This choice aligns the first component of \tilde{\mathbf{u}} away from zero when x_1 is close in magnitude to \|\mathbf{x}\|_2, and the transformation yields H\mathbf{x} = -\operatorname{sign}(x_1) \|\mathbf{x}\|_2 \mathbf{e}_1.[13] The outline of the derivation process is as follows: first, compute the norm \sigma = \|\mathbf{x}\|_2; second, determine the sign s = -\operatorname{sign}(x_1); third, form the unnormalized \tilde{\mathbf{u}} = s \sigma \mathbf{e}_1 - \mathbf{x}; and finally, normalize to obtain \mathbf{u} if a unit vector is required (though in applications, the unnormalized form is often retained with a scaling factor \beta = 2 / \tilde{\mathbf{u}}^T \tilde{\mathbf{u}} for efficient computation of H). This process assumes familiarity with vector norms and the basis vector \mathbf{e}_1.[13] As a concrete example, consider \mathbf{x} = [3, 4, 0]^T, for which \|\mathbf{x}\|_2 = 5 and x_1 = 3 > 0, so s = -1. The unnormalized reflector is \tilde{\mathbf{u}} = -1 \cdot 5 \cdot \mathbf{e}_1 - \mathbf{x} = [-5, 0, 0]^T - [3, 4, 0]^T = [-8, -4, 0]^T, with \|\tilde{\mathbf{u}}\|_2 = \sqrt{64 + 16 + 0} = \sqrt{80} = 4\sqrt{5}. The normalized \mathbf{u} = [-8, -4, 0]^T / (4\sqrt{5}) = [-2/\sqrt{5}, -1/\sqrt{5}, 0]^T. The corresponding Householder transformation is H = I - 2 \mathbf{u} \mathbf{u}^T, and applying it gives H \mathbf{x} = [-5, 0, 0]^T, as the first (and only nonzero) component matches s \|\mathbf{x}\|_2 = -5.[13]Numerical Stability and Algorithms
The numerical stability of Householder transformations hinges on careful selection of the reflector vector \mathbf{u}, particularly the sign adjustment in its first component to prevent subtractive cancellation during norm computation. Specifically, choosing the sign of the scaling factor \sigma = -\operatorname{sign}(x_1) \|\mathbf{x}\|, where x_1 is the first element of the target vector \mathbf{x}, ensures that the difference x_1 - \sigma is computed without loss of precision, as it avoids near-cancellation when x_1 and \|\mathbf{x}\| have opposite signs. This choice maximizes the magnitude of the diagonal element in the reflector, reducing relative error growth to O(\epsilon), where \epsilon is machine epsilon. Without this adjustment, severe cancellation can occur, leading to instability that amplifies errors in subsequent computations, as demonstrated in error analyses showing up to quadratic growth in condition number dependence.[14] Furthermore, Householder transformations exhibit backward stability when applied in sequence, meaning the computed result \widehat{\mathbf{Q}} satisfies \mathbf{A} = (\mathbf{I} + \Delta \mathbf{Q}) \mathbf{Q} \mathbf{R} (or similar for the full factorization), with \|\Delta \mathbf{Q}\| = O(\epsilon) \|\mathbf{Q}\|, independent of the matrix condition number. This property arises from the orthogonal nature of the transformations and the use of rank-one updates, which bound rounding errors effectively in floating-point arithmetic. Numerical experiments confirm that this stability holds even for ill-conditioned matrices, with residual norms remaining close to machine precision. In practice, the algorithm for applying a Householder transformation \mathbf{H} = \mathbf{I} - \beta \mathbf{u} \mathbf{u}^T (with \beta = 2 / (\mathbf{u}^T \mathbf{u})) to a matrix \mathbf{A} from the left proceeds via a rank-one update to avoid explicit formation of \mathbf{H}, which would be O(n^3)-costly. The step computes the inner product \mathbf{w}^T = \mathbf{u}^T \mathbf{A}, then updates \mathbf{A} \leftarrow \mathbf{A} - \beta \mathbf{u} \mathbf{w}^T, efficiently zeroing subdiagonal elements in a column during triangularization. This approach leverages Level-2 BLAS operations for the update, ensuring scalability. Pseudocode for applying the transformation to an m \times n matrix \mathbf{A} (assuming \mathbf{u} is an m-vector with first element 1 for normalization):This implementation requires approximately $2mn floating-point operations for an m \times n matrix, yielding O(n^2) cost per transformation for square n \times n dense matrices. Householder transformations are preferred over Givens rotations for dense matrices due to their lower operational count—roughly half the flops for column reduction—and improved cache efficiency from accessing contiguous memory blocks in the rank-one updates, which fill fewer cache lines compared to the scattered accesses in sequential Givens applications.function apply_householder_left(A, u) [beta](/page/Beta) = 2 / (u' * u) w = u' * A % row [vector](/page/Vector), m x n becomes 1 x n A = A - [beta](/page/Beta) * (u * w) % [outer product](/page/Outer_product) update return A endfunction apply_householder_left(A, u) [beta](/page/Beta) = 2 / (u' * u) w = u' * A % row [vector](/page/Vector), m x n becomes 1 x n A = A - [beta](/page/Beta) * (u * w) % [outer product](/page/Outer_product) update return A end
Applications in Linear Algebra
QR Factorization
The QR factorization, also known as QR decomposition, represents a matrix A \in \mathbb{R}^{m \times n} (with m \geq n) as the product A = QR, where Q is an orthogonal matrix and R is an upper triangular matrix. Householder transformations provide an efficient and stable method to compute this decomposition by applying a sequence of n-1 such reflections from the left to A, successively eliminating the subdiagonal elements in each column to produce the upper triangular R.[15] This approach ensures that the transformations preserve the Euclidean norms of the columns of A, as each Householder matrix is orthogonal.[2] The process begins with the first column of A: a Householder reflector H_1 is constructed to map the subcolumn A(1:m,1) onto a multiple of the first standard basis vector e_1, zeroing all entries below the (1,1) position. The updated matrix becomes A^{(1)} = H_1 A, with the first column now having zeros below the diagonal. For the second column, a reflector H_2 is applied to the trailing (m-1) \times (n-1) submatrix A^{(1)}(2:m, 2:n), zeroing entries below the (2,2) position without disturbing the prior zeros, yielding A^{(2)} = H_2 A^{(1)}. This continues for k = 1 to n-1, with each H_k acting on the submatrix starting from row k and column k, resulting in R = H_{n-1} \cdots H_2 H_1 A.[10] The full orthogonal matrix is then Q = H_1 H_2 \cdots H_{n-1}, satisfying Q^T A = R or equivalently A = QR, where R is upper triangular with the norms of the original columns of A appearing on its diagonal (up to signs).[16] In practice, the algorithm avoids explicitly forming Q to save computation and storage. It initializes by copying A to R and sets Q = I_m, but instead applies each H_k (from k=1 to n-1) to the trailing submatrix of R and accumulates the effect on Q if needed. To store the reflectors compactly, the lower triangular part of R (below the diagonal) is overwritten with the Householder vectors v_k (normalized so the first entry is 1), and auxiliary scalars \tau_k = 2 / (v_k^T v_k) are stored separately. This compact representation allows reconstruction of Q or application of Q or Q^T to a vector in O(mn^2) operations without forming the full matrix. The overall flop count for the factorization is approximately $2mn^2 - \frac{2}{3}n^3.[16][17] Consider the example of decomposing the 3×3 matrix A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 10 \end{pmatrix}. For the first column x = (1,4,7)^T, compute \|x\|_2 = \sqrt{66} \approx 8.124, and choose the reflector vector v_1 = x + \operatorname{sign}(x_1) \|x\|_2 e_1 = (1+8.124, 4, 7)^T \approx (9.124, 4, 7)^T, normalized to u_1 = v_1 / \|v_1\|_2 with \tau_1 = 2 / (u_1^T u_1). Applying H_1 = I - \tau_1 u_1 u_1^T to A zeros the (2,1) and (3,1) entries, yielding A^{(1)} \approx \begin{pmatrix} -8.124 & -9.599 & -11.941 \\ 0 & -0.087 & -0.548 \\ 0 & -0.903 & -1.458 \end{pmatrix}, where the signs ensure numerical stability by avoiding cancellation. For the second column of the submatrix y \approx (-0.087, -0.903)^T, \|y\|_2 \approx 0.907, \operatorname{sign}(y_1) = -1, v_2 = y + \operatorname{sign}(y_1) \|y\|_2 e_1 \approx (-0.994, -0.903)^T, normalized to u_2, and H_2 applied to the 2×2 trailing submatrix zeros the (3,2) entry, resulting in upper triangular R \approx \begin{pmatrix} -8.124 & -9.599 & -11.941 \\ 0 & 0.907 & 1.505 \\ 0 & 0 & 0.402 \end{pmatrix}. The product Q = H_1 H_2 can then be reconstructed from the stored vectors to verify A = QR.[17][10] This method offers key benefits in numerical linear algebra, particularly for solving least squares problems \min_x \|Ax - b\|_2, where the solution is x = R^{-1} (Q^T b), avoiding the ill-conditioned normal equations A^T A x = A^T b whose condition number is \kappa(A)^2; instead, the Householder QR preserves \kappa(R) = \kappa(A), ensuring backward stability with small residual errors bounded by machine epsilon times \kappa(A).[15] It is also more efficient than alternatives like Givens rotations, requiring about two-thirds the operations for dense matrices.[10]Hessenberg and Tridiagonal Reduction
Householder transformations are employed to reduce a general square matrix to upper Hessenberg form through a similarity transformation, where the resulting matrix H has zeros below the subdiagonal. This is achieved by applying a sequence of Householder reflectors from both the left and right, yielding H = Q^T A Q, with Q orthogonal. The process begins by zeroing the elements below the subdiagonal in the first column using a Householder reflector on rows 2 through n, followed by applying the same reflector from the right to maintain similarity; subsequent columns are treated similarly, with care to avoid disrupting previously zeroed entries via bulge chasing techniques.[18] For symmetric matrices, the Hessenberg reduction simplifies to tridiagonal form, as the symmetry ensures that the superdiagonal mirrors the subdiagonal. Here, n-2 Householder transformations suffice: for the k-th step, a reflector is constructed to zero entries below the subdiagonal in column k of the trailing submatrix, applied from both sides to produce T = Q^T A Q, where T is symmetric tridiagonal and Q orthogonal. The subdiagonal elements are preserved throughout, capturing essential off-diagonal structure. This two-sided application ensures numerical stability, with the backward error bounded by O(\epsilon_{\text{mach}} \|A\|), where \epsilon_{\text{mach}} is machine epsilon.[19][18] The similarity transformation A' = Q^T A Q preserves the eigenvalues of A, as orthogonal similarities maintain the spectrum. In the basic algorithm, each step computes the reflector vector u for the subcolumn x by setting u = x + \operatorname{sign}(x_1) \|x\| e_1, normalized, then applies H_k = I - 2 u u^T to the appropriate submatrix. Bulge chasing, involving additional reflectors to eliminate introduced nonzeros, ensures the form is maintained without fill-in beyond the band. The total cost is approximately \frac{10}{3} n^3 flops for Hessenberg form and \frac{4}{3} n^3 flops for symmetric tridiagonal form of an n \times n matrix.[20][21] A representative example illustrates the tridiagonalization of a 4×4 symmetric matrix: A = \begin{pmatrix} 4 & 1 & -2 & 2 \\ 1 & 2 & 0 & 1 \\ -2 & 0 & 3 & -2 \\ 2 & 1 & -2 & -1 \end{pmatrix} In the first step, a Householder reflector P_1 zeros entries below the subdiagonal in the first column of the 3×3 trailing submatrix, yielding an intermediate matrix with zeros in positions (3,1) and (4,1). Applying P_1 from both sides gives: A_1 = P_1 A P_1 = \begin{pmatrix} 4 & -3 & 0 & 0 \\ -3 & \frac{10}{3} & 1 & \frac{4}{3} \\ 0 & 1 & \frac{5}{3} & -\frac{4}{3} \\ 0 & \frac{4}{3} & -\frac{4}{3} & -1 \end{pmatrix} The second step uses P_2 on the 2×2 trailing submatrix to zero (4,3), resulting in the tridiagonal form: T = P_2 A_1 P_2 = \begin{pmatrix} 4 & -3 & 0 & 0 \\ -3 & \frac{10}{3} & -\frac{5}{3} & 0 \\ 0 & -\frac{5}{3} & -\frac{33}{25} & \frac{68}{75} \\ 0 & 0 & \frac{68}{75} & \frac{149}{75} \end{pmatrix} The subdiagonal elements (e.g., -3 and -5/3) are preserved, facilitating subsequent eigenvalue computations.[22] This reduction to Hessenberg or tridiagonal form serves as an essential precursor to the QR algorithm for computing eigenvalues and eigenvectors, as the condensed structure accelerates iterations while preserving spectral properties.[21]Broader Applications
Geometric Optics
In geometric optics, the Householder transformation provides a precise mathematical model for specular reflection, where light rays bounce off a smooth surface following the law that the angle of incidence equals the angle of reflection. The vector \mathbf{u} in the transformation corresponds to the unit normal vector to the reflecting plane, effectively acting as the "mirror" that reverses the component of the incident ray parallel to this normal while leaving the perpendicular component unchanged. This analogy underscores the transformation's role as a reflection operator, mirroring physical optics phenomena in a linear algebraic framework.[23] A key application arises in ray tracing simulations for computer graphics and optical design, where the Householder transformation computes the direction of reflected rays to model light propagation realistically. For an incident ray direction \mathbf{i} (a unit vector pointing toward the surface) and surface normal \mathbf{n} (also unit length), the reflected ray \mathbf{r} is given by \mathbf{r} = \mathbf{i} - 2 (\mathbf{i} \cdot \mathbf{n}) \mathbf{n}, which is precisely the action of the Householder matrix H = I - 2 \mathbf{n} \mathbf{n}^T applied to \mathbf{i}. This formulation ensures the reflected ray lies in the plane spanned by \mathbf{i} and \mathbf{n}, maintaining the geometric constraints of reflection without requiring explicit angle calculations.[24] As a specific example, consider simulating reflection in a plane mirror: an incident ray from a light source at position \mathbf{p}_s striking the mirror at point \mathbf{p} with normal \mathbf{n} has direction \mathbf{i} = \frac{\mathbf{p} - \mathbf{p}_s}{|\mathbf{p} - \mathbf{p}_s|}. The reflected direction \mathbf{r} is computed as above, allowing determination of the virtual image location \mathbf{p}_i = \mathbf{p} + (\mathbf{p} - \mathbf{p}_s) - 2 ((\mathbf{p} - \mathbf{p}_s) \cdot \mathbf{n}) \mathbf{n}, which ensures the optical path length from an observer to the image equals the actual folded path via the mirror. This enables accurate rendering of image positions and path lengths in optical systems.[25] The principles underlying such reflections have been integral to geometric optics since the 19th century, building on earlier formulations like those in Fresnel's work on wave optics interfaces, though the vectorial description facilitated modern simulations. The Householder transformation, introduced in 1958, provided a numerically stable matrix form that extended these ideas to computational contexts, including approximations for non-planar surfaces by iteratively applying local planar reflections at tangent planes along curved geometries.[26] Additionally, the transformation's unitarity—ensuring H is orthogonal and self-inverse—preserves the reversibility of light paths, a core tenet of optics where inverting ray directions reconstructs the incident configuration without loss of energy or directionality.[24]Quantum Computing
In quantum computing, the Householder transformation serves as a unitary operator that performs reflections within the Hilbert space, playing a crucial role in algorithms such as Grover's search. This quantum analog mirrors the classical operation by reflecting quantum states across a hyperplane orthogonal to a chosen normalized vector |\phi\rangle, defined by the operator H = I - 2 |\phi\rangle \langle \phi |. As a unitary and Hermitian matrix, it preserves state norms while inverting the projection onto |\phi\rangle, enabling geometric manipulations essential for quantum state engineering.[27] Quantum circuits implementing Householder reflections can be constructed using sequences of elementary gates, often leveraging controlled-phase operations or oracles for efficiency. One method decomposes the reflection into state preparation circuits and controlled interactions, achieving arbitrary reflections in systems of N states with O(N) interaction steps in physical realizations, though general digital circuits for arbitrary |\phi\rangle may scale exponentially in qubit number. For the specific case in Grover's algorithm, the reflection over the uniform superposition employs Hadamard gates combined with multi-controlled phase flips, realizable with controlled-phase gates and Pauli operators.[28] A primary application lies in amplitude amplification, where Householder reflections boost the probability of measuring desired states by iteratively reflecting over subspaces. In this framework, the diffusion step reflects the current state |\psi\rangle across the subspace spanned by the uniform superposition |s\rangle, yielding |\psi'\rangle = D |\psi\rangle with D = 2 |s\rangle \langle s | - I, where |s\rangle = \frac{1}{\sqrt{N}} \sum_x |x\rangle and N = 2^n. This operator is equivalent to the Householder reflection I - 2 |s\rangle \langle s | up to a global phase factor of -1. This operation, alternated with an oracle-defined reflection across the hyperplane orthogonal to the good state subspace, rotates the state toward the target in the two-dimensional plane spanned by the initial uniform state and the marked states, achieving quadratic speedup over classical search.[29] For a concrete example in a 2-qubit system (N=4), the Householder reflection for the diffusion operator—searching for a marked state like |11\rangle—is decomposed as follows: apply Hadamard gates H^{\otimes 2} to create the uniform superposition, followed by Pauli-X gates on both qubits, a controlled-Z gate (CZ) with both qubits as controls and one as target (effectively a double-controlled phase flip), then reverse the X and Hadamard gates. This circuit inverts amplitudes about the average using four Hadamard gates, two X gates, and one CZ gate, forming one iteration of the amplification.[30] The integration of Householder transformations into quantum information processing emerged in the late 1990s with foundational quantum algorithms, offering an efficient means to enact arbitrary reflections via O(n) gates in targeted scenarios like uniform subspace reflections.[27]Relations to Other Transformations
Comparisons with Givens Rotations
The Givens rotation is an orthogonal transformation consisting of a 2D plane rotation designed to zero out a single selected element in a vector or matrix, which can be generalized to higher dimensions by embedding the 2D rotation block within an identity matrix that affects only two specific rows or columns.[31] In contrast, a Householder transformation zeros an entire subcolumn below the pivot in a single step by reflecting across a hyperplane orthogonal to a carefully chosen vector, requiring O(n) operations for a subcolumn of length n. A Givens rotation zeros only one entry per application with O(1) operations but necessitates O(n) sequential rotations to achieve the same subcolumn zeroing, resulting in roughly twice the computational cost for dense matrices. Consequently, Householder transformations are more efficient for dense linear algebra problems, while Givens rotations excel in sparse settings where targeted updates minimize fill-in and preserve matrix structure.[32]| Aspect | Householder QR (m × n, m ≥ n) | Givens QR (m × n, m ≥ n) |
|---|---|---|
| Leading Flop Count | 2mn² - (2/3)n³ | 4mn² |
| Suitability | Dense matrices | Sparse matrices |
| Stability | Backward stable, O(ε) error | Backward stable, O(ε) error |