Fast and scalable parallel algorithms for matrix chain product and matrix powers on distributed memory systems
Keqin Li · 2002
Given N matrices A/sub 1/, A/sub 2/,..., A/sub N/ of size N/spl times/N, the matrix chain product problem is to compute A/sub 1//spl times/A/sub 2//spl times//spl middot//spl middot//spl middot/A/sub N/. Given an N/spl times/N matrix A, the matrix powers problem is to calculate the first N powers of A, i.e., A, A/sup 2/A/sup 3/,..., A/sup N/. We consider distributed memory systems (DMS) with p processors that can support one-to-one communications in O(T(p)) time. Assume that the time complexity of the best known sequential algorithm for matrix multiplication is O(N/sup /spl alpha//), where /spl alpha/<2.3755. Let p be arbitrarily chosen in the range 1/spl les/p/spl les/N/sup /spl alpha/+1//log N. We show that the two problems can be solved on a p-processor DMS in T/sub chain/(N,p)=O(N/sup /spl alpha/+1//p+T(p)(N/sup 2(1+1//spl alpha/)//p/sup 2// /sup /spl alpha//(log p/N)/sup 1-2//spl alpha//+log(p log N/N/sup /spl alpha//) log N)) and T/sub power/(N,p)=0(N/sup /spl alpha/+1//p+T(p)(N/sup 2(1+1//spl alpha/)//p/sup 2// /sup /spl alpha//(log p/log N)/sup 1-2//spl alpha//+(log N)/sup 2/)) times, respectively. We also give instantiation of the above results in distributed memory parallel computers and DMS with hypercubic networks, and show that our parallel algorithms are either fully scalable or highly scalable.