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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

with W = Q(PG) T U.<br />

When not properly implemented, <strong>the</strong> computation of W can be very<br />

expensive. To simplify <strong>the</strong> explanation, we illustrate it with a 44 example:<br />

we suppose that d1 = d3 <strong>and</strong> that G is <strong>the</strong> Givens rotation used to set to<br />

zero <strong>the</strong> third component ofz. The matrix P is a permutation that moves<br />

z3 to <strong>the</strong> bottom of z. We indicate by a\" that a value has changed.<br />

There are two way of applying <strong>the</strong> transformation (PG) T , ei<strong>the</strong>r on <strong>the</strong><br />

left, that is on Q, or on <strong>the</strong> right, that is on U. Note that Q = diag(Q1;Q2)<br />

is block diagonal (see(2.3)) <strong>and</strong> so we would like tototake advantage of<br />

this structure. It would halve <strong>the</strong> cost of <strong>the</strong> matrix multiplication if Q1,Q2<br />

are of <strong>the</strong> same size. To preserve <strong>the</strong> block diagonal form of Q, we need to<br />

apply (PG) T<br />

on <strong>the</strong> right:<br />

Q (PG) T U =<br />

=<br />

=<br />

0<br />

B<br />

@<br />

0<br />

B<br />

@<br />

0<br />

B<br />

@<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

1 0<br />

C<br />

A (PG)T B<br />

@<br />

1 0<br />

C<br />

A G B<br />

@<br />

10<br />

C<br />

A<br />

B<br />

@<br />

<br />

<br />

<br />

<br />

<br />

1<br />

<br />

<br />

0<br />

<br />

0<br />

The product between <strong>the</strong> two last matrices is performed with 64 ops<br />

instead of <strong>the</strong> 2n 3 = 128 ops of a full matrix product. However, if we apply<br />

(PG) T on <strong>the</strong> left, we can reduce fur<strong>the</strong>r <strong>the</strong> number of ops. Consider<br />

again <strong>the</strong> 4 4 example:<br />

Q(PG) T U =<br />

0<br />

B<br />

@<br />

<br />

<br />

<br />

<br />

1 0<br />

C<br />

A GT P T B<br />

@<br />

1<br />

C<br />

A<br />

1<br />

C<br />

A<br />

1<br />

<br />

<br />

<br />

1<br />

1<br />

C<br />

A<br />

1<br />

C<br />

A<br />

17

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

Saved successfully!

Ooh no, something went wrong!