Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Householder transformation

From Wikipedia, the free encyclopedia
Concept in linear algebra

Inlinear algebra, aHouseholder transformation (also known as aHouseholder reflection orelementary reflector) is alinear transformation that describes areflection about aplane orhyperplane containing the origin. The Householder transformation was used in a 1958 paper byAlston Scott Householder.[1]

Definition

[edit]

Operator and transformation

[edit]

TheHouseholderoperator[2] may be defined over any finite-dimensionalinner product spaceV{\displaystyle V} withinner product,{\displaystyle \langle \cdot ,\cdot \rangle } andunit vectoruV{\displaystyle u\in V} as

Hu(x):=x2x,uu.{\displaystyle H_{u}(x):=x-2\,\langle x,u\rangle \,u\,.}[3]

It is also common to choose a non-unit vectorqV{\displaystyle q\in V}, and normalize it directly in the Householder operator's expression:[4]

Hq(x)=x2x,qq,qq.{\displaystyle H_{q}\left(x\right)=x-2\,{\frac {\langle x,q\rangle }{\langle q,q\rangle }}\,q\,.}

Such an operator islinear andself-adjoint.

IfV=Cn{\displaystyle V=\mathbb {C} ^{n}}, note that the reflection hyperplane can be defined by itsnormal vector, aunit vectorvV{\textstyle {\vec {v}}\in V} (a vector with length1{\textstyle 1}) that isorthogonal to the hyperplane. The reflection of apointx{\textstyle x} about this hyperplane is theHouseholdertransformation:

x2x,vv=x2v(vx),{\displaystyle {\vec {x}}-2\langle {\vec {x}},{\vec {v}}\rangle {\vec {v}}={\vec {x}}-2{\vec {v}}\left({\vec {v}}^{*}{\vec {x}}\right),}

wherex{\displaystyle {\vec {x}}} is the vector from the origin to the pointx{\displaystyle x}, andv{\textstyle {\vec {v}}^{*}} is theconjugate transpose ofv{\textstyle {\vec {v}}}.

The Householder transformation acting as a reflection ofx{\displaystyle x} about the hyperplane defined byv{\displaystyle v}.

Householder matrix

[edit]

The matrix constructed from this transformation can be expressed in terms of anouter product as:

P=I2vv{\displaystyle P=I-2{\vec {v}}{\vec {v}}^{*}}

is known as theHouseholder matrix, whereI{\textstyle I} is theidentity matrix.

Properties

[edit]

The Householder matrix has the following properties:

Example

[edit]

consider the normalization of a vector of 1's

v=12[11]{\displaystyle {\vec {v}}={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\1\end{bmatrix}}}

Then the Householder matrix corresponding to this vector is

Pv=[1001]2(12[11])(12[11]){\displaystyle P_{v}={\begin{bmatrix}1&0\\0&1\end{bmatrix}}-2({\frac {1}{\sqrt {2}}}{\begin{bmatrix}1\\1\end{bmatrix}})({\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\end{bmatrix}})}

=[1001][11][11]{\displaystyle ={\begin{bmatrix}1&0\\0&1\end{bmatrix}}-{\begin{bmatrix}1\\1\end{bmatrix}}{\begin{bmatrix}1&1\end{bmatrix}}}

=[1001][1111]{\displaystyle ={\begin{bmatrix}1&0\\0&1\end{bmatrix}}-{\begin{bmatrix}1&1\\1&1\end{bmatrix}}}

=[0110]{\displaystyle ={\begin{bmatrix}0&-1\\-1&0\end{bmatrix}}}

Note that if we have a vector representing a coordinate in the 2D plane

[xy]{\displaystyle {\begin{bmatrix}x\\y\end{bmatrix}}}

Then in this casePv{\displaystyle P_{v}} flips and negates the x and y coordinates, in other words

Pv[xy]=[yx]{\displaystyle P_{v}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}-y\\-x\end{bmatrix}}}

Which corresponds to reflecting the vector across the liney=x{\displaystyle y=-x}, which our original vectorv{\displaystyle v} is normal to.

