I thought that QR algorithm decomposes a matrix into an orthogonal matrix Q and a upper triangular matrix R using GramSchmidth process for singular matrices but, what is meant by Explicit and Implicit QR algorithms? and how will they help in decomposing a non-singular matrix?
what is Explicit And Implicit Qr Algorithms For Symmetric And Non-symmetric Matrices?
2k Views Asked by Bharadwaj Yellapragada https://math.techqa.club/user/bharadwaj-yellapragada/detail AtThere are 2 best solutions below
The classic QR algorithm iteration:
$QR = A $ ........decomposition
$A' = RQ $
due $Q$ is orthogonal, is also true:
$A' = Q^T Q RQ = Q^T A Q$
A=A' repeat, A should go diagonal after few iterations, probably bottom-right to left, chance to reduce the matrix or deflate.
The explicit/implicit QR algorithm is mentioned generaly in the context of adding shifts for faster convergence. QR can take a lot of iterations due to the convergence rate that depends on the magnitude between adjacent eigenvalues along the matrix.
The explicit shifted version. Differs from the classic subtracting a diagonal shift for faster convergence:
- $QR = A - \mu I$ ........decomposition
and adding the shift:
- $A' = RQ + \mu I$
There's little choice for this shift and is either implementation or kind of matrix dependent. There's also a double-shifted version for dealing with complex values.
The QR decomposition operation to choose depends; A could have been transformed upper hessenberg form (an upper triangle with a subdiagonal), if symmetric matrix this transform will lead to a tridiagonal matrix; whatever was, those pre-transforms $H$ must keep the input A and the real input A, similar $A_{real} = H^{-1} A_{input} H$, with $H$ inversible, meaning that both matrices have the same eigenvalues. Usually those pre-transforms use householder reflections.
The implicit shifted form of the QR algorithm, uses Francis Q theorem. The theorem says that if $A'$ is an upper hessenberg matrix any orthogonal matrix $Z$ can be suitable for the iteration:
- $A' = Z^T A Z$
As long the first column of $Z$ equals to the first of $Q$, and $Z$ brings back the matrix to upper hessenberg form. In this case, Z and Q can only differ by a diagonal product of +-1 values.
This theorem allows the previous explicit-shift $A - \mu I$ to be "inserted" implicitly (instead of subtract, decompose, add - just multipling at left and right Z). So if $A - \mu I$ was the matrix, and the goal of the first transform $Q_0$ of Q is to reflect or rotate a first column vector to start zeroing the matrix towards a triangle - Knowing the matrix have the shift $\mu$ subtracted allows us to create a similar $Z_0$; however when you plug on the iteration step $A'=Z_n^T...Z_0^T$ A $Z_0...Z_n$ - at the first $Z_0^T$ A $Z_0$ theres a second effect - a non-zero "a bulge" will be introduced. The set of transforms $Z_1..Z_n$ and its transposes should enter the game of the "chase-the-bulge" (as mentioned in the previous post) to lead the matrix to the right form; those pairs of transforms will introduce and erase places. Due the theorem the set of $Z_1..Z_n$ must not damage the first column $Z_0$; and matrix $A'$ must end in an upper hessenberg, or a narrow version of, within less rows/cols affected by transforms as possible.
The explict QR algorithm for computing eigenvalues of a matrix $A$ works like this:
One may prove convergence to an upper triangular matrix, if $|λ_i| \neq |λ_j|$ for all eigenvalues $λ_i, λ_j$ of $A$. The computation of the $QR$ decomposition is costly ($\mathcal{O}(n^3)$) and one doesn't wan't to do it in every step of the iteration.
If $A$ is of so-called upper Hessenberg form, i.e. a matrix where all entries below the first lower subdiagonal are zero (or in formulas: $a_{ij} = 0$, if $i>j+1$), the computation becomes less costly, namely only $\mathcal{O}(n^2)$. One can use the Givens rotations, Harry mentioned. Also, if $A$ is an upper Hessenberg matrix, all the iterates $A_i$ will be, too. Therefore, transforming your matrix into an upper Hessenberg matrix (using Householder transformations) pays out.
But even for Hessenberg matrices computing the $QR$ decomposition and then performing the matrix matrix multiplication $RQ$ is still expensive. This is where in »Implicit $Q$ Theorem« is used. It says, that if $Q A Q^{\mathsf T}$ is an upper Hessenberg matrix, then $Q$ is essentially uniqely defined by the first column of $Q$. But we already know, that all the iterates must be in Hessenberg form.
The idea now is as follows:
At the end, one has implictly computed $RQ$ at a cost of only $\mathcal O(n^2)$ per iteration step. This is way this algorithm is called the Implicit QR algorithm.
I hope that my answer helps you. This answer is based on my lecture notes and unfortunately I don't have a good reference suggestion at hand …