Goto Chapter: Top 1 2 3 4 5 6 7 8 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

5 Finite categories from nerve data
 5.1 GAP categories
 5.2 Attributes
 5.3 Constructors

5 Finite categories from nerve data

5.1 GAP categories

5.1-1 IsCategoryFromNerveData
‣ IsCategoryFromNerveData( arg )( filter )

Returns: true or false

The GAP category of categories from nerve data.

5.1-2 IsCellInCategoryFromNerveData
‣ IsCellInCategoryFromNerveData( arg )( filter )

Returns: true or false

The GAP category of cells in a category from nerve data.

5.1-3 IsObjectInCategoryFromNerveData
‣ IsObjectInCategoryFromNerveData( arg )( filter )

Returns: true or false

The GAP category of objects in a category from nerve data.

5.1-4 IsMorphismInCategoryFromNerveData
‣ IsMorphismInCategoryFromNerveData( arg )( filter )

Returns: true or false

The GAP category of morphisms in a category from nerve data.

5.2 Attributes

5.2-1 NerveData
‣ NerveData( C )( attribute )

Returns: a pair consisting of a triple and an 8-tuple

The nerve data used to create the category C. It might differ from the normalized output of NerveTruncatedInDegree2Data( C ).

5.2-2 Size
‣ Size( C )( attribute )

Returns: a nonnegative integer

The number of morphisms in the category C created from nerve data.

5.2-3 OppositeCategoryFromNerveData
‣ OppositeCategoryFromNerveData( C )( attribute )

Returns: a CAP category

The opposite category of the category C defined by nerve data.

5.3 Constructors

5.3-1 CategoryFromNerveData
‣ CategoryFromNerveData( input_record )( attribute )

Returns: a CAP category

Construct an enriched finite category out of the input_record consisting of values to the keys:

gap> LoadPackage( "Algebroids" );
true
gap> Delta1 := SimplicialCategoryTruncatedInDegree( 1 );
PathCategory( FinQuiver( "Delta(C0,C1)[id:C1-≻C0,s:C0-≻C1,t:C0-≻C1]" ) )
/ [ s⋅id = id(C0), t⋅id = id(C0) ]
gap> Size( Delta1 );
7
gap> C := CategoryFromNerveData( Delta1 );
PathCategory( FinQuiver( "Delta(C0,C1)[id:C1-≻C0,s:C0-≻C1,t:C0-≻C1]" ) )
/ [ s⋅id = id(C0), t⋅id = id(C0) ]
gap> Size( C );
7
gap> NerveTruncatedInDegree2Data( C ) = NerveTruncatedInDegree2Data( Delta1 );
true
gap> IndicesOfGeneratingMorphisms( C );
[ 1, 2, 3 ]
gap> SetOfGeneratingMorphisms( C );
[ (C1)-[(id)]-≻(C0), (C0)-[(s)]-≻(C1), (C0)-[(t)]-≻(C1) ]
gap> Display( C );
A CAP category with name
PathCategory( FinQuiver( "Delta(C0,C1)[id:C1-≻C0,s:C0-≻C1,t:C0-≻C1]" ) )
/ [ s⋅id = id(C0), t⋅id = id(C0) ]:

