The reflexive completion of the one object category C_2 has four isomorphism classes of objects:
gap> q := RightQuiver( "q(1)[a:1->1]" ); q(1)[a:1->1] gap> C2 := Category( q, [ [ q.a^2, q.1 ] ] ); FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ] gap> PSh := PreSheaves( C2 ); PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) )/ [ a*a = 1 ], SkeletalFinSets ) gap> IsReflexive( TerminalObject( PSh ) ); true gap> IsReflexive( InitialObject( PSh ) ); true gap> L := PSh.1; <A projective object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> IsReflexive( L ); true gap> P := DirectProduct( L, L ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> IsReflexive( P ); true gap> iota := UnitOfIsbellAdjunction( PSh ); A natural transformation from Identity functor of PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets ) to Precomposition of Isbell left adjoint functor and Isbell right adjoint functor gap> iotaP := iota( P ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> Display( iotaP ); Image of <(1)>: { 0,..., 3 } ⱶ[ 0, 1, 2, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets ) given by the above data gap> IsOne( iotaP ); true gap> C := Coproduct( L, L ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> IsReflexive( C ); true gap> iotaC := iota( C ); <A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> Display( iotaC ); Image of <(1)>: { 0,..., 3 } ⱶ[ 1, 2, 0, 3 ]→ { 0,..., 3 } A morphism in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets ) given by the above data gap> IsIsomorphism( iotaC ); true gap> Source( iotaC ) = C; true gap> Target( iotaC ) = P; true gap> L3 := Coproduct( L, L, L ); <An object in PreSheaves( FreeCategory( RightQuiver( "q(1)[a:1->1]" ) ) / [ a*a = 1 ], SkeletalFinSets )> gap> IsProjective( L3 ); true gap> IsReflexive( L3 ); false
gap> q := RightQuiver( "q(1)[t:1->1]" ); q(1)[t:1->1] gap> F := FreeCategory( q ); FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) gap> Q := HomalgFieldOfRationals( ); Q gap> Qq := Q[F]; Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) gap> A := Qq / [ Qq.t^3 ]; Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) / relations gap> PSh := PreSheaves( A ); PreSheaves( Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) / relations, Rows( Q ) ) gap> CommutativeRingOfLinearCategory( PSh ); Q gap> Display( PSh.1 ); Image of <(1)>: A row module over Q of rank 3 Image of (1)-[{ 1*(t) }]->(1): Source: A row module over Q of rank 3 Matrix: [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] Range: A row module over Q of rank 3 A morphism in Rows( Q ) An object in PreSheaves( Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) / relations, Rows( Q ) ) given by the above data gap> Display( PSh.t ); Image of <(1)>: Source: A row module over Q of rank 3 Matrix: [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] Range: A row module over Q of rank 3 A morphism in Rows( Q ) A morphism in PreSheaves( Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) / relations, Rows( Q ) ) given by the above data gap> phi := PreCompose( PSh.t, PSh.t ); <(1)->3x3> gap> V := DirectSum( [ PSh.1, KernelObject( phi ), ImageObject( phi ) ] ); <(1)->6; (t)->6x6> gap> Display( V ); Image of <(1)>: A row module over Q of rank 6 Image of (1)-[{ 1*(t) }]->(1): Source: A row module over Q of rank 6 Matrix: [ [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ] Range: A row module over Q of rank 6 A morphism in Rows( Q ) An object in PreSheaves( Algebra( Q, FreeCategory( RightQuiver( "q(1)[t:1->1]" ) ) ) / relations, Rows( Q ) ) given by the above data gap> IsProjective( V ); false gap> IsReflexive( V ); true
The category of presheaves with values in the interval category of the boolean algebra 2^2 has 6 distinct objects. This is the free distributive lattice generated by a discrete category with two objects.
gap> LoadPackage( "FunctorCategories", false ); true gap> pq := FinQuiver( "quiver(p,q)" ); FinQuiver( "quiver(p,q)[]" ) gap> F := PathCategory( pq ); PathCategory( FinQuiver( "quiver(p,q)[]" ) ) gap> P := PosetOfCategory( F ); PosetOfCategory( PathCategory( FinQuiver( "quiver(p,q)[]" ) ) ) gap> Dist := FreeDistributiveCompletion( P ); FreeDistributiveCompletion( PosetOfCategory( PathCategory( FinQuiver( "quiver(p,q)[]" ) ) ) ) gap> Display( Dist ); A CAP category with name FreeDistributiveCompletion( PosetOfCategory( PathCategory( FinQuiver( "quiver(p,q)[]" ) ) ) ): 58 primitive operations were used to derive 284 operations for this category which algorithmically * IsCategoryWithDecidableColifts * IsCategoryWithDecidableLifts * IsFiniteCategory * IsEquippedWithHomomorphismStructure * IsHeytingAlgebra and not yet algorithmically * IsBiHeytingAlgebra gap> Length( SetOfObjects( Dist ) ); 6 gap> Display( DotVertexLabelledDigraph( DigraphOfPoset( Dist ) ) ); //dot digraph subobject_lattice{ rankdir="BT" minlen=0 node [shape=circle width=0 height=0] 1 [label="0" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 2 [label="1" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 3 [label="2" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 4 [label="3" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 5 [label="4" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 6 [label="5" fontsize=12 margin=0.01 fontname="DejaVu Serif,serif"] 1 -> 5 [arrowsize=0.5] 3 -> 6 [arrowsize=0.5] 4 -> 6 [arrowsize=0.5] 5 -> 3 [arrowsize=0.5] 5 -> 4 [arrowsize=0.5] 6 -> 2 [arrowsize=0.5] } gap> DiffbCSL := MeetSemilatticeOfSingleDifferences( Dist ); MeetSemilatticeOfSingleDifferences( FreeDistributiveCompletion( PosetOfCategory( PathCategory( FinQuiver( "quiver(p,q)[]" ) ) ) ) ) gap> Length( SetOfObjects( DiffbCSL ) ); 13
‣ NakayamaLeftAdjoint ( PSh, coPSh ) | ( operation ) |
‣ NakayamaLeftAdjoint ( B ) | ( attribute ) |
Returns: a CAP functor
Returns the Nakayama left adjoint functor from PSh = PreSheaves
( B ) \to coPSh = CoPreSheaves
( B ).
‣ NakayamaRightAdjoint ( coPSh, PSh ) | ( operation ) |
‣ NakayamaRightAdjoint ( B ) | ( attribute ) |
Returns: a CAP functor
Returns the Nakayama right adjoint functor from coPSh = CoPreSheaves
( B ) \to PSh = PreSheaves
( B ).
‣ IsbellLeftAdjoint ( PSh, coPSh ) | ( operation ) |
‣ IsbellLeftAdjoint ( B ) | ( attribute ) |
Returns: a CAP functor
Returns the Isbell left adjoint functor from PSh = PreSheaves
( B ) \to coPSh = CoPreSheaves
( B ).
‣ IsbellRightAdjoint ( coPSh, PSh ) | ( operation ) |
‣ IsbellRightAdjoint ( B ) | ( attribute ) |
Returns: a CAP functor
Returns the Isbell right adjoint functor from coPSh = CoPreSheaves
( B ) \to PSh = PreSheaves
( B ).
‣ IsbellAdjunctionMonad ( PSh, coPSh ) | ( operation ) |
‣ IsbellAdjunctionMonad ( B ) | ( attribute ) |
Returns: a CAP functor
Returns the Isbell adjunction monad on the presheaf category PSh.
‣ UnitOfIsbellAdjunction ( PSh ) | ( attribute ) |
Returns: a CAP functor
Returns the unit of the Isbell adjunction on the presheaf category PSh.
‣ IsomorphismFromSourceIntoImageOfYonedaEmbeddingOfSource ( PSh ) | ( attribute ) |
Returns: a CAP functor
Returns the isomorphism functor from Source
(PSh) to ImageOfYonedaEmbeddingOfSource
(PSh) induced by the Yoneda embedding.
‣ IsomorphismFromImageOfYonedaEmbeddingOfSourceIntoSource ( PSh ) | ( attribute ) |
Returns: a CAP functor
Returns the isomorphism functor from ImageOfYonedaEmbeddingOfSource
(PSh) to Source
(PSh) induced by the Yoneda embedding.
‣ EquivalenceFromFullSubcategoryOfProjectivesObjectsIntoAdditiveClosureOfSource ( PSh ) | ( attribute ) |
Returns: a CAP functor
Returns the equivalence functor from FullSubcategoryOfProjectiveObjects
(PSh) to the additive closure category of Source
(PSh).
generated by GAPDoc2HTML