This package implements the algorithm described in "A parallel algorithm for Gaussian elimination over finite fields" (Linton, S., Nebe, G., Niemeyer, A., Parker, R. and Thackray, J. (2018)). The algorithm divides a given matrix into smaller submatrices (blocks) and carries out steps of the Gaussian elimination block by block. The paper identifies the minimal dependencies between processing different blocks. Independent steps can be performed simultaneously, allowing for high levels of parallelism. We provide two main functions EchelonMatBlockwise
(2.1-2) and EchelonMatTransformationBlockwise
(2.1-1), where the latter additionally computes the transformation matrix in parallel. The naming conventions are chosen in accordance with the "Gauss"-package , which provides an implementation of the sequential GAUSS algorithm. Our functions do currently not support sparse matrices.
generated by GAPDoc2HTML