Quick Start

This chapter should give you a quick guide to create your first example in &homalg;.

Why are all examples in this manual over &ZZ; or &ZZ;/m&ZZ;?

As the reader might notice, all examples in this manual will be either over &ZZ; or over one of its residue class rings &ZZ;/m&ZZ;. There are two reasons for this. The first reason is that &GAP; does not natively support rings other than &ZZ; in a sufficient way (&see; ).

The second and more important reason is to underline the fact the all effective homological constructions that are relevant for &homalg; have only as much to do with the Gröbnerbasis algorithm as they do with the Hermite algorithm for the ring &ZZ;; both algorithms are used to effectively solve inhomogeneous linear systems over the respective ring. And &homalg; is designed to use rings and matrices over these rings together with all their operations as a black box. In other words: Because &homalg; works for &ZZ;, it works by its design for all other computable rings (see also ).

gap> ExamplesForHomalg();

To quickly create a ring for use with &homalg; enter
ExamplesForHomalg();

which will load the package &ExamplesForHomalg; (if installed) and provide a step by step guide to create the ring. For the full core functionality you need to install the packages &HomalgToCAS;, &IO_ForHomalg;, &RingsForHomalg;, &Gauss;, and &GaussForHomalg;. They are part of the &homalg; project.

A typical example
<#Include Label="HomHom">