Skip to content

Commit

Permalink
EmbeddingOfSumOfImagesOfAllMorphisms is our SumOfImages
Browse files Browse the repository at this point in the history
  • Loading branch information
mohamed-barakat committed Apr 7, 2020
1 parent d609aa1 commit 0e95079
Show file tree
Hide file tree
Showing 2 changed files with 150 additions and 127 deletions.
4 changes: 2 additions & 2 deletions PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ SetPackageInfo( rec(
PackageName := "CatReps",
Subtitle := "Representations and cohomology of finite categories",
Version := Maximum( [
"2020.04.02", ## Mohamed's version
"2020.04.03", ## Mohamed's version
## this line prevents merge conflicts
"2020.01.01", ## Tibor's version
## this line prevents merge conflicts
Expand Down Expand Up @@ -110,7 +110,7 @@ Dependencies := rec(
[ "SubcategoriesForCAP", ">= 2020.02.02" ],
[ "MatricesForHomalg", ">= 2020.02.02" ],
[ "Toposes", ">= 2020.02.19" ],
[ "FunctorCategories", ">= 2020.04.02" ],
[ "FunctorCategories", ">= 2020.04.03" ],
],
SuggestedOtherPackages := [ ],
ExternalConditions := [ ],
Expand Down
273 changes: 148 additions & 125 deletions examples/ConcreteCategoryWithEndomorphismGroups.g
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ kq := Algebroid( GF3q, rel );
#! Algebroid generated by the right quiver q(2)[a:1->1,b:1->2,c:2->2]
#! @EndExample

#! A representation of the category c3c3 is another way to encode
#! a module homomorphism between two modules over the cyclic group $C_3$ of order $3$:
#! The vector space underlying the first module is the given by the value of (1).
#! The action of C3 on the first module is given by the value of (a).
#! The vector space underlying the second module is the given by the value of (2).
#! The action on the second module is given by the value of (c).
#! The above relation of the quiver states that the value of (b) is
#! a module homomorphism from the first to the second $C_3$-module.

#! Now we add the bialgebroid structure:

#! @Example
Expand Down Expand Up @@ -309,134 +318,10 @@ Display( fortyone );
#!
#! A morphism in Category of matrices over GF(3)
etas := WeakDirectSumDecomposition( fortyone );;
d := List( etas, eta -> List( SetOfObjects( kq ),
dec := List( etas, eta -> List( SetOfObjects( kq ),
o -> Dimension( Source( UnderlyingCapTwoCategoryCell( eta )( o ) ) ) ) );
#! [ [ 3, 0 ], [ 3, 1 ], [ 3, 3 ], [ 3, 3 ], [ 0, 3 ],
#! [ 3, 0 ], [ 3, 0 ], [ 3, 0 ], [ 1, 3 ], [ 3, 3 ] ]
eta := etas[3];
#! <(1)->3x25, (2)->3x16>
six := Source( eta );
#! <(1)->3, (2)->3; (a)->3x3, (b)->3x3, (c)->3x3>
Display( six );
#! An object in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! A vector space object over GF(3) of dimension 3
#!
#! Image of <(2)>:
#! A vector space object over GF(3) of dimension 3
#!
#! Image of (1)-[{ Z(3)^0*(a) }]->(1):
#! 1 1 .
#! . 1 1
#! . . 1
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (1)-[{ Z(3)^0*(b) }]->(2):
#! . 2 .
#! . . 2
#! . . .
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (2)-[{ Z(3)^0*(c) }]->(2):
#! 1 1 .
#! . 1 1
#! . . 1
#!
#! A morphism in Category of matrices over GF(3)
eta2 := TensorProductOnMorphisms( eta, eta );
#! <(1)->9x625, (2)->9x256>
thirtyfive := CokernelObject( eta );
#! <(1)->22, (2)->13; (a)->22x22, (b)->22x13, (c)->13x13>
Display( thirtyfive );
#! An object in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! A vector space object over GF(3) of dimension 22
#!
#! Image of <(2)>:
#! A vector space object over GF(3) of dimension 13
#!
#! Image of (1)-[{ Z(3)^0*(a) }]->(1):
#! 1 1 . . . 1 1 . . . . . . . . . . . . . . .
#! . 1 . . . . 1 . . . . . . . . . . . . . . .
#! . . 1 1 . . . 1 1 . . . . . . . . . . . . .
#! . . . 1 1 . . . 1 1 . . . . . . . . . . . .
#! . . . . 1 . . . . 1 . . . . . . . . . . . .
#! . . . . . 1 1 . . . 1 1 . . . . . . . . . .
#! . . . . . . 1 . . . . 1 . . . . . . . . . .
#! . . . . . . . 1 1 . . . . . . . . . . . . .
#! . . . . . . . . 1 1 . . . . . . . . . . . .
#! . . . . . . . . . 1 . . . . . . . . . . . .
#! . . . . . . . . . . 1 1 . . . . . . . . . .
#! . . . . . . . . . . . 1 . . . . . . . . . .
#! . . . . . . . . . . . . 1 1 . . . 1 1 . . .
#! . . . . . . . . . . . . . 1 1 . . . 1 1 . .
#! . . . . . . . . . . . . . . 1 . . . . 1 . .
#! . . . . . . . . . . . . . . . 1 1 . . . 1 1
#! . . . . . . . . . . . . . . . . 1 . . . . 1
#! . . . . . . . . . . . . . . . . . 1 1 . . .
#! . . . . . . . . . . . . . . . . . . 1 1 . .
#! . . . . . . . . . . . . . . . . . . . 1 . .
#! . . . . . . . . . . . . . . . . . . . . 1 1
#! . . . . . . . . . . . . . . . . . . . . . 1
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (1)-[{ Z(3)^0*(b) }]->(2):
#! . . . . . 1 . 1 . . . . .
#! . . . . . . 1 . . . . . .
#! . . . . . . . . . 1 . . .
#! . . . . . . . . . . 1 . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . 1 . 1 .
#! . . . . . . . . . . 1 . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . . . . .
#! . . . . . 1 . . . . . . .
#! . . . . . . 1 . . . . . .
#! . . . . . . . . . . . . .
#! . . . . . 1 . 1 . . . . 1
#! . . . . . . 1 . . . . . .
#! . . . . . . . . . 1 . . .
#! . . . . . . . . . . 1 . .
#! . . . . . . . . . . . . .
#! . . . . . . . . . 1 . 1 .
#! . . . . . . . . . . 1 . .
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (2)-[{ Z(3)^0*(c) }]->(2):
#! 1 1 . . 1 1 . . . . . . .
#! . 1 1 . . 1 1 . . . . . .
#! . . 1 . . . 1 . . . . . .
#! . . . 1 . . . 1 . . . . .
#! . . . . 1 1 . . 1 1 . . .
#! . . . . . 1 1 . . 1 1 . .
#! . . . . . . 1 . . . 1 . .
#! . . . . . . . 1 . . . 1 .
#! . . . . . . . . 1 1 . . .
#! . . . . . . . . . 1 1 . .
#! . . . . . . . . . . 1 . .
#! . . . . . . . . . . . 1 .
#! . . . . . . . . . . . . 1
#!
#! A morphism in Category of matrices over GF(3)
iso := UniversalMorphismFromDirectSum( etas );
#! <(1)->25x25, (2)->16x16>
IsIsomorphism( iso );
Expand Down Expand Up @@ -589,6 +474,94 @@ Display( iso );
#! . . . . . . . . . . . 1 . . . .
#!
#! An isomorphism in Category of matrices over GF(3)
eta := etas[3];
#! <(1)->3x25, (2)->3x16>
TensorProductOnMorphisms( eta, eta );
#! <(1)->9x625, (2)->9x256>
six := Source( eta );
#! <(1)->3, (2)->3; (a)->3x3, (b)->3x3, (c)->3x3>
Display( six );
#! An object in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! A vector space object over GF(3) of dimension 3
#!
#! Image of <(2)>:
#! A vector space object over GF(3) of dimension 3
#!
#! Image of (1)-[{ Z(3)^0*(a) }]->(1):
#! 1 1 .
#! . 1 1
#! . . 1
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (1)-[{ Z(3)^0*(b) }]->(2):
#! . 2 .
#! . . 2
#! . . .
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (2)-[{ Z(3)^0*(c) }]->(2):
#! 1 1 .
#! . 1 1
#! . . 1
#!
#! A morphism in Category of matrices over GF(3)
emb := EmbeddingOfSumOfImagesOfAllMorphisms( const, six );
#! <(1)->1x3, (2)->0x3>
Display( emb );
#! A morphism in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! . . 1
#!
#! A split monomorphism in Category of matrices over GF(3)
#!
#!
#! Image of <(2)>:
#! (an empty 0 x 3 matrix)
#!
#! A zero, split monomorphism in Category of matrices over GF(3)
s1 := Source( emb );
#! <(1)->1, (2)->0; (a)->1x1, (b)->1x0, (c)->0x0>
Display( s1 );
#! An object in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! A vector space object over GF(3) of dimension 1
#!
#! Image of <(2)>:
#! A vector space object over GF(3) of dimension 0
#!
#! Image of (1)-[{ Z(3)^0*(a) }]->(1):
#! 1
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (1)-[{ Z(3)^0*(b) }]->(2):
#! (an empty 1 x 0 matrix)
#!
#! A zero, split epimorphism in Category of matrices over GF(3)
#!
#!
#! Image of (2)-[{ Z(3)^0*(c) }]->(2):
#! (an empty 0 x 0 matrix)
#!
#! A zero, isomorphism in Category of matrices over GF(3)
proj1 := YonedaProjective( CatReps, kq.1 );
#! <(1)->3, (2)->3; (a)->3x3, (b)->3x3, (c)->3x3>
Display( proj1 );
Expand Down Expand Up @@ -625,6 +598,56 @@ Display( proj1 );
#! 1 . .
#!
#! A morphism in Category of matrices over GF(3)
e1 := EmbeddingOfSumOfImagesOfAllMorphisms( const, proj1 );
#! <(1)->1x3, (2)->1x3>
Source( e1 );
#! <(1)->1, (2)->1; (a)->1x1, (b)->1x1, (c)->1x1>
IsEpimorphism( EmbeddingOfSumOfImagesOfAllMorphisms( proj1, six ) );
#! false
five := CokernelObject( emb );
#! <(1)->2, (2)->3; (a)->2x2, (b)->2x3, (c)->3x3>
Display( five );
#! An object in The category of functors: Bialgebroid generated by the
#! right quiver q(2)[a:1->1,b:1->2,c:2->2] -> Category of matrices
#! over GF(3) defined by the following data:
#!
#!
#! Image of <(1)>:
#! A vector space object over GF(3) of dimension 2
#!
#! Image of <(2)>:
#! A vector space object over GF(3) of dimension 3
#!
#! Image of (1)-[{ Z(3)^0*(a) }]->(1):
#! 1 1
#! . 1
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (1)-[{ Z(3)^0*(b) }]->(2):
#! . 2 .
#! . . 2
#!
#! A morphism in Category of matrices over GF(3)
#!
#!
#! Image of (2)-[{ Z(3)^0*(c) }]->(2):
#! 1 1 .
#! . 1 1
#! . . 1
#!
#! A morphism in Category of matrices over GF(3)
SumOfImagesOfAllMorphisms( s1, six );
#! <(1)->1, (2)->0; (a)->1x1, (b)->1x0, (c)->0x0>
SumOfImagesOfAllMorphisms( s1, five );
#! <(1)->0, (2)->0; (a)->0x0, (b)->0x0, (c)->0x0>
SumOfImagesOfAllMorphisms( const, five );
#! <(1)->1, (2)->1; (a)->1x1, (b)->1x1, (c)->1x1>
SumOfImagesOfAllMorphisms( five, const );
#! <(1)->0, (2)->1; (a)->0x0, (b)->0x1, (c)->1x1>
SumOfImagesOfAllMorphisms( six, const );
#! <(1)->0, (2)->1; (a)->0x0, (b)->0x1, (c)->1x1>
proj2 := YonedaProjective( CatReps, kq.2 );
#! <(1)->0, (2)->3; (a)->0x0, (b)->0x3, (c)->3x3>
Display( proj2 );
Expand Down

0 comments on commit 0e95079

Please sign in to comment.