- Block Lanczos algorithm for nullspace of a matrix over a finite field
The Block Lanczos algorithm for nullspace of a matrix over a finite field is a procedure for finding the
nullspace of a matrix using only multiplication of the matrix by long, thin matrices. These long, thin matrices are considered as vectors of tuples of finite-field entries, and so tend to be called 'vectors' in descriptions of the algorithm.It was developed by
Peter Montgomery and published in 1995 [cite journal |last= Montgomery|first= P L |year=1995 |title=A Block Lanczos Algorithm for Finding Dependencies over GF(2)|journal=EUROCRYPT '95 |volume=921 |pages=106–120] ; it is based on, and bears a strong resemblance to, theLanczos algorithm for findingeigenvalue s of large sparse real matrices.The Block Lanczos algorithm is amongst the most efficient methods known for finding nullspaces, which is the final stage in
integer factorisation algorithms such as thequadratic sieve andnumber field sieve , and its development has been entirely driven by this application.Parallelisation issues
The algorithm is essentially not parallel: it is of course possible to distribute the matrix-'vector' multiplication, but the whole vector must be available for the combination step at the end of each iteration, so all the machines involved in the calculation must be on the same fast network. In particular, it is not possible to widen the vectors and distribute slices of vectors to different independent machines.
The
Block Wiedemann algorithm is more useful in contexts where several systems each large enough to hold the entire matrix are available, since in that algorithm the systems can run independently until a final stage at the end.References
Wikimedia Foundation. 2010.