Fast Monte-Carlo Algorithms for Approximate Matrix Multiplication

  • Authors:
  • P. Drineas;R. Kannan

  • Affiliations:
  • -;-

  • Venue:
  • FOCS '01 Proceedings of the 42nd IEEE symposium on Foundations of Computer Science
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given an m 脳 n matrix A and an n 脳 p matrix B, we present 2 simple and intuitive algorithms to compute an approximation P to the product A 驴 B, with provable bounds for the norm of the "error matrix" P - A 驴 B. Both algorithms run in 0(mp+mn+np) time. In both algorithms, we randomly pick s = 0(1) columns of A to form an m 脳 s matrix S and the corresponding rows of B to form an s 脳 p matrix R. After scaling the columns of S and the rows of R, we multiply them together to obtain our approximation P. The choice of the probability distribution we use for picking the columns of A and the scaling are the crucial features which enable us to fairly elementary proofs of the error bounds. Our first algorithm can be implemented without storing the matrices A and B in Random Access Memory, provided we can make two passes through the matrices (stored in external memory). The second algorithm has a smaller bound on the 2-norm of the error matrix, but requires storage of A and B in RAM. We also present a fast algorithm that "describes" P as a sum of rank one matrices if B = AT.