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

4 Finite categories from data tables
 4.1 Attributes
 4.2 Constructors
 4.3 GAP categories

4 Finite categories from data tables

4.1 Attributes

4.1-1 DataTables
‣ DataTables( C )( attribute )

Returns: a pair of lists

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

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

Returns: a nonnegative integer

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

4.1-3 OppositeCategoryFromDataTables
‣ OppositeCategoryFromDataTables( C )( attribute )

Returns: a CAP category

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

4.2 Constructors

4.2-1 CategoryFromDataTables
‣ CategoryFromDataTables( 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", false );
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> mors := SetOfMorphisms( Delta1 );
[ [id(C0)]:(C0) -≻ (C0), [id]:(C1) -≻ (C0), [s]:(C0) -≻ (C1), [t]:(C0) -≻ (C1),
  [id(C1)]:(C1) -≻ (C1), [id⋅s]:(C1) -≻ (C1), [id⋅t]:(C1) -≻ (C1) ]
gap> List( mors, DecompositionOfMorphismInCategory );
[ [  ], [ [id]:(C1) -≻ (C0) ], [ [s]:(C0) -≻ (C1) ], [ [t]:(C0) -≻ (C1) ],
  [  ], [ [id]:(C1) -≻ (C0), [s]:(C0) -≻ (C1) ],
  [ [id]:(C1) -≻ (C0), [t]:(C0) -≻ (C1) ] ]
gap> C := CategoryFromDataTables( 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> morsC := SetOfMorphisms( C );
[ (C0)-[(C0)]->(C0), (C1)-[(id)]->(C0), (C0)-[(s)]->(C1), (C0)-[(t)]->(C1),
  (C1)-[(C1)]->(C1), (C1)-[(id*s)]->(C1), (C1)-[(id*t)]->(C1) ]
gap> List( morsC, DecompositionOfMorphismInCategory );
[ [  ], [ (C1)-[(id)]->(C0) ], [ (C0)-[(s)]->(C1) ], [ (C0)-[(t)]->(C1) ],
  [  ], [ (C1)-[(id)]->(C0), (C0)-[(s)]->(C1) ],
  [ (C1)-[(id)]->(C0), (C0)-[(t)]->(C1) ] ]
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> IsSplitMonomorphism( s );
true
gap> IsSplitMonomorphism( t );
true
gap> IsEpimorphism( s );
false
gap> IsEpimorphism( t );
false
gap> IsSplitEpimorphism( id );
true
gap> IsMonomorphism( id );
false
gap> idC1 := CreateMorphism( C, 4 );
(C1)-[(C1)]->(C1)
gap> IsOne( idC1 );
true
gap> sigma := CreateMorphism( C, 5 );
(C1)-[(id*s)]->(C1)
gap> tau := CreateMorphism( C, 6 );
(C1)-[(id*t)]->(C1)
gap> IsEndomorphism( sigma );
true
gap> IsMonomorphism( sigma );
false
gap> IsEpimorphism( sigma );
false
gap> IsEndomorphism( tau );
true
gap> IsMonomorphism( tau );
false
gap> IsEpimorphism( tau );
false
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> mors := SetOfMorphisms( C );
[ (C0)-[(C0)]->(C0), (C1)-[(id)]->(C0), (C0)-[(s)]->(C1), (C0)-[(t)]->(C1),
  (C1)-[(C1)]->(C1), (C1)-[(id*s)]->(C1), (C1)-[(id*t)]->(C1) ]
gap> List( mors, OppositeMorphismInOppositeCategoryFromDataTables );
[ (C0)-[(C0)]->(C0), (C0)-[(id)]->(C1), (C1)-[(s)]->(C0), (C1)-[(t)]->(C0),
(C1)-[(C1)]->(C1), (C1)-[(s*id)]->(C1), (C1)-[(t*id)]->(C1) ]
gap> mors;
[ (C0)-[(C0)]->(C0), (C1)-[(id)]->(C0), (C0)-[(s)]->(C1), (C0)-[(t)]->(C1),
  (C1)-[(C1)]->(C1), (C1)-[(id*s)]->(C1), (C1)-[(id*t)]->(C1) ]
gap> List( mors, DecompositionOfMorphismInCategory );
[ [  ], [ (C1)-[(id)]->(C0) ], [ (C0)-[(s)]->(C1) ], [ (C0)-[(t)]->(C1) ],
  [  ], [ (C1)-[(id)]->(C0), (C0)-[(s)]->(C1) ],
  [ (C1)-[(id)]->(C0), (C0)-[(t)]->(C1) ] ]
gap> C_op := OppositeCategoryFromDataTables( 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> IsIdenticalObj( OppositeCategoryFromDataTables( C_op ), C );
true
gap> IndicesOfGeneratingMorphisms( C_op );
[ 3, 1, 2 ]
gap> SetOfGeneratingMorphisms( C_op );
[ (C0)-[(id)]->(C1), (C1)-[(s)]->(C0), (C1)-[(t)]->(C0) ]
gap> mors_op := SetOfMorphisms( C_op );
[ (C0)-[(C0)]->(C0), (C1)-[(s)]->(C0), (C1)-[(t)]->(C0), (C0)-[(id)]->(C1),
  (C1)-[(C1)]->(C1), (C1)-[(s*id)]->(C1), (C1)-[(t*id)]->(C1) ]
gap> List( mors_op, DecompositionOfMorphismInCategory );
[ [  ], [ (C1)-[(s)]->(C0) ], [ (C1)-[(t)]->(C0) ], [ (C0)-[(id)]->(C1) ],
  [  ], [ (C1)-[(s)]->(C0), (C0)-[(id)]->(C1) ],
  [ (C1)-[(t)]->(C0), (C0)-[(id)]->(C1) ] ]

4.2-2 CategoryFromDataTables
‣ CategoryFromDataTables( C )( attribute )

4.2-3 CategoryFromDataTables
‣ CategoryFromDataTables( C )( attribute )

4.2-4 CategoryFromDataTables
‣ CategoryFromDataTables( C )( attribute )

4.2-5 CategoryFromDataTables
‣ CategoryFromDataTables( C )( attribute )

4.2-6 CreateObject
‣ CreateObject( C, o )( operation )

Returns: a CAP category

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

4.2-7 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 data tables.

4.3 GAP categories

4.3-1 IsCategoryFromDataTables
‣ IsCategoryFromDataTables( arg )( filter )

Returns: true or false

The GAP category of categories from data tables.

4.3-2 IsCellInCategoryFromDataTables
‣ IsCellInCategoryFromDataTables( arg )( filter )

Returns: true or false

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

4.3-3 IsObjectInCategoryFromDataTables
‣ IsObjectInCategoryFromDataTables( arg )( filter )

Returns: true or false

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

4.3-4 IsMorphismInCategoryFromDataTables
‣ IsMorphismInCategoryFromDataTables( arg )( filter )

Returns: true or false

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

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

generated by GAPDoc2HTML