Greville's Method for Preconditioning Least Squares ... - Projects
Greville's Method for Preconditioning Least Squares ... - Projects
Greville's Method for Preconditioning Least Squares ... - Projects
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
15<br />
where ∆E is an error matrix. Hence, even though a i ∈ R(A i−1 ), since u i will not<br />
be the exact projection of a i onto R(A i−1 ) ⊥ , the RIF algorithm will not necessarily<br />
breakdown when linear dependence happens.<br />
The RIF preconditioner does not take the rank deficient columns or nearly rank deficient<br />
columns into consideration. Hence, if we can capture the rank deficient columns,<br />
we might be able to have a better acceleration to the convergence of the preconditioned<br />
problem. Assume the M we compute from Algorithm 1 or Algorithm 2 can be viewed<br />
as an approximation to A † with error matrix E ∈ R n×m , that is<br />
M = A † + E. (7.9)<br />
First note a theoretical result about the perturbation lower bound of the generalized<br />
inverse.<br />
Theorem 8 [18] If rank(A + E) ≠ rank(A), then<br />
‖(A + E) † − A † ‖ 2 ≥ 1<br />
‖E‖ 2<br />
. (7.10)<br />
By Theorem 8, if the rank of M = A † + E from our algorithm is not equal to the<br />
rank of A † , ( or A, since they have the same rank), by the above theorem, we have,<br />
‖M † − (A † ) † ‖ 2 ≥ 1<br />
‖E‖ 2<br />
(7.11)<br />
⇒ ‖M † − A‖ 2 ≥ 1<br />
‖E‖ 2<br />
. (7.12)<br />
The above inequality says that, if we denote M † = A + ∆A, then ‖∆A‖ 2 ≥ 1<br />
‖E‖ 2<br />
.<br />
Hence, when ‖E‖ 2 is small, which means M is a good approximation to A † , M can<br />
be an exact generalized inverse of another matrix which is far from A, and the smaller<br />
the ‖E‖ 2 is, the further M † is from A. In this sense, if the rank of M is not the same<br />
as that of A, M may not be a good preconditioner.<br />
Thus, it is important to maintain the rank of M to be the same as rank(A). Hence,<br />
when we per<strong>for</strong>m our algorithm, we need to sparsify the preconditioner M, but at the<br />
same time we also want to capture as many rank deficient columns as possible, and<br />
maintain the rank of M. To achieve this, apparently, it is very important to decide<br />
how to detect whether the exact value u i = ‖(I − A i−1 A † i−1 )a i‖ 2 is close to zero or<br />
not based on the computed value u i = ‖(I − A i−1 M i−1 )a i ‖ 2 .<br />
From the previous discussion, we have<br />
When a i ∈ R(A i−1 ), u i = a i − A i−1 A † i−1 a i = 0. Then,<br />
u i = u i − A i−1 ∆Ea i . (7.13)<br />
u i = −A i−1 ∆Ea i , (7.14)<br />
‖u i ‖ 2 ≤ ‖A i−1 ‖ F ‖a i ‖ 2 ‖∆E‖ F . (7.15)<br />
If we require ∆E to be small, we can use a tolerance τ s. If<br />
‖u i ‖ 2 ≤ τ s‖A i−1 ‖ F ‖a i ‖ 2 , (7.16)<br />
we suppose we detect a column a i which is in the range space of A i−1 . From now on<br />
we call τ s the switching tolerance.