In computer science, the block Lanczos algorithm is an algorithm for finding the nullspace of a matrix over a finite field, using only multiplication of the matrix by long, thin matrices. Such matrices are considered as vectors of tuples of finite-field entries, and so tend to be called 'vectors' in descriptions of the algorithm.

The block Lanczos algorithm is amongst the most efficient methods known for finding nullspaces, which is the final stage in integer factorization algorithms such as the quadratic sieve and number field sieve, and its development has been entirely driven by this application.

It is based on, and bears a strong resemblance to, the Lanczos algorithm for finding eigenvalues of large sparse real matrices.[1]

Parallelization issues

edit

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

edit
  1. ^ Montgomery, P L (1995). "A Block Lanczos Algorithm for Finding Dependencies over GF(2)". Lecture Notes in Computer Science. EUROCRYPT '95. Vol. 921. Springer-Verlag. pp. 106–120. doi:10.1007/3-540-49264-X_9.

📚 Artikel Terkait di Wikipedia

Lanczos algorithm

The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power methods to find the m {\displaystyle m} "most

Matrix-free methods

method, the Lanczos algorithm, Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG), Wiedemann's coordinate recurrence algorithm, the conjugate

List of algorithms

interpolation Eigenvalue algorithms Arnoldi iteration Inverse iteration Jacobi method Lanczos iteration Power iteration QR algorithm Rayleigh quotient iteration

Peter Montgomery (mathematician)

the University of California, Los Angeles. He also invented the block Lanczos algorithm for finding nullspace of a matrix over a finite field, which is

List of numerical analysis topics

Lanczos algorithm — Arnoldi, specialized for positive-definite matrices Block Lanczos algorithm — for when matrix is over a finite field QR algorithm

Factor base

as Gaussian elimination; in practice advanced methods like the block Lanczos algorithm are used, that take advantage of certain properties of the system

Dixon's factorization method

so each row of the matrix is almost all zeros. In practice, the block Lanczos algorithm is often used. Also, the size of the factor base must be chosen

Timeline of algorithms

developed the modern notion of algorithm. 1942 – A fast Fourier transform algorithm developed by G.C. Danielson and Cornelius Lanczos 1945 – Merge sort developed