Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
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