‣ AlgebroidAsObjectInPreSheavesCategory ( A ) | ( attribute ) |
Returns: a CAP category morphism
The argument is an algebroid A over a commutative ring k. The output is the presheaf object F_{A}\in \mathrm{PSh}(A^{\mathrm{op}}\otimes A) which maps an object u^{\mathrm{op}}\otimes t \in A^{\mathrm{op}}\otimes A to \mathrm{Hom}_B(t,u) \in k\mbox{-}\mathrm{rows} and maps a morphism g^{\mathrm{op}}\otimes f : v^{\mathrm{op}}\otimes s \to u^{\mathrm{op}}\otimes t \in A^{\mathrm{op}}\otimes A to f\bullet(-)\bullet g =\mathrm{Hom}_B(f,g): \mathrm{Hom}_B(t,u) \to \mathrm{Hom}_B(s,v) \in k\mbox{-}\mathrm{rows}.
‣ AssociatedMorphismIntoAlgebroidAsObjectInPreSheavesCategory ( alpha ) | ( attribute ) |
Returns: a CAP category morphism
The argument is a morphism \alpha: t \to u in an algebroid A over a commutative ring k. The output is the morphism \lambda_{\alpha}:P_{u^{\mathrm{op}}\otimes t} \to F_{A} where P_{u^{\mathrm{op}}\otimes t} is the image of u^{\mathrm{op}}\otimes t under the Yoneda embdding A^{\mathrm{op}}\otimes A \hookrightarrow \mathrm{PSh}(A^{\mathrm{op}}\otimes A); and \lambda_{\alpha} the image of \alpha under the natural isomorphism \mathrm{Hom}_{A}(t,u) = F_{A}(u^{\mathrm{op}}\otimes t) \simeq \mathrm{Hom}_{\mathrm{PSh}(A^{\mathrm{op}}\otimes A)}(P_{u^{\mathrm{op}}\otimes t},F_{A}).
gap> LoadPackage( "FunctorCategories", false ); true gap> q := FinQuiver( "q(0,1,2,3)[a:0->1,b:1->3,c:0->2,d:2->3,e:3->3]" ); FinQuiver( "q(0,1,2,3)[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3]" ) gap> k := HomalgFieldOfRationals(); Q gap> C := PathCategory( q ); PathCategory( FinQuiver( "q(0,1,2,3)[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3]" ) ) gap> kC := k[C]; Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2,3)[a:0-≻1,b:1-≻3,c:0-≻2, d:2-≻3,e:3-≻3]" ) ) ) gap> quo_kC := kC / [ kC.e^3 ]; Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2,3)[a:0-≻1,b:1-≻3,c:0-≻2, d:2-≻3,e:3-≻3]" ) ) ) / [ 1*e^3 ] gap> A := AlgebroidFromDataTables( quo_kC ); Q-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms gap> e := AssociatedMorphismIntoAlgebroidAsObjectInPreSheavesCategory( A.("e") );; gap> IsWellDefined( e ); true gap> qA := QuotientCategory( A, [ A.ab - A.cd, 2*A.be ] ); QuotientCategory( Q-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms, 2-sided ideal generated by 2 morphisms ) gap> qA.0; <(0)> gap> RangeCategoryOfHomomorphismStructure( qA ); Rows( Q ) gap> IsZero( qA.cde ); true gap> f := RandomMorphism( qA, 20 );; gap> 1/2 * HomStructure( Source( f ), Target( f ), 2 * HomStructure( f ) ) = f; true gap> qA := QuotientCategory( A, [ A.id_0, A.id_1, A.id_2 ] ); QuotientCategory( Q-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms, 2-sided ideal generated by 3 morphisms ) gap> ForAll( [ qA.0, qA.1, qA.2 ], IsZeroForObjects ); true gap> IsZero( qA.3 ); false gap> D := AlgebroidFromDataTables( qA ); Q-algebroid( {3}[e:3-≻3] ) defined by 1 object and 1 generating morphism gap> BasisOfExternalHom( D.3, D.3 ); [ <1*id(3):(3) -≻ (3)>, <1*e:(3) -≻ (3)>, <1*e^2:(3) -≻ (3)> ] gap> data_tables := DataTablesOfCategory( quo_kC );; gap> data_tables_Z := ShallowCopy( data_tables );; gap> data_tables_Z[1] := HomalgRingOfIntegers();; gap> B := AlgebroidFromDataTables( data_tables_Z ); Z-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms gap> RangeCategoryOfHomomorphismStructure( B ); Rows( Z ) gap> qB := QuotientCategory( B, [ B.ab - B.cd, 2*B.be ] ); QuotientCategory( Z-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3,c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms, 2-sided ideal generated by 2 morphisms ) gap> RangeCategoryOfHomomorphismStructure( qB ); Freyd( Rows( Z ) ) gap> IsZero( qB.cde ); false gap> IsZero( 2*qB.cde ); true gap> add_qB := AdditiveClosure( qB ); AdditiveClosure( QuotientCategory( Z-algebroid( {0,1,2,3}[a:0-≻1,b:1-≻3, c:0-≻2,d:2-≻3,e:3-≻3] ) defined by 4 objects and 5 generating morphisms, 2-sided ideal generated by 2 morphisms ) ) gap> T := RandomObject( add_qB, [[10],[1]] );; gap> u := RandomMorphism( T, T, 5 );; gap> v := RandomMorphism( T, T, 5 );; gap> w := RandomMorphism( T, T, 5 );; gap> HomStructure( PreCompose( [ u, v, w ] ) ) > = PreCompose( HomStructure( v ), HomStructure( u, w ) ); true gap> HomStructure( T, T, 2 * HomStructure( u ) ) = 2 * u; true
gap> LoadPackage( "FunctorCategories", false ); true gap> q := FinQuiver( "q(0,1,2)[x:0->1,y:1->2,z:0->2]" ); FinQuiver( "q(0,1,2)[x:0-≻1,y:1-≻2,z:0-≻2]" ) gap> C := PathCategory( q ); PathCategory( FinQuiver( "q(0,1,2)[x:0-≻1,y:1-≻2,z:0-≻2]" ) ) gap> k := HomalgFieldOfRationals( ); Q gap> kC := k[C]; Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2)[x:0-≻1, y:1-≻2,z:0-≻2]" ) ) ) gap> A := kC / [ kC.xy - kC.z ]; Q-LinearClosure( PathCategory( FinQuiver( "q(0,1,2)[x:0-≻1, y:1-≻2,z:0-≻2]" ) ) ) / [ 1*x⋅y - 1*z ] gap> B := AlgebroidFromDataTables( A ); Q-algebroid( {0,1,2}[x:0-≻1,y:1-≻2,z:0-≻2] ) defined by 3 objects and 3 generating morphisms gap> IsAdmissibleAlgebroid( B ); false gap> q := FinQuiver( "q(o)[x:o->o,y:o->o]" ); FinQuiver( "q(o)[x:o-≻o,y:o-≻o]" ) gap> C := PathCategory( q ); PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o]" ) ) gap> kC := k[C]; Q-LinearClosure( PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o]" ) ) ) gap> A := kC / [ kC.xy - kC.yx, kC.x^3, kC.y^3 ]; Q-LinearClosure( PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o]" ) ) ) / [ -1*y⋅x + 1*x⋅y, 1*x^3, 1*y^3 ] gap> B := AlgebroidFromDataTables( A ); Q-algebroid( {o}[x:o-≻o,y:o-≻o] ) defined by 1 object and 2 generating morphisms gap> IsAdmissibleAlgebroid( B ); true gap> A := kC / [ kC.xy - kC.yx, kC.x^3 - kC.x, kC.y^3 ]; Q-LinearClosure( PathCategory( FinQuiver( "q(o)[x:o-≻o,y:o-≻o]" ) ) ) / [ -1*y⋅x + 1*x⋅y, 1*x^3 - 1*x, 1*y^3 ] gap> B := AlgebroidFromDataTables( A ); Q-algebroid( {o}[x:o-≻o,y:o-≻o] ) defined by 1 object and 2 generating morphisms gap> IsAdmissibleAlgebroid( B ); false
generated by GAPDoc2HTML