Applications

[edit]

Geometric optics

[edit]

In geometric optics,specular reflection can be expressed in terms of the Householder matrix (seeSpecular reflection § Vector formulation).

Numerical linear algebra

[edit]

Householder transformations are widely used innumerical linear algebra, for example, to annihilate the entries below the main diagonal of a matrix,[5] to performQR decompositions and in the first step of theQR algorithm. They are also widely used for transforming to aHessenberg form. For symmetric orHermitian matrices, the symmetry can be preserved, resulting intridiagonalization.[6] Because they involve only a rank-one update and make use of low-levelBLAS-1 operations, they can be quite efficient.

QR decomposition

[edit]
Main article:QR decomposition § Using Householder reflections

Householder transformations can be used to calculate aQR decomposition. Consider a matrix tridiangularized up to columni{\displaystyle i}, then our goal is to construct such Householder matrices that act upon the principal submatrices of a given matrix

[a11a12a1n0a22a1n00x1=aiiain0000xn=aniann]{\displaystyle {\begin{bmatrix}a_{11}&a_{12}&\cdots &&&a_{1n}\\0&a_{22}&\cdots &&&a_{1n}\\\vdots &&\ddots &&&\vdots \\0&\cdots &0&x_{1}=a_{ii}&\cdots &a_{in}\\0&\cdots &0&\vdots &&\vdots \\0&\cdots &0&x_{n}=a_{ni}&\cdots &a_{nn}\end{bmatrix}}}

via the matrix

[Ii100Pv]{\displaystyle {\begin{bmatrix}I_{i-1}&0\\0&P_{v}\end{bmatrix}}}.

(note that we already established before that Householder transformations are unitary matrices, and since the multiplication of unitary matrices is itself a unitary matrix, this gives us the unitary matrix of the QR decomposition)

If we can find av{\displaystyle {\vec {v}}} so that

Pvx=e1{\displaystyle P_{v}{\vec {x}}={\vec {e}}_{1}}

we could accomplish this. Thinking geometrically, we are looking for a plane so that the reflection about this plane happens to land directly on the basis vector. In other words,

x2x,vv=αe1{\displaystyle {\vec {x}}-2\langle {\vec {x}},{\vec {v}}\rangle {\vec {v}}=\alpha {\vec {e}}_{1}}1

for some constantα{\displaystyle \alpha }. However, for this to happen, we must have

vxαe1{\displaystyle {\vec {v}}\propto {\vec {x}}-\alpha {\vec {e}}_{1}}.

And sincev{\displaystyle {\vec {v}}} is a unit vector, this means that we must have

v=±xαe1xαe12{\displaystyle {\vec {v}}=\pm {\frac {{\vec {x}}-\alpha {\vec {e}}_{1}}{\|{\vec {x}}-\alpha {\vec {e}}_{1}\|_{2}}}}2

Now if we apply equation (2) back into equation (1), we get