19 primitive operations were used to derive 55 operations for this category
which algorithmically
* IsCategoryWithDecidableColifts
* IsCategoryWithDecidableLifts
* IsFiniteCategory
* IsEquippedWithHomomorphismStructure
gap> C0 := CreateObject( C, 0 );
<(C0)>
gap> IsWellDefined( C0 );
true
gap> C1 := 1 / C;
<(C1)>
gap> IsWellDefined( C1 );
true
gap> IsWellDefined( 2 / C );
false
gap> idC0 := CreateMorphism( C0, 0, C0 );
(C0)-[(C0)]-≻(C0)
gap> CreateMorphism( C, 0 ) = idC0;
true
gap> IsOne( idC0 );
true
gap> id := CreateMorphism( C, 1 );
(C1)-[(id)]-≻(C0)
gap> s := CreateMorphism( C, 2 );
(C0)-[(s)]-≻(C1)
gap> t := CreateMorphism( C, 3 );
(C0)-[(t)]-≻(C1)
gap> idC1 := CreateMorphism( C, 4 );
(C1)-[(C1)]-≻(C1)
gap> IsOne( idC1 );
true
gap> sigma := CreateMorphism( C, 5 );
(C1)-[(id⋅s)]-≻(C1)
gap> IsEndomorphism( sigma );
true
gap> IsOne( sigma );
false
gap> tau := CreateMorphism( C, 6 );
(C1)-[(id⋅t)]-≻(C1)
gap> IsEndomorphism( tau );
true
gap> IsOne( tau );
false
gap> IsWellDefined( CreateMorphism( C1, 7, C1 ) );
false
gap> PreCompose( s, id ) = idC0;
true
gap> PreCompose( t, id ) = idC0;
true
gap> PreCompose( id, s ) = sigma;
true
gap> PreCompose( id, t ) = tau;
true
gap> HomStructure( C0, C0 );
|1|
gap> HomStructure( C1, C1 );
|3|
gap> HomStructure( C0, C1 );
|2|
gap> HomStructure( C1, C0 );
|1|
gap> Display( HomStructure( s ) );
{ 0 } ⱶ[ 0 ]→ { 0, 1 }
gap> Display( HomStructure( t ) );
{ 0 } ⱶ[ 1 ]→ { 0, 1 }
gap> HomStructure( Source( s ), Target( s ), HomStructure( s ) ) = s;
true
gap> HomStructure( Source( t ), Target( t ), HomStructure( t ) ) = t;
true
gap> Display( HomStructure( s, t ) );
{ 0 } ⱶ[ 1 ]→ { 0, 1 }
gap> Display( HomStructure( t, s ) );
{ 0 } ⱶ[ 0 ]→ { 0, 1 }
gap> Display( HomStructure( sigma, tau ) );
{ 0, 1, 2 } ⱶ[ 2, 2, 2 ]→ { 0, 1, 2 }
gap> Display( HomStructure(
>         PreCompose( Delta1.id, Delta1.s ),
>         PreCompose( Delta1.id, Delta1.t ) ) );
{ 0, 1, 2 } ⱶ[ 2, 2, 2 ]→ { 0, 1, 2 }
gap> Display( HomStructure( tau, sigma ) );
{ 0, 1, 2 } ⱶ[ 1, 1, 1 ]→ { 0, 1, 2 }
gap> Display( HomStructure(
>         PreCompose( Delta1.id, Delta1.t ),
>         PreCompose( Delta1.id, Delta1.s ) ) );
{ 0, 1, 2 } ⱶ[ 1, 1, 1 ]→ { 0, 1, 2 }
gap> Display( HomStructure( tau, idC1 ) );
{ 0, 1, 2 } ⱶ[ 2, 1, 2 ]→ { 0, 1, 2 }
gap> Display( HomStructure( idC1, idC1 ) );
{ 0, 1, 2 } ⱶ[ 0, 1, 2 ]→ { 0, 1, 2 }
gap> C_op := OppositeCategoryFromNerveData( C );
Opposite(
PathCategory( FinQuiver( "Delta(C0,C1)[id:C1-≻C0,s:C0-≻C1,t:C0-≻C1]" ) )
/ [ s⋅id = id(C0), t⋅id = id(C0) ] )
gap> NerveData( C_op ) = NerveTruncatedInDegree2Data( C_op );
true
gap> IsIdenticalObj( OppositeCategoryFromNerveData( C_op ), C );
true
gap> IndicesOfGeneratingMorphisms( C_op );
[ 3, 1, 2 ]
gap> SetOfGeneratingMorphisms( C_op );
[ (C0)-[(id)]-≻(C1), (C1)-[(s)]-≻(C0), (C1)-[(t)]-≻(C0) ]

5.3-2 CategoryFromNerveData
‣ CategoryFromNerveData( C )( attribute )

5.3-3 CreateObject
‣ CreateObject( C, o )( operation )

Returns: a CAP category

Construct the o-th object in the category C created from nerve data.

5.3-4 CreateMorphism
‣ CreateMorphism( C, m )( operation )
‣ CreateMorphism( source, m, range )( operation )

Returns: a CAP category

Construct the m-th morphism source\(\to\)range in the category C created from nerve data.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 Ind

generated by GAPDoc2HTML