14.07.2014 Views

Parallelizing the Divide and Conquer Algorithm - Innovative ...

Parallelizing the Divide and Conquer Algorithm - Innovative ...

Parallelizing the Divide and Conquer Algorithm - Innovative ...

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.

2.2 Deation<br />

Dongarra <strong>and</strong> Sorensen showed [14] that <strong>the</strong> problem (2.5) can potentially<br />

be reduced in size. If z i = 0 for some i, we see from (2.3) that d i is an<br />

eigenvalue of D + zz T<br />

with eigenvector e i . Moreover, if D has an eigenvalue<br />

d i of multiplicity m>1, we can rotate <strong>the</strong> eigenvector basis in order<br />

to zero out <strong>the</strong> component ofzcorresponding to <strong>the</strong> repeated eigenvalues.<br />

Then, we can remove rows <strong>and</strong> columns from D + zz T<br />

zero components of z.<br />

corresponding to<br />

When working in nite precision arithmetic, we must deal with <strong>the</strong><br />

problem of <strong>the</strong> z i 's nearly equal to zero <strong>and</strong> nearly equal d i 's.<br />

Then,<br />

in order to precisely describe when we can deate, we need to dene a<br />

tolerance . Let = "kD + zz T k2 where " is <strong>the</strong> machine precision.<br />

We say that <strong>the</strong> rst type of deation arises when jz i j .<br />

assume that kzk2 =1. Wehave<br />

k(D+zz T )e i , d i e i k2 = jz i jkzk2 :<br />

Now<br />

Then (d i ;e i )may be considered as an approximate eigenpair for D + zz T<br />

<strong>and</strong> z i is set to zero.<br />

The second type of deation comes from a Givens rotation applied to<br />

D + zz T<br />

jz i z j jjd i , d j j=<br />

q<br />

in order to set a component ofzequal to zero. Suppose that<br />

with c = z i =r; s=z j =r; r=<br />

z 2 i + z2 j . Let G ij be <strong>the</strong> Givens rotation dened by<br />

[e i ;e j ] T G ij [e i ;e j ]=<br />

q<br />

z 2 i +z2 j<br />

c<br />

s<br />

,s c<br />

!<br />

<strong>and</strong> c2 + s 2 = 1. Then<br />

G i (D + zz T )G T i = e D + ~z~z T + E ij ; kE ij k2 ;<br />

where ~z i = r 2 ; ~z j =0; ~ d i =d i c 2 +d j s 2 ; ~ d j =d i s 2 +d j c 2 <strong>and</strong> E ij =(d i ,d j )cs.<br />

The result of recognizing all <strong>the</strong>se deations is to replace <strong>the</strong> rankone<br />

update problem D + zz T with one of smaller size. Hence, if G is<br />

<strong>the</strong> product of all <strong>the</strong> rotations used to zero out certain components of z<br />

<strong>and</strong> if P is <strong>the</strong> accumulation of permutations used to translate <strong>the</strong> zero<br />

components of z to <strong>the</strong> bottom of z, <strong>the</strong> result is<br />

PG(D+zz T )G T P T =<br />

eD + ~z~z T 0<br />

0 <br />

6<br />

!<br />

+ E; kEk2 c

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

Saved successfully!

Ooh no, something went wrong!