Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

11 Free Abelian category of a finitely presented linear category
 11.1 Constructors
 11.2 Attributes
 11.3 GAP Categories
 11.4 Examples

11 Free Abelian category of a finitely presented linear category

11.1 Constructors

11.1-1 AbelianClosure
‣ AbelianClosure( B )( operation )

Returns: a CAP category

Construct an Abelian closure category.

11.2 Attributes

11.2-1 UnderlyingCategory
‣ UnderlyingCategory( abelian_closure )( attribute )

11.2-2 YonedaEmbeddingOfUnderlyingCategory
‣ YonedaEmbeddingOfUnderlyingCategory( abelian_closure )( attribute )

Returns: a CAP functor

11.3 GAP Categories

11.3-1 IsAbelianClosure
‣ IsAbelianClosure( category )( filter )

Returns: true or false

The GAP category of an Abelian closure category.

11.3-2 IsCellInAbelianClosure
‣ IsCellInAbelianClosure( cell )( filter )

Returns: true or false

The GAP category of cells in an Abelian closure category.

11.3-3 IsObjectInAbelianClosure
‣ IsObjectInAbelianClosure( obj )( filter )

Returns: true or false

The GAP category of objects in an Abelian closure category.

11.3-4 IsMorphismInAbelianClosure
‣ IsMorphismInAbelianClosure( mor )( filter )

Returns: true or false

The GAP category of morphisms in an Abelian closure category.

11.4 Examples

11.4-1 Proof of the snake lemma in a free Abelian category
gap> q := RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" );
q(4)[a:1->2,b:2->3,c:3->4]
gap> Fq := FreeCategory( q );
FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) )
gap> Q := HomalgFieldOfRationals( );
Q
gap> Qq := Q[Fq];
Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) )
gap> L := Qq / [ Qq.abc ];
Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) )
/ relations
gap> A := AbelianClosure( L );
AbelianClosure( Algebroid( Q, FreeCategory(
RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )
gap> a := A.a;
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> b := A.b;
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> c := A.c;
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> IsZero( PreCompose( [ a, b, c ] ) );
true
gap> d := CokernelProjection( a );
<An epimorphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> e := CokernelColift( a, PreCompose( b, c ) );
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> f := KernelEmbedding( e );
<A monomorphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> g := KernelEmbedding( c );
<A monomorphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> h := KernelLift( c, PreCompose( a, b ) );
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> i := CokernelProjection( h );
<An epimorphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> ff := AsGeneralizedMorphism( f );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> dd := AsGeneralizedMorphism( d );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> bb := AsGeneralizedMorphism( b );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> gg := AsGeneralizedMorphism( g );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> ii := AsGeneralizedMorphism( i );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> ss := PreCompose( [ ff, PseudoInverse( dd ), bb, PseudoInverse( gg ), ii ] );
<A morphism in Generalized morphism category of
 AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> IsHonest( ss );
true
gap> s := HonestRepresentative( ss );
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> j := KernelObjectFunctorial( b, d, e );
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> k := CokernelObjectFunctorial( h, g, b );
<A morphism in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> HK := HomologyObject( j, s );
<An object in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> IsZero( HK );
true
gap> HC := HomologyObject( s, k );
<An object in AbelianClosure( Algebroid( Q, FreeCategory(
 RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )>
gap> IsZero( HC );
true
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ind

generated by GAPDoc2HTML