‣ 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) ]
‣ OppositeQuotientOfPathCategory ( qC ) | ( attribute ) |
Returns: a quotient of a path category
Returns the opposite category of a quotient qC of a path category C.
‣ CategoryFromNerveData ( C ) | ( attribute ) |
‣ DefiningRelations ( qC ) | ( attribute ) |
Returns: a dense list
Returns the generators of the underlying two-sided ideal of morphisms.
‣ GroebnerBasisOfDefiningRelations ( qC ) | ( attribute ) |
Returns: a dense list
Returns the reduced Groebner basis of the underlying two-sided ideal of morphisms.
‣ ObjectIndex ( obj ) | ( attribute ) |
Returns: an integer
Returns the index of the object.
‣ 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.
‣ IsQuotientOfPathCategory ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of quotients of path categories.
‣ IsQuotientOfPathCategoryObject ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of objects in quotients path categories.
‣ IsQuotientOfPathCategoryMorphism ( arg ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms in quotients of path categories.
generated by GAPDoc2HTML