Analysis of Parallel Algorithms for Matrix Chain Product and Matrix Powers on Distributed Memory Systems
Keqin Li
DOI: https://doi.org/10.1109/tpds.2007.1027
IF: 5.3
2007-01-01
IEEE Transactions on Parallel and Distributed Systems
Abstract:Given N matrices A 1 , A 2, ...,A N of size NtimesN, the matrix chain product problem is to compute A 1 timesA 2 times...timesA N . Given an NtimesN matrix A, the matrix powers problem is to calculate the first N powers of A, that is, A, A 2 , A 3 ,..., A N . We solve the two problems on distributed memory systems (DMSs) with p processors that can support one-to-one communications in T(p) time. Assume that the fastest sequential matrix multiplication algorithm has time complexity O(N alpha ), where the currently best value of a is less than 2.3755. Let p be arbitrarily chosen in the range 1lesplesN alpha+1 /(log N) 2 . We show that the two problems can be solved by a DMS with p processors in T chain (N,p)=O((N alpha+1 /p)+T(p))((N 2(2+1/alpha /p 2/alpha )(log+p/N) 1-2/alpha +log+((p log N)/N alpha )) and T power (N,p)=O(N alpha+1 /p+T(p)((N 2(1+1/alpha) /p 2/alpha )(log+p/2 log N) 1-2/alpha +(log N) 2 ))) times, respectively, where the function log+ is defined as follows: log+ x=log x if xges1 and log+ x=1 if 0