xαe1=2(x,xαe1xαe12xαe1xαe12{\displaystyle {\vec {x}}-\alpha {\vec {e}}_{1}=2(\langle {\vec {x}},{\frac {{\vec {x}}-\alpha {\vec {e}}_{1}}{\|{\vec {x}}-\alpha {\vec {e}}_{1}\|_{2}}}\rangle {\frac {{\vec {x}}-\alpha {\vec {e}}_{1}}{\|{\vec {x}}-\alpha {\vec {e}}_{1}\|_{2}}}}

Or, in other words, by comparing the scalars in front of the vectorxαe1{\displaystyle {\vec {x}}-\alpha {\vec {e}}_{1}} we must have

xαe122=2x,xαe1{\displaystyle \|{\vec {x}}-\alpha {\vec {e}}_{1}\|_{2}^{2}=2\langle {\vec {x}},{\vec {x}}-\alpha e_{1}\rangle }.

Or

2(x22αx1)=x222αx1+α2{\displaystyle 2(\|{\vec {x}}\|_{2}^{2}-\alpha x_{1})=\|{\vec {x}}\|_{2}^{2}-2\alpha x_{1}+\alpha ^{2}}

Which means that we can solve forα{\displaystyle \alpha } as

α=±x2{\displaystyle \alpha =\pm \|{\vec {x}}\|_{2}}

This completes the construction; however, in practice we want to avoidcatastrophic cancellation in equation (2). To do so, we choose the sign ofα{\displaystyle \alpha } as

α=sign(Re(x1))x2{\displaystyle \alpha =-sign(Re(x_{1}))\|{\vec {x}}\|_{2}}[7]

Tridiagonalization (Hessenberg)

[edit]
Main article:Tridiagonal matrix
See also:Hessenberg matrix § Householder transformations

This procedure is presented in Numerical Analysis by Burden and Faires, and works when the matrix is symmetric. In the non-symmetric case, it is still useful as a similar procedure can result in a Hessenberg matrix.

It uses a slightly alteredsgn{\displaystyle \operatorname {sgn} } function withsgn(0)=1{\displaystyle \operatorname {sgn} (0)=1}.[8]In the first step, to form the Householder matrix in each step we need to determineα{\textstyle \alpha } andr{\textstyle r}, which are:

α=sgn(a21)j=2naj12;r=12(α2a21α);{\displaystyle {\begin{aligned}\alpha &=-\operatorname {sgn} \left(a_{21}\right){\sqrt {\sum _{j=2}^{n}a_{j1}^{2}}};\\r&={\sqrt {{\frac {1}{2}}\left(\alpha ^{2}-a_{21}\alpha \right)}};\end{aligned}}}

Fromα{\textstyle \alpha } andr{\textstyle r}, construct vectorv{\textstyle v}:

v(1)=[v1v2vn],{\displaystyle {\vec {v}}^{(1)}={\begin{bmatrix}v_{1}\\v_{2}\\\vdots \\v_{n}\end{bmatrix}},}

wherev1=0{\textstyle v_{1}=0},v2=a21α2r{\textstyle v_{2}={\frac {a_{21}-\alpha }{2r}}}, and

vk=ak12r{\displaystyle v_{k}={\frac {a_{k1}}{2r}}} for eachk=3,4n{\displaystyle k=3,4\ldots n}

Then compute:

P1=I2v(1)(v(1))TA(2)=P1AP1{\displaystyle {\begin{aligned}P^{1}&=I-2{\vec {v}}^{(1)}\left({\vec {v}}^{(1)}\right)^{\textsf {T}}\\A^{(2)}&=P^{1}AP^{1}\end{aligned}}}

Having foundP1{\textstyle P^{1}} and computedA(2){\textstyle A^{(2)}} the process is repeated fork=2,3,,n2{\textstyle k=2,3,\ldots ,n-2} as follows:

α=sgn(ak+1,kk)j=k+1n(ajkk)2r=12(α2ak+1,kkα)v1k=v2k==vkk=0vk+1k=ak+1,kkα2rvjk=ajkk2r for j=k+2, k+3, , nPk=I2v(k)(v(k))TA(k+1)=PkA(k)Pk{\displaystyle {\begin{aligned}\alpha &=-\operatorname {sgn} \left(a_{k+1,k}^{k}\right){\sqrt {\sum _{j=k+1}^{n}\left(a_{jk}^{k}\right)^{2}}}\\[2pt]r&={\sqrt {{\frac {1}{2}}\left(\alpha ^{2}-a_{k+1,k}^{k}\alpha \right)}}\\[2pt]v_{1}^{k}&=v_{2}^{k}=\cdots =v_{k}^{k}=0\\[2pt]v_{k+1}^{k}&={\frac {a_{k+1,k}^{k}-\alpha }{2r}}\\v_{j}^{k}&={\frac {a_{jk}^{k}}{2r}}{\text{ for }}j=k+2,\ k+3,\ \ldots ,\ n\\P^{k}&=I-2{\vec {v}}^{(k)}\left({\vec {v}}^{(k)}\right)^{\textsf {T}}\\A^{(k+1)}&=P^{k}A^{(k)}P^{k}\end{aligned}}}

Continuing in this manner, the tridiagonal and symmetric matrix is formed.

Examples

[edit]

In this example, also from Burden and Faires,[8] the given matrix is transformed to the similar tridiagonal matrix A3 by using the Householder method.

A=[4122120120322121],{\displaystyle \mathbf {A} ={\begin{bmatrix}4&1&-2&2\\1&2&0&1\\-2&0&3&-2\\2&1&-2&-1\end{bmatrix}},}

Following those steps in the Householder method, we have:

The first Householder matrix:

Q1=[1000013232302323130231323],A2=Q1AQ1=[43003103143015343043431],{\displaystyle {\begin{aligned}Q_{1}&={\begin{bmatrix}1&0&0&0\\0&-{\frac {1}{3}}&{\frac {2}{3}}&-{\frac {2}{3}}\\0&{\frac {2}{3}}&{\frac {2}{3}}&{\frac {1}{3}}\\0&-{\frac {2}{3}}&{\frac {1}{3}}&{\frac {2}{3}}\end{bmatrix}},\\A_{2}=Q_{1}AQ_{1}&={\begin{bmatrix}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{bmatrix}},\end{aligned}}}

UsedA2{\textstyle A_{2}} to form

Q2=[10000100003545004535],A3=Q2A2Q2=[430031035300533325687500687514975],{\displaystyle {\begin{aligned}Q_{2}&={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&-{\frac {3}{5}}&-{\frac {4}{5}}\\0&0&-{\frac {4}{5}}&{\frac {3}{5}}\end{bmatrix}},\\A_{3}=Q_{2}A_{2}Q_{2}&={\begin{bmatrix}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{bmatrix}},\end{aligned}}}

As we can see, the final result is a tridiagonal symmetric matrix which is similar to the original one. The process is finished after two steps.

Quantum computation

[edit]
Main article:Grover's algorithm § Geometric proof of correctness
Picture showing the geometric interpretation of the first iteration of Grover's algorithm. The state vector|s{\displaystyle |s\rangle } is rotated towards the target vector|ω{\displaystyle |\omega \rangle } as shown.

As unitary matrices are useful in quantum computation, and Householder transformations are unitary, they are very useful in quantum computing. One of the central algorithms where they're useful is Grover's algorithm, where we are trying to solve for a representation of anoracle function represented by what turns out to be a Householder transformation:

{Uω|x=|xfor x=ω, that is, f(x)=1,Uω|x=|xfor xω, that is, f(x)=0.{\displaystyle {\begin{cases}U_{\omega }|x\rangle =-|x\rangle &{\text{for }}x=\omega {\text{, that is, }}f(x)=1,\\U_{\omega }|x\rangle =|x\rangle &{\text{for }}x\neq \omega {\text{, that is, }}f(x)=0.\end{cases}}}

(here the|x{\displaystyle |x\rangle } is part of thebra-ket notation and is analogous tox{\displaystyle {\vec {x}}} which we were using previously)

This is done via an algorithm that iterates via the oracle functionUω{\displaystyle U_{\omega }} and another operatorUs{\displaystyle U_{s}} known as theGrover diffusion operator defined by

|s=1Nx=0N1|x.{\displaystyle |s\rangle ={\frac {1}{\sqrt {N}}}\sum _{x=0}^{N-1}|x\rangle .}andUs=2|ss|I{\displaystyle U_{s}=2\left|s\right\rangle \!\!\left\langle s\right|-I}.

Computational and theoretical relationship to other unitary transformations

[edit]
See also:Rotation (mathematics)

The Householder transformation is a reflection about a hyperplane with unit normal vectorv{\textstyle v}, as stated earlier. AnN{\textstyle N}-by-N{\textstyle N}unitary transformationU{\textstyle U} satisfiesUU=I{\textstyle UU^{*}=I}. Taking the determinant (N{\textstyle N}-th power of the geometric mean) and trace (proportional to arithmetic mean) of a unitary matrix reveals that its eigenvaluesλi{\textstyle \lambda _{i}} have unit modulus. This can be seen directly and swiftly:

Trace(UU)N=j=1N|λj|2N=1,det(UU)=j=1N|λj|2=1.{\displaystyle {\begin{aligned}{\frac {\operatorname {Trace} \left(UU^{*}\right)}{N}}&={\frac {\sum _{j=1}^{N}\left|\lambda _{j}\right|^{2}}{N}}=1,&\operatorname {det} \left(UU^{*}\right)&=\prod _{j=1}^{N}\left|\lambda _{j}\right|^{2}=1.\end{aligned}}}

Since arithmetic and geometric means are equal if the variables are constant (seeinequality of arithmetic and geometric means), we establish the claim of unit modulus.

For the case of real valued unitary matrices we obtainorthogonal matrices,UUT=I{\textstyle UU^{\textsf {T}}=I}. It follows rather readily (seeOrthogonal matrix) that any orthogonal matrix can bedecomposed into a product of 2-by-2 rotations, calledGivens rotations, and Householder reflections. This is appealing intuitively since multiplication of a vector by an orthogonal matrix preserves the length of that vector, and rotations and reflections exhaust the set of (real valued) geometric operations that render invariant a vector's length.

The Householder transformation was shown to have a one-to-one relationship with the canonical coset decomposition of unitary matrices defined in group theory, which can be used to parametrize unitary operators in a very efficient manner.[9]

Finally we note that a single Householder transform, unlike a solitary Givens transform, can act on all columns of a matrix, and as such exhibits the lowest computational cost for QR decomposition and tridiagonalization. The penalty for this "computational optimality" is, of course, that Householder operations cannot be as deeply or efficiently parallelized. As such Householder is preferred for dense matrices on sequential machines, whilst Givens is preferred on sparse matrices, and/or parallel machines.

See also

[edit]

Notes

[edit]
  1. ^Householder, A. S. (1958)."Unitary Triangularization of a Nonsymmetric Matrix"(PDF).Journal of the ACM.5 (4):339–342.doi:10.1145/320941.320947.MR 0111128.S2CID 9858625.
  2. ^Roman 2008, p. 243-244
  3. ^Methods of Applied Mathematics for Engineers and Scientist. Cambridge University Press. 28 June 2013. pp. Section E.4.11.ISBN 9781107244467.
  4. ^Roman 2008, p. 244
  5. ^Taboga, Marco."Householder matrix, Lectures on matrix algebra".
  6. ^Schabauer, Hannes; Pacher, Christoph; Sunderland, Andrew G.; Gansterer, Wilfried N. (2010-05-01)."Toward a parallel solver for generalized complex symmetric eigenvalue problems".Procedia Computer Science.1 (1):437–445.doi:10.1016/j.procs.2010.04.047.
  7. ^Saad, Yousef (2003).Iterative methods for sparse linear systems. Society for Industrial and Applied Mathematics. pp. 11–13.
  8. ^abBurden, Richard; Faires, Douglas; Burden, Annette (2016).Numerical analysis (10th ed.). Thomson Brooks/Cole.ISBN 9781305253667.
  9. ^Renan Cabrera; Traci Strohecker;Herschel Rabitz (2010). "The canonical coset decomposition of unitary matrices through Householder transformations".Journal of Mathematical Physics.51 (8): 082101.arXiv:1008.2477.Bibcode:2010JMP....51h2101C.doi:10.1063/1.3466798.S2CID 119641896.

References

[edit]
Matrix classes
Explicitly constrained entries
Constant
Conditions oneigenvalues or eigenvectors
Satisfying conditions onproducts orinverses
With specific applications
Used instatistics
Used ingraph theory
Used in science and engineering
Related terms
Retrieved from "https://en.wikipedia.org/w/index.php?title=Householder_transformation&oldid=1285634515"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp