Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Ind

### 10 Free Abelian category of a finitely presented linear category

#### 10.1 Constructors

##### 10.1-1 AbelianClosure
 ‣ AbelianClosure( B ) ( operation )

Returns: a CAP category

Construct an Abelian closure category.

#### 10.2 Attributes

##### 10.2-1 UnderlyingCategory
 ‣ UnderlyingCategory( abelian_closure ) ( attribute )

##### 10.2-2 EmbeddingOfUnderlyingCategory
 ‣ EmbeddingOfUnderlyingCategory( abelian_closure ) ( attribute )

Returns: a CAP functor

#### 10.3 GAP Categories

##### 10.3-1 IsAbelianClosure
 ‣ IsAbelianClosure( category ) ( filter )

Returns: true or false

The GAP category of an Abelian closure category.

##### 10.3-2 IsCellInAbelianClosure
 ‣ IsCellInAbelianClosure( cell ) ( filter )

Returns: true or false

The GAP category of cells in an Abelian closure category.

##### 10.3-3 IsObjectInAbelianClosure
 ‣ IsObjectInAbelianClosure( obj ) ( filter )

Returns: true or false

The GAP category of objects in an Abelian closure category.

##### 10.3-4 IsMorphismInAbelianClosure
 ‣ IsMorphismInAbelianClosure( mor ) ( filter )

Returns: true or false

The GAP category of morphisms in an Abelian closure category.

#### 10.4 Examples

##### 10.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

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Ind

generated by GAPDoc2HTML