in numerical linear algebra, the qr algorithm' is an eigenvalue algorithm: that is, a procedure to calculate the eigenvalues and eigenvectors of a matrix. the qr transformation was developed in the late 1950s by john g.f. francis (england) and by vera n. kublanovskaya (ussr), working independently. j.g.f. francis, "the qr transformation, i", the computer journal, vol. 4, no. 3, pages 265-271 (1961, received oct 1959) online at oxfordjournals.org; j.g.f. francis, "the qr transformation, ii" the computer journal, vol. 4, no. 4, pages 332-345 (1962) online at oxfordjournals.org. vera n. kublanovskaya, "on some algorithms for the solution of the complete eigenvalue problem," ussr computational mathematics and mathematical physics, vol. 1, no. 3, pages 637â657 (1963, received feb 1961). also published in: zhurnal vychislitel'noi matematiki i matematicheskoi fiziki, vol.1, no. 4, pages 555â570 (1961). the basic idea is to perform a qr decomposition, writing the matrix as a product of an orthogonal matrix and an upper triangular matrix, multiply the factors in the reverse order, and iterate. ==the practical qr algorithm== formally, let a be a real matrix of which we want to compute the eigenvalues, and let a0:=a. at the k-th step (starting with k = 0), we compute the qr decomposition a'k=q'k'r'k where q'k is an orthogonal matrix (i.e., q't = q-1) and r'k is an upper triangular matrix. we then form a'k+1 = r'k'q'k. note that : a_{k+1} = r_k q_k = q_k^{-1} q_k r_k q_k = q_k^{-1} a_k q_k = q_k^{t} a_k q_k, so all the a'k are similar and hence they have the same eigenvalues. the algorithm is numerically stable because it proceeds by orthogonal similarity transforms. under certain conditions,golub, g. h. and van loan, c. f.: matrix computations, 3rd ed., johns hopkins university press, baltimore, 1996, isbn 0-8018-5414-8. the matrices a'k converge to a triangular matrix, the schur form of a. the eigenvalues of a triangular matrix are listed on the diagonal, and the eigenvalue problem is solved. in testing for convergence it is impractical to require exact zeros, but the gershgorin circle theorem provides a bound on the error. in this crude form the iterations are relatively expensive. this can be mitigated by first bringing the matrix a to upper hessenberg form (which costs \begin{matrix}\frac{10}{3}\end{matrix} n^3 + o(n^2) arithmetic operations using a technique based on householder reduction), with a finite sequence of orthogonal similarity transforms, somewhat like a two-sided qr decomposition.james w. demmel, appli
Numerical_linear_algebra