Skip to content

homalg-project/CatReps

Repository files navigation

CatReps View code

Representations and cohomology of finite categories

Documentation Latest Release Build Status of CategoricalTowers Code Coverage
HTML stable documentation PDF stable documentation version date Build Status Code Coverage

The package CatReps provides a constructor for finite concrete categories (i.e., finite subcategories of the category of finite sets) by generating morphisms:

gap> LoadPackage( "CatReps" );
true
gap> c3c3 := ConcreteCategoryForCAP( [ [2,3,1], [4,5,6], [,,,5,6,4] ] );
A finite concrete category
gap> mors := SetOfGeneratingMorphisms( c3c3 );
[ A morphism in subcategory given by: <A morphism in FinSets>,
  A morphism in subcategory given by: <A morphism in FinSets>,
  A morphism in subcategory given by: <A morphism in FinSets> ]
gap> Perform( mors, Display );
A morphism in subcategory given by: [ [ 1, 2, 3 ], [ [ 1, 2 ], [ 2, 3 ], [ 3, 1 ] ], [ 1, 2, 3 ] ]
A morphism in subcategory given by: [ [ 1, 2, 3 ], [ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ], [ 4, 5, 6 ] ]
A morphism in subcategory given by: [ [ 4, 5, 6 ], [ [ 4, 5 ], [ 5, 6 ], [ 6, 4 ] ], [ 4, 5, 6 ] ]

Using the procedure Algebroid one can then construct a finite presentation of the k-linear closure of the given concrete category. The current preliminary implementation only works when the endomorphism monoids of the concrete category are explicitly cyclic:

gap> Q := HomalgFieldOfRationals( );
Q
gap> A := Q[c3c3];
Algebroid( Q, FreeCategory( RightQuiver( "q(2)[a:1->1,b:1->2,c:2->2]" ) ) ) / relations
gap> RelationsOfAlgebroid( A );
[ (1)-[1*(a*a*a) - 1*(1)]->(1), (2)-[1*(c*c*c) - 1*(2)]->(2), (1)-[1*(b*c) - 1*(a*b)]->(2) ]
gap> IsLinearClosureOfACategory( A );
true

Finally, using the constructor Hom from the package FunctorCategories one can construct the category of finite dimensional k-linear representations of the finite concrete category:

gap> CatReps := FunctorCategory( A );
FunctorCategory( Algebroid( Q, FreeCategory(
RightQuiver( "q(2)[a:1->1,b:1->2,c:2->2]" ) ) ) / relations,
Category of matrices over Q )

The supported categorical doctrine of the category of representations is

  • k-linear,
  • symmetric monoidal,
  • Abelian category
  • with enough projectives, and
  • (possibly incomplete) direct sum decomposition.
gap> Display( CatReps );
68 primitive operations were used to derive 360 operations for this category
which constructively
* IsCategoryWithDecidableColifts
* IsCategoryWithDecidableLifts
* IsEquippedWithHomomorphismStructure
* IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
* IsSymmetricMonoidalCategory
* IsAbelianCategoryWithEnoughProjectives
gap> CommutativeRingOfLinearCategory( CatReps );
Q

FunctorCategories

CatReps heavily relies on the package FunctorCategories, which itself depends on various other packages.

History of this package

CatReps was originally meant to wrap Peter Webb's pre-package catreps into the categorical framework offered by CAP. The only dependency left can be found in the file gap/catreps.g. The entire functionality of catreps is now available through FunctorCategories.

In March 2020 Peter Webb' and his coauthors made a major new release of the former packages reps and catreps in which they are combined as one. The code of these former packages is still available at groupreps (tutorial) (the new name for the former reps) and catreps (tutorial), but it will no longer be supported. The new package reps combines the functionality of both former packages.


Dependencies

To obtain current versions of all dependencies, git clone (or git pull to update) the following repositories:

Repository git URL
1. homalg_project https://github.com/homalg-project/homalg_project.git
2. CAP_project https://github.com/homalg-project/CAP_project.git
3. HigherHomologicalAlgebra https://github.com/homalg-project/HigherHomologicalAlgebra.git
4. QPA2 https://github.com/homalg-project/QPA2.git
5. FinSetsForCAP https://github.com/homalg-project/FinSetsForCAP.git