Matrix algebra and applicative programming
Proc. of a conference on Functional programming languages and computer architecture
Eigenvalues and condition numbers of random matrices
SIAM Journal on Matrix Analysis and Applications
Average-case stability of Gaussian elimination
SIAM Journal on Matrix Analysis and Applications
Using Strassen's algorithm to accelerate the solution of linear systems
The Journal of Supercomputing
Computational frameworks for the fast Fourier transform
Computational frameworks for the fast Fourier transform
LAPACK Users' guide (third ed.)
LAPACK Users' guide (third ed.)
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Hi-index | 0.01 |
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.