Using randomization to make recursive matrix algorithms practical

  • Authors:
  • Dinh Lê;D. Stott Parker

  • Affiliations:
  • Computer Science Department, University of California, Los Angeles, CA 90095-1596, USA (e-mail: stott@cs.ucla.edu);Computer Science Department, University of California, Los Angeles, CA 90095-1596, USA (e-mail: stott@cs.ucla.edu)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 1999

Quantified Score

Hi-index 0.01

Visualization

Abstract

Recursive block decomposition algorithms (also known as quadtree algorithms when the blocks are all square) have been proposed to solve well-known problems such as matrix addition, multiplication, inversion, determinant computation, block LDU decomposition and Cholesky and QR factorization. Until now, such algorithms have been seen as impractical, since they require leading submatrices of the input matrix to be invertible (which is rarely guaranteed). We show how to randomize an input matrix to guarantee that submatrices meet these requirements, and to make recursive block decomposition methods practical on well-conditioned input matrices. The resulting algorithms are elegant, and we show the recursive programs can perform well for both dense and sparse matrices, although with randomization dense computations seem most practical. By ‘homogenizing’ the input, randomization provides a way to avoid degeneracy in numerical problems that permits simple recursive quadtree algorithms to solve these problems.