GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X1 [33X[0;0YIntroduction[133X[101X234[1X1.1 [33X[0;0YWhat is the role of the [5XMatricesForHomalg[105X[101X[1X package in the [5Xhomalg[105X[101X[1X project?[133X[101X567[1X1.1-1 [33X[0;0Y[5XMatricesForHomalg[105X[101X[1X provides ...[133X[101X89[33X[0;0YThe package [5XMatricesForHomalg[105X provides:[133X1011[30X [33X[0;6Yrings[133X1213[30X [33X[0;6Yring elements[133X1415[30X [33X[0;6Yring maps[133X1617[30X [33X[0;6Ymatrices[133X181920[1X1.1-2 [33X[0;0Y[5Xhomalg[105X[101X[1X delegates ...[133X[101X2122[33X[0;0YThe package [5Xhomalg[105X [13Xdelegates[113X [13Xall[113X matrix operations as it treats matrices and23their rings as [13Xblack boxes[113X. [5Xhomalg[105X comes with a single predefined class of24rings and a single predefined class of matrices over these rings -- the25so-called internal matrices (--> [14X5.1-2[114X) over so-called internal rings (-->26[14X3.1-4[114X). An internal matrix (resp. ring) is simply a wrapper containing a27[5XGAP[105X-builtin matrix (resp. ring). [5Xhomalg[105X allows other packages to define28further classes or extend existing classes of rings and matrices [13Xtogether[113X29with their operations. For example:[133X3031[30X [33X[0;6YThe [5Xhomalg[105X subpackage [5XResidueClassRingForHomalg[105X (--> Appendix [14XD[114X)32defines the classes of residue class rings, residue class ring33elements, and matrices over residue class rings. Such a matrix is34defined by a matrix over the ambient ring which is nevertheless35interpreted modulo the ring relations, i.e. modulo the generators of36the defining ideal.[133X3738[30X [33X[0;6YThe package [5XGaussForHomalg[105X extends the class of internal matrices39enabling it to wrap sparse matrices provided by the package [5XGauss[105X.40[5XGaussForHomalg[105X delegates the essential part of the matrix creation and41all matrix operations to [5XGauss[105X.[133X4243[30X [33X[0;6YThe package [5XHomalgToCAS[105X defines the classes of so-called external44rings and matrices and the package [5XRingsForHomalg[105X delegates the45essential part of the matrix creation and all matrix operations to46external computer algebra systems like [5XSingular[105X, [5XMacaulay2[105X, [5XSage[105X,47[5XMacaulay2[105X, [5XMAGMA[105X, [5XMaple[105X, ... . The package [5Xhomalg[105X accesses external48matrices via pointers. The pointer of an external matrix is simply its49name in the external system. [5XHomalgToCAS[105X chooses these names.[133X5051[30X [33X[0;6YThe package [5XLocalizeRingForHomalg[105X defines the classes of local(ized)52rings, local ring elements, and local matrices. A [5Xhomalg[105X local matrix53contains a [5Xhomalg[105X matrix as a numerator and an element of the global54ring as a denominator.[133X5556[33X[0;0YThe matrix operations are divided into two classes called [21XTools[121X and [21XBasic[121X.57The [21XTools[121X operations include addition, subtraction, multiplication,58extracting certain rows or columns, stacking, and augmenting matrices (-->59Appendix [14XB[114X). The [21XBasic[121X operations include the two basic operations in linear60algebra needed to solve an inhomogeneous linear system [22XXA=B[122X with61coefficients in a not necessarily commutative ring [22XR[122X (--> Appendix [14XA[114X):[133X6263[30X [33X[0;6YEffectively reducing [22XB[122X modulo [22XA[122X, i.e. effectively deciding if a row64(or a set of rows) [22XB[122X lies in the [22XR[122X-span of the rows of the matrix [22XA[122X.[133X6566[30X [33X[0;6YComputing an [22XR[122X-generating set of row syzygies (=[22XR[122X-relations among the67rows) of [22XA[122X, i.e. computing an [22XR[122X-generating set of the left kernel of68[22XA[122X. This generating set is then given as the rows of a matrix [22XY[122X and69[22XYA=0[122X.[133X7071[33X[0;0YThe first operation is nothing but deciding the solvability of the72inhomogeneous system [22XXA=B[122X and if solvable to compute a particular solution73[22XX[122X, while the second is to compute an [22XR[122X-generating set for the homogeneous74solution space, i.e. the solution space of the homogeneous system [22XYA=0[122X. The75above is of course also valid for the column convention.[133X767778[1X1.1-3 [33X[0;0YThe black box concept[133X[101X7980[33X[0;0YNow we address the following concerns: Wouldn't the idea of using algorithms81like the Gröbnerbasis algorithm(s) as a black box (--> [14X1.1-2[114X) contradict the82following facts?[133X8384[30X [33X[0;6YIt is known that an efficient Gröbnerbasis algorithm depends on the85ring [22XR[122X under consideration. For example the implementation of the86algorithm depends on the ground ring (or field) [22Xk[122X.[133X8788[30X [33X[0;6YOften enough highly specialized implementations are used to address89specific types of linear systems of equations (occuring in specific90homological problems) in order to increase the speed or reduce the91space needed for the computations.[133X9293[33X[0;0YThe following should clarify the above concerns.[133X9495[30X [33X[0;6YSince each ring comes with its own black box, the first point is96automatically resolved.[133X9798[30X [33X[0;6YAllow the black box coming with each ring to contain the different99available implementations and make them accessible to [5Xhomalg[105X via100standarized names, independent of the computer algebra system used to101perform computations.[133X102103104[1X1.2 [33X[0;0YThis manual[133X[101X105106[33X[0;0YChapter [14X2[114X describes the installation of this package. The remaining chapters107are each devoted to one of the [5XMatricesForHomalg[105X objects (--> [14X1.1-1[114X) with108its constructors, properties, attributes, and operations.[133X109110111112