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

14 Quotient categories of algebroids from data tables using presheaves categories
 14.1 Attributes

14 Quotient categories of algebroids from data tables using presheaves categories

14.1 Attributes

14.1-1 AlgebroidAsObjectInPreSheavesCategory
‣ 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}.

14.1-2 AssociatedMorphismIntoAlgebroidAsObjectInPreSheavesCategory
‣ 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
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Ind

generated by GAPDoc2HTML