‣ UnderlyingCategory ( DC ) | ( attribute ) |
Return the category C underlying the abelian closure with strict direct sums category DC := AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure
( C ).
‣ AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure ( C ) | ( attribute ) |
Returns: a CAP category
Construct the free distributive closure category with strict products and coproducts of a category C.
#@if ValueOption( "no_precompiled_code" ) <> true gap> LoadPackage( "Algebroids", false ); true gap> LoadPackage( "FiniteCocompletions", false ); true 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 := AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( L ); AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) gap> a := A.a; <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> b := A.b; <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> c := A.c; <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> f := KernelEmbedding( e ); <A monomorphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> g := KernelEmbedding( c ); <A monomorphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> i := CokernelProjection( h ); <An epimorphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> ker := Source( f ); <An object in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> coker := Target( i ); <An object in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> HomStructure( ker, coker ); <A row module over Q of rank 1> gap> hom_ker_coker := BasisOfExternalHom( ker, coker ); [ <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> ] gap> s := hom_ker_coker[1]; <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> HK := HomologyObject( j, s ); <An object in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> IsZero( HC ); true gap> ff := AsGeneralizedMorphism( f ); <A morphism in Generalized morphism category of AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( 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 AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> IsHonest( ss ); true gap> s = HonestRepresentative( ss ); true gap> Id := ExtendFunctorToAbelianClosureWithStrictDirectSums( > EmbeddingOfUnderlyingCategory( A ) ); Extension to AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Source( Embedding functor into an abelian closure category with strict direct sums ) ) gap> Id( s ); <A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations )> gap> IsWellDefined( Id( s ) ); true gap> Display( s ); -------------------------------- Source: -------------------------------- -------------------------------- Source: -------------------------------- A 2 x 2 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (2)-[{ 1*(b*c) }]->(4) [1,2]: (2)-[{ 1*(2) }]->(2) [2,1]: (1)-[{ 0 }]->(4) [2,2]: (1)-[{ -1*(a) }]->(2) -------------------------------- Morphism datum: -------------------------------- A 2 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (2)-[{ 1*(2) }]->(2) [2,1]: (1)-[{ 0 }]->(2) -------------------------------- Range: -------------------------------- A 1 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (2)-[{ 1*(b*c) }]->(4) -------------------------------- General description: -------------------------------- A morphism in CoFreyd( AdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) ) -------------------------------- Morphism datum: -------------------------------- -------------------------------- Source: -------------------------------- A 1 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (2)-[{ 1*(b*c) }]->(4) -------------------------------- Morphism datum: -------------------------------- A 1 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (2)-[{ 1*(b) }]->(3) -------------------------------- Range: -------------------------------- A 1 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (3)-[{ 1*(c) }]->(4) -------------------------------- General description: -------------------------------- A morphism in CoFreyd( AdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) ) -------------------------------- Range: -------------------------------- -------------------------------- Source: -------------------------------- A 2 x 2 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (3)-[{ 1*(c) }]->(4) [1,2]: (3)-[{ 1*(3) }]->(3) [2,1]: (1)-[{ 0 }]->(4) [2,2]: (1)-[{ 0 }]->(3) -------------------------------- Morphism datum: -------------------------------- A 2 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (3)-[{ 1*(3) }]->(3) [2,1]: (1)-[{ 1*(a*b) }]->(3) -------------------------------- Range: -------------------------------- A 1 x 1 matrix with entries in Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations [1,1]: (3)-[{ 1*(c) }]->(4) -------------------------------- General description: -------------------------------- A morphism in CoFreyd( AdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) ) -------------------------------- General description: -------------------------------- A morphism in Freyd( CoFreyd( AdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) ) ) A morphism in AbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure( Algebroid( Q, FreeCategory( RightQuiver( "q(4)[a:1->2,b:2->3,c:3->4]" ) ) ) / relations ) given by the above data #@fi
‣ EmbeddingOfUnderlyingCategory ( UC ) | ( attribute ) |
Returns: a CAP functor
The full embedding functor from the category C underlying the free distributive closure category DC with strict products and coproducts into DC.
‣ ExtendFunctorToAbelianClosureWithStrictDirectSums ( DC ) | ( attribute ) |
Returns: a CAP functor
The full embedding functor from the category C underlying the free distributive closure category DC with strict products and coproducts into DC.
‣ IsAbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of free distributive closure categories with strict products and coproducts of a category.
‣ IsCellInAbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of cells in the free distributive closure category with strict products and coproducts of a category.
‣ IsObjectInAbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of objects in the free distributive closure category with strict products and coproducts of a category.
‣ IsMorphismInAbelianClosureWithStrictDirectSumsAsFreydOfCoFreydOfStrictAdditiveClosure ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms in the free distributive closure category with strict products and coproducts of a category.
generated by GAPDoc2HTML