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

2 Path categories
 2.1 Constructors
 2.2 Attributes
 2.3 GAP categories

2 Path categories

2.1 Constructors

2.1-1 QuotientCategory
‣ QuotientCategory( C, rels )( operation )

Returns: a CAP category

Returns the quotient category of C by the two-sided ideal of morphisms generated by rels.

gap> LoadPackage( "FpCategories", false );
true
gap> str :=
>   "q(0..5)[x:0->0,s:0->1,a:1->2,c:1->3,e:1->4,b:2->4,d:3->4,t:4->5,y:5->5]";;
gap> q := FinQuiver( str );
FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,
t:4-≻5,y:5-≻5]" )
gap> C := PathCategory( q : admissible_order := "Dp" );
PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,
b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) )
gap> Display( C );
A CAP category with name PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,
a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) ):

17 primitive operations were used to derive 32 operations for this category
which algorithmically
* IsFinitelyPresentedCategory
gap> SetOfObjects( C );
[ (0), (1), (2), (3), (4), (5) ]
gap> SetOfGeneratingMorphisms( C );
[ x:(0) -≻ (0), s:(0) -≻ (1), a:(1) -≻ (2), c:(1) -≻ (3), e:(1) -≻ (4),
  b:(2) -≻ (4), d:(3) -≻ (4), t:(4) -≻ (5), y:(5) -≻ (5) ]
gap> C.5;
(5)
gap> ObjectIndex( C.5 );
6
gap> C.id_5;
id(5):(5) -≻ (5)
gap> C.("id(5)");
id(5):(5) -≻ (5)
gap> m := C.("x^2*s*a*b*t*y^2");
x^2⋅s⋅a⋅b⋅t⋅y^2:(0) -≻ (5)
gap> m := C.("x^2sabty^2");
x^2⋅s⋅a⋅b⋅t⋅y^2:(0) -≻ (5)
gap> IsWellDefined( m );
true
gap> MorphismLength( m );
8
gap> MorphismIndices( m );
[ 1, 1, 2, 3, 6, 8, 9, 9 ]
gap> MorphismSupport( m );
[ x:(0) -≻ (0), x:(0) -≻ (0), s:(0) -≻ (1), a:(1) -≻ (2), b:(2) -≻ (4),
t:(4) -≻ (5), y:(5) -≻ (5), y:(5) -≻ (5) ]
gap> relations := [ [ C.x^5, C.x ], [ C.y^5, C.y^2 ] ];;
gap> m = MorphismConstructor( C,
>         Source( m ), MorphismLength( m ), MorphismSupport( m ), Target( m ) );
true
gap> qC := QuotientCategory( C, relations );
PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,
b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) ) / [ x^5 = x, y^5 = y^2 ]
gap> Display( qC );
A CAP category with name PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,
a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) ) / [ x^5 = x, y^5 = y^2 ]:

