Parallelizing the Divide and Conquer Algorithm - Innovative ...
Parallelizing the Divide and Conquer Algorithm - Innovative ...
Parallelizing the Divide and Conquer Algorithm - Innovative ...
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