From 0e95079f867a35f31033dab835d329d5dcb23e9b Mon Sep 17 00:00:00 2001 From: Mohamed Barakat Date: Tue, 7 Apr 2020 18:27:28 +0200 Subject: [PATCH] EmbeddingOfSumOfImagesOfAllMorphisms is our SumOfImages --- PackageInfo.g | 4 +- .../ConcreteCategoryWithEndomorphismGroups.g | 273 ++++++++++-------- 2 files changed, 150 insertions(+), 127 deletions(-) diff --git a/PackageInfo.g b/PackageInfo.g index 217636b..1952e76 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -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 @@ -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 := [ ], diff --git a/examples/ConcreteCategoryWithEndomorphismGroups.g b/examples/ConcreteCategoryWithEndomorphismGroups.g index ca37c28..95ba29a 100644 --- a/examples/ConcreteCategoryWithEndomorphismGroups.g +++ b/examples/ConcreteCategoryWithEndomorphismGroups.g @@ -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 @@ -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 ); @@ -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 ); @@ -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 );