24 primitive operations were used to derive 65 operations for this category
which algorithmically
* IsCategoryWithDecidableColifts
* IsCategoryWithDecidableLifts
* IsFiniteCategory
* IsEquippedWithHomomorphismStructure
gap> qC.0;
(0)
gap> ObjectIndex( qC.0 );
1
gap> qC.x^7;
[x^3]:(0) -≻ (0)
gap> CanonicalRepresentative( qC.x^7 );
x^3:(0) -≻ (0)
gap> HomomorphismStructureOnObjects( qC.0, qC.5 );
|75|
gap> List( SetOfGeneratingMorphisms( qC ), IsMonomorphism );
[ false, true, true, true, true, true, true, true, false ]
gap> List( SetOfGeneratingMorphisms( qC ), IsEpimorphism );
[ false, true, true, true, true, true, true, true, false ]
gap> LoadPackage( "Algebroids", false );
true
gap> k := HomalgFieldOfRationals();
Q
gap> kC := k[C]; # or LinearClosure( k, C );
Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,a:1-≻2,
c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) ) )
gap> kC.x + kC.x^2;
1*x^2 + 1*x:(0) -≻ (0)
gap> kqC := k[qC];
Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2,3,4,5)[x:0-≻0,s:0-≻1,a:1-≻2,
c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5,y:5-≻5]" ) ) / [ x^5 = x, y^5 = y^2 ] )
gap> HomomorphismStructureOnObjects( kqC.0, kqC.5 );
<A row module over Q of rank 75>
gap> kqC.x + kqC.x^2;
1*[x^2] + 1*[x]:(0) -≻ (0)
gap> List( SetOfGeneratingMorphisms( kqC ), IsMonomorphism );
[ false, true, true, true, true, true, true, true, false ]
gap> List( SetOfGeneratingMorphisms( kqC ), IsEpimorphism );
[ false, true, true, true, true, true, true, true, false ]
gap> homs := BasisOfExternalHom( kqC.0, kqC.5 );;
gap> mor := 2 * homs[1] - 3 * homs[4] + homs[75];
2*[x^4⋅s⋅a⋅b⋅t⋅y^4] - 3*[x^4⋅s⋅c⋅d⋅t⋅y^3] + 1*[s⋅e⋅t]:(0) -≻ (5)
gap> EvalString( CellAsEvaluatableString( mor, [ "kqC", "qC", "C" ] ) ) = mor;
true
gap> A := AlgebroidFromDataTables( kqC );
Q-algebroid( {0,1,2,3,4,5}[x:0-≻0,s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,
t:4-≻5,y:5-≻5] ) defined by 6 objects and 9 generating morphisms
gap> HomomorphismStructureOnObjects( A.0, A.5 );
<A row module over Q of rank 75>
gap> A.x + A.x^2;
<1*x^2 + 1*x:(0) -≻ (0)>
gap> LoadPackage( "Algebroids", false );
true
gap> str := "q(0,1,2,3,4,5)[s:0->1,a:1->2,c:1->3,e:1->4,b:2->4,d:3->4,t:4->5]";;
gap> quiver := FinQuiver( str );
FinQuiver( "q(0,1,2,3,4,5)[s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5]" )
gap> P := PathCategory( quiver : admissible_order := "Dp" );
PathCategory( FinQuiver( "q(0,1,2,3,4,5)[s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,
d:3-≻4,t:4-≻5]" ) )
gap> Display( P );
A CAP category with name PathCategory( FinQuiver( "q(0,1,2,3,4,5)[s:0-≻1,a:1-≻2,
c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5]" ) ):

18 primitive operations were used to derive 65 operations for this category
which algorithmically
* IsCategoryWithDecidableColifts
* IsCategoryWithDecidableLifts
* IsFiniteCategory
* IsEquippedWithHomomorphismStructure
gap> HomStructure( P.0, P.5 );
|3|
gap> k := HomalgFieldOfRationals( );
Q
gap> kP := k[P];
Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2,3,4,5)[s:0-≻1,a:1-≻2,c:1-≻3,
e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5]" ) ) )
gap> HomStructure( kP.0, kP.5 );
<A row module over Q of rank 3>
gap> T := AlgebroidFromDataTables( kP );
Q-algebroid( {0,1,2,3,4,5}[s:0-≻1,a:1-≻2,c:1-≻3,e:1-≻4,b:2-≻4,d:3-≻4,t:4-≻5] )
defined by 6 objects and 7 generating morphisms
gap> HomStructure( T.0, T.5 );
<A row module over Q of rank 3>
gap> LoadPackage( "Algebroids", false );
true
gap> str := "q(o)[x:o->o,y:o->o,z:o->o]";;
gap> C := PathCategory( FinQuiver( str ) );
PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o,z:o-≻o]" ) )
gap> F := FreeCategory( RightQuiver( str ) );
FreeCategory( RightQuiver( "q(o)[x:o->o,y:o->o,z:o->o]" ) )
gap> qC := C / [ [C.x^3, C.x], [C.y^3, C.y], [C.z^3, C.z],
>             [C.xy, C.yx], [C.xz, C.zx], [C.yz, C.zy] ];
PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o,z:o-≻o]" ) ) /
           [ x^3 = x, y^3 = y, z^3 = z, ... ]
