The Gauss Package Manual Extended Gauss Functionality for GAP Version 2017.12.07 March 2013 Simon Goertzen Simon Goertzen Email: mailto:simon.goertzen@rwth-aachen.de Homepage: http://wwwb.math.rwth-aachen.de/goertzen/ Address: Lehrstuhl B für Mathematik Templergraben 64 52062 Aachen (Germany) ------------------------------------------------------- Abstract This document explains the primary uses of the Gauss package. Included is a documented list of the most important methods and functions needed to work with sparse matrices and the algorithms provided by the Gauss package. ------------------------------------------------------- Copyright © 2007-2013 by Simon Goertzen This package may be distributed under the terms and conditions of the GNU Public License Version 2. ------------------------------------------------------- Acknowledgements The Gauss package would not have been possible without the helpful contributions by  Max Neunhöffer, University of St Andrews, and  Mohamed Barakat, Lehrstuhl B für Mathematik, RWTH Aachen. Many thanks to these two and the Lehrstuhl B für Mathematik in general. It should be noted that the GAP algorithms for SemiEchelonForm and other methods formed an important and informative basis for the development of the extended Gaussian algorithms. This manual was created with the help of the GAPDoc package by F. Lübeck and M. Neunhöffer [LN08]. ------------------------------------------------------- Contents (Gauss) 1 Introduction 1.1 Overview over this manual 1.2 Installation of the Gauss Package 2 Extending Gauss Functionality 2.1 The need for extended functionality 2.2 The applications of the Gauss package algorithms 3 The Sparse Matrix Data Type 3.1 The inner workings of Gauss sparse matrices 3.1-1 A special case: GF(2) 3.2 Methods and functions for sparse matrices 3.2-1 SparseMatrix 3.2-2 ConvertSparseMatrixToMatrix 3.2-3 CopyMat 3.2-4 GetEntry 3.2-5 SetEntry 3.2-6 AddToEntry 3.2-7 SparseZeroMatrix 3.2-8 SparseIdentityMatrix 3.2-9 TransposedSparseMat 3.2-10 CertainRows 3.2-11 CertainColumns 3.2-12 UnionOfRows 3.2-13 UnionOfColumns 3.2-14 SparseDiagMat 3.2-15 Nrows 3.2-16 Ncols 3.2-17 IndicesOfSparseMatrix 3.2-18 EntriesOfSparseMatrix 3.2-19 RingOfDefinition 4 Gaussian Algorithms 4.1 A list of the available algorithms 4.2 Methods and Functions for Gaussian algorithms 4.2-1 EchelonMat 4.2-2 EchelonMatTransformation 4.2-3 ReduceMat 4.2-4 ReduceMatTransformation 4.2-5 KernelMat 4.2-6 Rank A An Overview of the Gauss package source code