Skip to content

Commit

Permalink
outsourced YonedaProjective to FunctorCategories v2020.02.23
Browse files Browse the repository at this point in the history
  • Loading branch information
mohamed-barakat committed Apr 6, 2020
1 parent 97a193d commit 33b4507
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 84 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.02.20", ## Mohamed's version
"2020.02.23", ## 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.02.19" ],
[ "FunctorCategories", ">= 2020.02.23" ],
],
SuggestedOtherPackages := [ ],
ExternalConditions := [ ],
Expand Down
9 changes: 0 additions & 9 deletions gap/CatRepsWithCAP.gd
Original file line number Diff line number Diff line change
Expand Up @@ -115,15 +115,6 @@ DeclareOperation( "EmbeddingOfSubRepresentation",
DeclareOperation( "WeakDirectSumDecomposition",
[ IsCapCategoryObjectInHomCategory ] );

#! @Description
#! Return Yoneda's projective representation given by the object <A>o</A>,
#! i.e., the submodule of the category algebra consisting of all arrows
#! starting at <A>o</A>.
#! @Arguments H, o
#! @Returns IsCapCategoryObjectInHomCategory
DeclareOperation( "YonedaProjective",
[ IsCapHomCategory, IsCapCategoryObject ] );

####################################
#
#! @Section Tools
Expand Down
73 changes: 0 additions & 73 deletions gap/CatRepsWithCAP.gi
Original file line number Diff line number Diff line change
Expand Up @@ -193,76 +193,3 @@ InstallMethod( WeakDirectSumDecomposition,
return List( d, eta -> EmbeddingOfSubRepresentation( eta, F ) );

end );

##
InstallMethod( YonedaProjective,
"for a Hom-category and a CAP object",
[ IsCapHomCategory, IsCapCategoryObject ],

function( CatReps, o )
local kq, k, basis_list, A, basis, dimensions, a, arrows, matrices,
source, target, dim_source, dim_target, b, b_source, b_target,
matrix, b_a_path, b_a, coeffs, yproj;

kq := Source( CatReps );

o := Position( SetOfObjects( kq ), o );

k := CommutativeRingOfLinearCategory( CatReps );

## code from QPA2/lib/special-representations.gi

A := UnderlyingQuiverAlgebra( kq );

basis_list := BasisOfProjectives( A );
basis := basis_list[ o ];

dimensions := List( basis, Length );
arrows := Arrows( QuiverOfAlgebra( A ) );
matrices := [ ];

for a in arrows do

source := VertexIndex( Source( a ) );
target := VertexIndex( Target( a ) );

dim_source := dimensions[ source ];
dim_target := dimensions[ target ];

if dim_source = 0 or dim_target = 0 then

matrix := HomalgZeroMatrix( dim_source, dim_target, k );

else

b_source := List( basis[ source ], b -> Paths(b)[ 1 ] );
b_target := List( basis[ target ], b -> Paths(b)[ 1 ] );

matrix := [ ];

for b in b_source do
b_a_path := ComposePaths( b, a );
b_a := PathAsAlgebraElement( A, b_a_path );
coeffs := CoefficientsOfPaths( b_target, b_a );
Add( matrix, coeffs );
od;

matrix := HomalgMatrix( matrix, dim_source, dim_target, k );

matrix := VectorSpaceMorphism( VectorSpaceObject( dim_source, k ), matrix, VectorSpaceObject( dim_target, k ) );

fi;

Add( matrices, matrix );

od;

dimensions := List( dimensions, dim -> VectorSpaceObject( dim, k ) );

yproj := AsObjectInHomCategory( kq, dimensions, matrices );

SetIsProjective( yproj, true );

return yproj;

end );

0 comments on commit 33b4507

Please sign in to comment.