DeepAI AI Chat
Log In Sign Up

A parallel algorithm for Gaussian elimination over finite fields

by   Stephen Linton, et al.

In this paper we describe a parallel Gaussian elimination algorithm for matrices with entries in a finite field. Unlike previous approaches, our algorithm subdivides a very large input matrix into smaller submatrices by subdividing both rows and columns into roughly square blocks sized so that computing with individual blocks on individual processors provides adequate concurrency. The algorithm also returns the transformation matrix, which encodes the row operations used. We go to some lengths to avoid storing any unnecessary data as we keep track of the row operations, such as block columns of the transformation matrix known to be zero. The algorithm is accompanied by a concurrency analysis which shows that the improvement in concurrency is of the same order of magnitude as the number of blocks. An implementation of the algorithm has been tested on matrices as large as 1 000 000× 1 000 000 over small finite fields.


page 1

page 2

page 3

page 4


Elimination and Factorization

If a matrix A has rank r, then its row echelon form (from elimination) c...

Block CUR : Decomposing Large Distributed Matrices

A common problem in large-scale data analysis is to approximate a matrix...

Recognizing Series-Parallel Matrices in Linear Time

A series-parallel matrix is a binary matrix that can be obtained from an...

Superregular matrices over small finite fields

A trivially zero minor of a matrix is a minor having all its terms in th...

Parallel Matrix Condensation for Calculating Log-Determinant of Large Matrix

Calculating the log-determinant of a matrix is useful for statistical co...

Matrix compression along isogenic blocks

A matrix-compression algorithm is derived from a novel isogenic block de...