Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AdditiveClosuresForCAP/PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SetPackageInfo( rec(

PackageName := "AdditiveClosuresForCAP",
Subtitle := "Additive closures for pre-additive categories",
Version := "2026.07-03",
Version := "2026.08-01",
Date := (function ( ) if IsBound( GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE ) then return GAPInfo.SystemEnvironment.GAP_PKG_RELEASE_DATE; else return Concatenation( ~.Version{[ 1 .. 4 ]}, "-", ~.Version{[ 6, 7 ]}, "-01" ); fi; end)( ),
License := "GPL-2.0-or-later",

Expand Down
16 changes: 14 additions & 2 deletions AdditiveClosuresForCAP/doc/Doc.autodoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,23 @@
@Section GAP Categories

@Chapter Reinterpret a linear category over a commutative semiring with free f.g. external Homs
@Section Constructors

@Chapter Example on additive closure

@Chapter Additive closure of an object finite category
@ChapterLabel AdditiveClosureObjectFinite

@InsertChunk AddClosureObjFinIntroduction
@InsertChunk AddClosureObjFinConstruction
@Section Attributes
@Section Constructors
@Section Operations
@Section Operators
@Section GAP Categories
@Section Examples

@Chapter Example on additive closure
@Subsection Test Monoidal
@InsertChunk AddClosureObjFinKronecker

@Chapter Category of rows
@Section Constructors
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#! @BeginChunk AddClosureObjFinKronecker

#! @Example
LoadPackage( "AdditiveClosuresForCAP", false );
#! true
Q := HomalgFieldOfRationals();;
R := RingAsCategory( Q );;
A := AdditiveClosureOfObjectFiniteCategory( R );;
u := TensorUnit( A );;
mor1 := [ [ 1 / R, 2 / R ] ] / A;;
mor2 := [ [ 3 / R, 4 / R ] ] / A;;
T := TensorProduct( mor1, mor2 );;
Display( T );
#! A 1 x 4 matrix with entries in RingAsCategory( Q )
#!
#! [1,1]: <3>
#! [1,2]: <4>
#! [1,3]: <6>
#! [1,4]: <8>
Display( Range( T ) );
#! A formal direct sum consisting of 4 objects:
#! 4 times: *
#! @EndExample
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#! @BeginChunk AddClosureObjFinConstruction

#! @Example
LoadPackage( "LinearClosuresForCAP", false );
#! true
D := FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] );;
Q := HomalgFieldOfRationals( );;
L := LinearClosure( Q, D );;
A := AdditiveClosureOfObjectFiniteCategory( L );;
source := AdditiveClosureObject( A, [ 3, [ 2, 1, 0, 0 ] ] );;
source = [ D[1] / L, D[2] / L, D[1] / L ] / A;
#! true
Display( source );
#! A formal direct sum consisting of 3 objects:
#!
#! 2 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 1 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 0 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 0 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
target := AdditiveClosureObject( A, [ 2, [ 0, 1, 1, 0 ] ] );;
Display( target );
#! A formal direct sum consisting of 2 objects:
#!
#! 0 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 1 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 1 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! 0 times: LinearClosureObject(<An object in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
id_2 := IdentityMorphism( D[2] / L );;
zero_12 := ZeroMorphism( L, D[1] / L, D[2] / L );;
zero_13 := ZeroMorphism( L, D[1] / L, D[3] / L );;
zero_23 := ZeroMorphism( L, D[2] / L, D[3] / L );;
matrix := [ [ zero_12, zero_13 ], [ zero_12, zero_13 ], [ id_2, zero_23] ];;
m := AdditiveClosureMorphism( A, source, matrix, target );;
m = matrix / A;
#! true
Display( m );
#! A 3 x 2 matrix with entries in LinearClosure( FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] ) )
#!
#! [1,1]: 0
#! [1,2]: 0
#! [2,1]: 0
#! [2,2]: 0
#! [3,1]: (1*<An identity morphism in FiniteSkeletalDiscreteCategory( [ 1 .. 4 ] )>)
#! [3,2]: 0
#! @EndExample
#! @EndChunk

7 changes: 7 additions & 0 deletions AdditiveClosuresForCAP/examples/CategoryOfRows.g
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ obj2 := CategoryOfRowsObject( 8, rows );
#! @Section Constructors of morphisms
#####################################

s := CategoryOfRowsObject( 2, rows );;
t := CategoryOfRowsObject( 0, rows );;
mor := CategoryOfRowsMorphism( s, HomalgMatrix( [ [],[] ], 2, 0, S ), t );;
IsWellDefined( mor );

mor := CategoryOfRowsMorphism( s, HomalgMatrix( [ ], 2, 0, S ), t );;

#! @Example
obj3 := CategoryOfRowsObject( 1, rows );
#! <A row module over Z of rank 1>
Expand Down
Loading
Loading