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.

9<br />

6. k j = k j + uT i aj<br />

f i<br />

(e i − k i )<br />

7. per<strong>for</strong>m numerical droppings on k j<br />

8. end <strong>for</strong><br />

9. end <strong>for</strong><br />

10. Obtain K = [k 1 , . . . , k n], F = Diag{f 1 , . . . , f n}.<br />

In Algorithm 3,<br />

u i = a i − A i−1 k i<br />

⎡ ⎤<br />

−k i,1<br />

.<br />

−k i,i−1<br />

= [a 1 , . . . , a i , 0, . . . , 0]<br />

1<br />

0 ⎢<br />

⎣ ... ⎥<br />

⎦<br />

0<br />

= A i (e i − k i )<br />

= A(e i − k i ).<br />

If we denote e i − k i as z i , then u i = Az i .<br />

Then, line 6 of Algorithm 3 can be rewritten as<br />

k j = k j + uT i a j<br />

‖u i ‖ 2 (e i − k i )<br />

2<br />

e j − k j = e j − k j − uT i a j<br />

‖u i ‖ 2 (e i − k i )<br />

2<br />

z j = z j − uT i a j<br />

‖u i ‖ 2 z i .<br />

2<br />

Denote d i = ‖u i ‖ 2 2 and θ = uT i a j<br />

. Then, combining all the new notations, we can<br />

d i<br />

rewrite the algorithm as follows.<br />

Algorithm 4<br />

1. set Z = I n×n<br />

2. <strong>for</strong> i = 1 : n<br />

3. u i = A i z i<br />

4. d i = (u i , u i )<br />

5. <strong>for</strong> j = i + 1, . . . , n<br />

6. θ = (ui,aj)<br />

d i<br />

7. z j = z j − θz i<br />

8. end <strong>for</strong><br />

9. end <strong>for</strong><br />

10. Z = [z 1 , . . . , z n], D = Diag{d 1 , . . . , d n}.<br />

Remark 6 Since z i = e i − k i , we have Z = I − K. Denoting D = Diag{d 1 , . . . , d n}, the<br />

factorization of A † in Theorem 2 can be rewritten as<br />

A † = ZD −1 Z T A T (4.1)

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

Saved successfully!

Ooh no, something went wrong!