gap> qF := F / [ [F.x^3, F.x], [F.y^3, F.y], [F.z^3, F.z],
>             [F.xy, F.yx], [F.xz, F.zx], [F.yz, F.zy] ];
FreeCategory( RightQuiver( "q(o)[x:o->o,y:o->o,z:o->o]" ) ) / relations
gap> MorphismsOfExternalHom( qC.o, qC.o );
[ [id(o)]:(o) -≻ (o), [x]:(o) -≻ (o), [y]:(o) -≻ (o), [z]:(o) -≻ (o),
  [x^2]:(o) -≻ (o), [x⋅y]:(o) -≻ (o), [x⋅z]:(o) -≻ (o), [y^2]:(o) -≻ (o),
  [y⋅z]:(o) -≻ (o), [z^2]:(o) -≻ (o), [x^2⋅y]:(o) -≻ (o), [x^2⋅z]:(o) -≻ (o),
  [x⋅y^2]:(o) -≻ (o), [x⋅y⋅z]:(o) -≻ (o), [x⋅z^2]:(o) -≻ (o),
  [y^2⋅z]:(o) -≻ (o), [y⋅z^2]:(o) -≻ (o), [x^2⋅y^2]:(o) -≻ (o),
  [x^2⋅y⋅z]:(o) -≻ (o), [x^2⋅z^2]:(o) -≻ (o), [x⋅y^2⋅z]:(o) -≻ (o),
  [x⋅y⋅z^2]:(o) -≻ (o), [y^2⋅z^2]:(o) -≻ (o), [x^2⋅y^2⋅z]:(o) -≻ (o),
  [x^2⋅y⋅z^2]:(o) -≻ (o), [x⋅y^2⋅z^2]:(o) -≻ (o), [x^2⋅y^2⋅z^2]:(o) -≻ (o) ]
gap> MorphismsOfExternalHom( qF.o, qF.o );
[ (o)-[(o)]->(o), (o)-[(x)]->(o), (o)-[(y)]->(o), (o)-[(z)]->(o),
  (o)-[(x*x)]->(o), (o)-[(x*y)]->(o), (o)-[(x*z)]->(o), (o)-[(y*y)]->(o),
  (o)-[(y*z)]->(o), (o)-[(z*z)]->(o), (o)-[(x*x*y)]->(o), (o)-[(x*x*z)]->(o),
  (o)-[(x*y*y)]->(o), (o)-[(x*y*z)]->(o), (o)-[(x*z*z)]->(o),
  (o)-[(y*y*z)]->(o), (o)-[(y*z*z)]->(o), (o)-[(x*x*y*y)]->(o),
  (o)-[(x*x*y*z)]->(o), (o)-[(x*x*z*z)]->(o), (o)-[(x*y*y*z)]->(o),
  (o)-[(x*y*z*z)]->(o), (o)-[(y*y*z*z)]->(o), (o)-[(x*x*y*y*z)]->(o),
  (o)-[(x*x*y*z*z)]->(o), (o)-[(x*y*y*z*z)]->(o), (o)-[(x*x*y*y*z*z)]->(o) ]

2.2 Attributes

2.2-1 OppositeQuotientOfPathCategory
‣ OppositeQuotientOfPathCategory( qC )( attribute )

Returns: a quotient of a path category

Returns the opposite category of a quotient qC of a path category C.

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

2.2-3 DefiningRelations
‣ DefiningRelations( qC )( attribute )

Returns: a dense list

Returns the generators of the underlying two-sided ideal of morphisms.

2.2-4 GroebnerBasisOfDefiningRelations
‣ GroebnerBasisOfDefiningRelations( qC )( attribute )

Returns: a dense list

Returns the reduced Groebner basis of the underlying two-sided ideal of morphisms.

2.2-5 ObjectIndex
‣ ObjectIndex( obj )( attribute )

Returns: an integer

Returns the index of the object.

2.2-6 CanonicalRepresentative
‣ CanonicalRepresentative( alpha )( attribute )

Returns: a CAP morphism

The input is a morphism alpha in the quotient category qC of a path category C. The output is a canonical representative of alpha in C. Equal morphisms in qC have the same canonical representative.

2.3 GAP categories

2.3-1 IsQuotientOfPathCategory
‣ IsQuotientOfPathCategory( arg )( filter )

Returns: true or false

The GAP category of quotients of path categories.

2.3-2 IsQuotientOfPathCategoryObject
‣ IsQuotientOfPathCategoryObject( arg )( filter )

Returns: true or false

The GAP category of objects in quotients path categories.

2.3-3 IsQuotientOfPathCategoryMorphism
‣ IsQuotientOfPathCategoryMorphism( arg )( filter )

Returns: true or false

The GAP category of morphisms in quotients of path categories.

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

generated by GAPDoc2HTML