17.01.2013 Views

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

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.

7<br />

Matrix <strong>and</strong> Grid Computations<br />

7.1 Matrix Operations<br />

Dense matrices are generally represented in memory in row-major or<br />

column-major order. For certain operations such as matrix addition,<br />

both representations work well. However, <strong>for</strong> st<strong>and</strong>ard matrix multiplication<br />

(using only semiring operations) <strong>and</strong> LU decomposition, a better<br />

representation is to block the matrix into square √ B × √ B submatrices,<br />

which gives the upper bound of the following theorem:<br />

Theorem 7.1 ([199, 306, 345, 357]). The number of I/Os required<br />

<strong>for</strong> st<strong>and</strong>ard matrix multiplication of two K × K matrices or to compute<br />

the LU factorization of a K × K matrix is<br />

�<br />

K<br />

Θ<br />

3<br />

min{K, √ �<br />

.<br />

M }DB<br />

The lower bound follows from the related pebbling lower bound by<br />

Savage <strong>and</strong> Vitter [306] <strong>for</strong> the case D = 1 <strong>and</strong> then dividing by D.<br />

Hong <strong>and</strong> Kung [199] <strong>and</strong> Nodine et al. [272] give optimal EM algorithms<br />

<strong>for</strong> iterative grid computations, <strong>and</strong> Leiserson et al. [233] reduce<br />

65

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

Saved successfully!

Ooh no, something went wrong!