Introduction
What is the role of the &homalg; package in the &homalg; project? Philosophy The package &homalg; is meant to be the first part of a continuously growing open source http://www.opensource.org/ multi volume book about homological http://en.wikipedia.org/wiki/Homological_algebra and homotopical algebra http://en.wikipedia.org/wiki/Homotopical_algebra. &homalg; is an attempt to translate as much as possible of homological algebra, as can be found in books like , , , , , and , into a language that a computer can directly understand. But just like the aforementioned books, &homalg; should, to a great extent, be readable by a mathematician, even without deep programming knowledge. For the reasons mentioned in (&see; Appendix ) &GAP4; was chosen as the language of &homalg;. &homalg; provides ... The package &homalg; is the foundational part of the project. It provides procedures to construct basic objects in homological algebra: filtrations of objects complexes (of objects and of complexes) chain morphisms bicomplexes bigraded (differential) objects spectral sequences functors Beside these so-called constructors &homalg; provides operations to perform computations with these objects. The list of operations includes: computation of subfactor objects applying functors (like Ext, Tor, ...) to objects, morphisms, complexes and chain morphisms derivation and composition of functors horse shoe resolution of short exact sequences of objects connecting homomorphisms and long exact sequences Cartan-Eilenberg resolution of complexes hyper (co)homology spectral sequences of bicomplexes the Grothendieck spectral sequences associated to two composable functors test if an object is torsion-free, reflexive, projective, stably free, pure determine the rank, grade, projective dimension, degree of torsion-freeness, and codegree of purity of an object Using the philosophy of &GAP4;, one or more methods are installed for each operation, depending on properties and attributes of these objects. These properties and attributes can themselves be computed by methods installed for this purpose. Building upon the &homalg; package As mentioned above, the package &homalg; should only be the first and foundational part of the &homalg; project. On the one hand it is designed independently of the details of the different matrix operations, which other packages are meant to provide. Typically, these packages (like &RingsForHomalg;) heavily rely on existing, well tested, and optimized systems like &Singular;, &Macaulay2;, or &MAGMA;. On the other hand other packages can be built upon or extend the &homalg; package in different ways: add constructors (sheaves, schemes, simplicial sets, ...) add methods for basic operation (Yoneda products, Massey products, Steenrod operations, ...) add methods to compute sheaf cohomology, local cohomology, Hochschild (co)homology, cyclic (co)homology... provide algorithms for holonomic D-modules based on the restriction algorithm: localization, computing tensor products, Hom, Ext, de Rham cohomology, ... support change of rings, Lyndon/Hochschild-Serre spectral sequence, base change spectral sequences, ... support perturbation techniques, Serre and Eilenberg-Moore spectral sequence of simplicial spaces of infinite type, ... ... The project will remain open and contributions are highly welcome. The different packages will be attributed to their respective authors. The whole project will be attributed to the "&homalg; team", i.e. the authors and contributers of all packages in the project.
This manual Chapter describes the installation of this package. The remaining chapters are each devoted to one of the &homalg; objects (&see; ) with its constructors, properties, attributes, and operations.