Modules A homalg based Package for the Abelian Category of Finitely Presented Modules over Computable Rings Version 2018.01.07 September 2015 Mohamed Barakat Markus Lange-Hegermann (this manual is still under construction) This manual is best viewed as an HTML document. The latest version is available online at: http://homalg.math.rwth-aachen.de/~barakat/homalg-project/Modules/chap0.html An offline version should be included in the documentation subfolder of the package. This package is part of the homalg-project: http://homalg.math.rwth-aachen.de/index.php/core-packages/modules-package Mohamed Barakat Email: mailto:barakat@mathematik.uni-kl.de Homepage: http://www.mathematik.uni-kl.de/~barakat/ Address: Department of Mathematics, University of Kaiserslautern, 67653 Kaiserslautern, Germany Markus Lange-Hegermann Email: mailto:markus.lange.hegermann@rwth-aachen.de Homepage: http://wwwb.math.rwth-aachen.de/~markus Address: Lehrstuhl B für Mathematik, RWTH Aachen, Templergraben 64, 52056 Aachen, Germany ------------------------------------------------------- Copyright © 2007-2015 by Mohamed Barakat and Markus Lange-Hegermann This package may be distributed under the terms and conditions of the GNU Public License Version 2. ------------------------------------------------------- Acknowledgements We are very much indebted to Alban Quadrat. ------------------------------------------------------- Contents (Modules) 1 Introduction 1.1 What is the role of the Modules package in the homalg project? 1.1-1 Modules provides ... 1.1-2 Rings supported in a sufficient way 1.1-3 Principal limitation 1.1-4 Ring dictionaries (technical) 1.1-5 The advantages of the outsourcing concept 1.1-6 Does this mean that homalg has only algorithms for the generic case? 1.1-7 The principle of least communication (technical) 1.1-8 Frequently asked questions 1.2 This manual 2 Installation of the Modules Package 3 Quick Start 3.1 Why are all examples in this manual over ℤ or ℤ/mℤ? 3.2 gap> ExamplesForHomalg(); 3.3 A typical example 3.3-1 HomHom 4 Ring Maps 4.1 Ring Maps: Attributes 4.1-1 KernelSubobject 4.1-2 KernelEmb 4.2 Ring Maps: Operations and Functions 4.2-1 Kernel 5 Relations 5.1 Relations: Categories and Representations 5.1-1 IsHomalgRelations 5.1-2 IsHomalgRelationsOfLeftModule 5.1-3 IsHomalgRelationsOfRightModule 5.1-4 IsRelationsOfFinitelyPresentedModuleRep 5.2 Relations: Constructors 5.3 Relations: Properties 5.3-1 CanBeUsedToDecideZeroEffectively 5.3-2 IsInjectivePresentation 5.4 Relations: Attributes 5.5 Relations: Operations and Functions 6 Generators 6.1 Generators: Categories and Representations 6.1-1 IsHomalgGenerators 6.1-2 IsHomalgGeneratorsOfLeftModule 6.1-3 IsHomalgGeneratorsOfRightModule 6.1-4 IsGeneratorsOfModuleRep 6.1-5 IsGeneratorsOfFinitelyGeneratedModuleRep 6.2 Generators: Constructors 6.3 Generators: Properties 6.3-1 IsReduced 6.4 Generators: Attributes 6.4-1 ProcedureToReadjustGenerators 6.5 Generators: Operations and Functions 7 Modules 7.1 Modules: Category and Representations 7.1-1 IsHomalgModule 7.1-2 IsFinitelyPresentedModuleOrSubmoduleRep 7.1-3 IsFinitelyPresentedModuleRep 7.1-4 IsFinitelyPresentedSubmoduleRep 7.2 Modules: Constructors 7.2-1 LeftPresentation 7.2-2 RightPresentation 7.2-3 HomalgFreeLeftModule 7.2-4 HomalgFreeRightModule 7.2-5 HomalgZeroLeftModule 7.2-6 HomalgZeroRightModule 7.2-7 \* 7.2-8 Subobject 7.2-9 Subobject 7.2-10 LeftSubmodule 7.2-11 RightSubmodule 7.3 Modules: Properties 7.3-1 IsCyclic 7.3-2 IsHolonomic 7.3-3 IsReduced 7.3-4 IsPrimeIdeal 7.3-5 IsPrimeModule 7.4 Modules: Attributes 7.4-1 ResidueClassRing 7.4-2 PrimaryDecomposition 7.4-3 RadicalDecomposition 7.4-4 ModuleOfKaehlerDifferentials 7.4-5 RadicalSubobject 7.4-6 SymmetricAlgebra 7.4-7 ExteriorAlgebra 7.4-8 ElementaryDivisors 7.4-9 FittingIdeal 7.4-10 NonFlatLocus 7.4-11 LargestMinimalNumberOfLocalGenerators 7.4-12 CoefficientsOfUnreducedNumeratorOfHilbertPoincareSeries 7.4-13 CoefficientsOfNumeratorOfHilbertPoincareSeries 7.4-14 UnreducedNumeratorOfHilbertPoincareSeries 7.4-15 NumeratorOfHilbertPoincareSeries 7.4-16 HilbertPoincareSeries 7.4-17 AffineDegree 7.4-18 DataOfHilbertFunction 7.4-19 HilbertFunction 7.4-20 IndexOfRegularity 7.5 Modules: Operations and Functions 7.5-1 HomalgRing 7.5-2 ByASmallerPresentation 7.5-3 \* 7.5-4 SubobjectQuotient 8 Maps 8.1 Maps: Categories and Representations 8.1-1 IsHomalgMap 8.1-2 IsHomalgSelfMap 8.1-3 IsMapOfFinitelyGeneratedModulesRep 8.2 Maps: Constructors 8.2-1 HomalgMap 8.2-2 HomalgZeroMap 8.2-3 HomalgIdentityMap 8.3 Maps: Properties 8.4 Maps: Attributes 8.5 Maps: Operations and Functions 8.5-1 HomalgRing 8.5-2 PreInverse 9 Module Elements 9.1 Module Elements: Category and Representations 9.1-1 IsHomalgElement 9.1-2 IsElementOfAModuleGivenByAMorphismRep 9.2 Module Elements: Constructors 9.3 Module Elements: Properties 9.3-1 IsElementOfIntegers 9.4 Module Elements: Attributes 9.5 Module Elements: Operations and Functions 9.5-1 HomalgRing 10 Functors 10.1 Functors: Category and Representations 10.2 Functors: Constructors 10.3 Functors: Attributes 10.4 Basic Functors 10.4-1 functor_Cokernel 10.4-2 Cokernel 10.4-3 functor_ImageObject 10.4-4 ImageObject 10.4-5 Kernel 10.4-6 DefectOfExactness 10.4-7 Functor_Hom 10.4-8 Hom 10.4-9 Functor_TensorProduct 10.4-10 TensorProduct 10.4-11 Functor_Ext 10.4-12 Ext 10.4-13 Functor_Tor 10.4-14 Tor 10.4-15 Functor_RHom 10.4-16 RHom 10.4-17 Functor_LTensorProduct 10.4-18 LTensorProduct 10.4-19 Functor_HomHom 10.4-20 Functor_LHomHom 10.5 Tool Functors 10.6 Other Functors 10.7 Functors: Operations and Functions 11 Symmetric Algebra and Koszul Complex 11.1 Symmetric Algebra: Constructor 11.1-1 SymmetricPower 11.2 Symmetric Algebra: Properties and Attributes 11.2-1 IsSymmetricPower 11.2-2 SymmetricPowerExponent 11.2-3 SymmetricPowerBaseModule 12 Exterior Algebra and Koszul Complex 12.1 Exterior Algebra: Constructor 12.1-1 ExteriorPower 12.2 Exterior Algebra: Properties and Attributes 12.2-1 IsExteriorPower 12.2-2 ExteriorPowerExponent 12.2-3 ExteriorPowerBaseModule 12.3 Exterior Algebra: Element Properties 12.3-1 IsExteriorPowerElement 12.4 Exterior Algebra: Element Operations 12.4-1 Wedge 12.4-2 ExteriorPowerElementDual 12.4-3 SingleValueOfExteriorPowerElement 12.5 Koszul complex and Cayley determinant 12.5-1 KoszulCocomplex 12.5-2 CayleyDeterminant 12.5-3 Gcd_UsingCayleyDeterminant 13 Examples 13.1 ExtExt 13.2 Purity 13.3 TorExt-Grothendieck 13.4 TorExt A The Mathematical Idea behind Modules B Logic Subpackages B.1 LIMOD: Logical Implications for Modules B.2 LIHOM: Logical Implications for Homomorphisms of Modules C Overview of the Modules Package Source Code C.1 Relations and Generators C.2 The Basic Objects C.3 The High Level Homological Algorithms C.4 Logical Implications for homalg Objects