Documentation | Latest Release | Build Status of CategoricalTowers | 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 );
107 primitive operations were used to derive 360 operations for this category
which constructively
* IsCategoryWithDecidableColifts
* IsCategoryWithDecidableLifts
* IsEquippedWithHomomorphismStructure
* IsLinearCategoryOverCommutativeRingWithFinitelyGeneratedFreeExternalHoms
* IsSymmetricMonoidalCategory
* IsAbelianCategoryWithEnoughProjectives
gap> CommutativeRingOfLinearCategory( CatReps );
Q
CatReps
heavily relies on the package FunctorCategories
, which itself depends on various other packages.
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.
To obtain current versions of all dependencies, git clone
(or git pull
to update) the following repositories: