15.05.2015 Views

Greville's Method for Preconditioning Least Squares ... - Projects

Greville's Method for Preconditioning Least Squares ... - Projects

Greville's Method for Preconditioning Least Squares ... - Projects

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!