Goto Chapter: Top 1 2 3 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Algebroids from data tables
 1.1 Properties
 1.2 Attributes
 1.3 Operations
 1.4 Constructors
 1.5 GAP categories

1 Algebroids from data tables

1.1 Properties

1.1-1 IsAdmissibleAlgebroid
‣ IsAdmissibleAlgebroid( A, i )( property )

Returns: a list

The arguments are an algebroid A linear over a field k. This output is true iff the following two conditions hold: (1) the union of all identity morphisms and all generating morphism remain linear independent in the quotient category C/\mathfrak{m}^2; (2) \mathfrak{m}^i=0 for some i\in\mathbb{N}, where \mathfrak{m}^i=PowerOfArrowIdeal(A,i).

1.2 Attributes

1.2-1 IsQuotientCategoryOfFpAlgebroidFromDataTables
‣ IsQuotientCategoryOfFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of quotient categories of f.p. algebroids defined by data tables.

1.2-2 IsObjectInQuotientCategoryOfFpAlgebroidFromDataTables
‣ IsObjectInQuotientCategoryOfFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of objects in quotient categories of f.p. algebroids defined by data tables.

1.2-3 IsMorphismInQuotientCategoryOfFpAlgebroidFromDataTables
‣ IsMorphismInQuotientCategoryOfFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of morphisms in quotient categories of f.p. algebroids defined by data tables.

1.2-4 QuotientCategory
‣ QuotientCategory( A, I )( operation )

Returns: a record

The arguments are an algebroid A and a list I of morphisms in A. The output is the quotient category A/I of A modulo the two-sided ideal of morphisms generated by I.

1.2-5 CategoryDatum
‣ CategoryDatum( A )( attribute )

Returns: a record

The data tables used to define A.

1.2-6 BasesElements
‣ BasesElements( A )( attribute )

Returns: a list of lists

The argument is an algebroid A. The output is a list of lists L where L[i][j] is the basis of the external hom \mathrm{Hom}_B(u,v) where u and v are i'th resp. j'th objects in A.

1.2-7 DecompositionIndicesOfBasesElements
‣ DecompositionIndicesOfBasesElements( A )( attribute )

Returns: a list of lists

The argument is an algebroid A. The output is a list of lists L where L[i][j] is the decomposition indices of the basis elements of \mathrm{Hom}_B(u,v) where u and v are i'th resp. j'th objects in A. In other words, it is the third entry in the underlying defining data tables.

1.2-8 LabelsOfBasesElements
‣ LabelsOfBasesElements( A )( attribute )

Returns: a list of lists

The argument is an algebroid A. The output is a list of lists L where L[i][j] is the labels of the basis elements of \mathrm{Hom}_B(u,v) where u and v are i'th resp. j'th objects in A.

1.2-9 LaTeXStringsOfBasesElements
‣ LaTeXStringsOfBasesElements( A )( attribute )

Returns: a list of lists

The argument is an algebroid A. The output is a list of lists L where L[i][j] is the latex strings of the basis elements of \mathrm{Hom}_B(u,v) where u and v are i'th resp. j'th objects in A.

1.2-10 PowerOfArrowIdeal
‣ PowerOfArrowIdeal( A, i )( operation )

Returns: a list

The arguments are an algebroid A and a non-negative integer i. The output is a generating set for \mathfrak{m}^i where \mathfrak{m} is the ideal generated by all generating morphisms in A.

1.3 Operations

1.3-1 AssignSetOfObjects
‣ AssignSetOfObjects( A[, optional_string] )( operation )

Returns: nothing

The arguments are an algebroid A and a string optional_string. This operation assigns the objects of A to global variables. Names of the variables are the concatenation of the labels of the objects of A with optional_string. The default value of optional_string is the empty string.

1.3-2 AssignSetOfGeneratingMorphisms
‣ AssignSetOfGeneratingMorphisms( A[, optional_string] )( operation )

Returns: nothing

The arguments are an algebroid A and a string optional_string. This operation assigns the generating morphisms of A to global variables. Names of the variables are the concatenation of the labels of the generating morphisms of A with optional_string. The default value of optional_string is the empty string.

1.3-3 ObjectIndex
‣ ObjectIndex( v )( attribute )

Returns: an integer

The argument is an object v in an algebroid A. The output is the index of v in SetOfObjects(A).

1.3-4 CoefficientsList
‣ CoefficientsList( alpha )( attribute )

Returns: a CAP category morphism

The argument is a morphism alpha in an algebroid A. The output is the list of coefficients of alpha with respect to the basis of external hom \mathrm{Hom}_B(u,v) where u and v are source resp. target of alpha.

1.3-5 IndicesOfSupportMorphisms
‣ IndicesOfSupportMorphisms( alpha )( attribute )

Returns: a CAP category morphism

The argument is a morphism alpha in an algebroid A. The output is the indices of the non-zero entries of CoefficientsList(alpha).

1.3-6 CoefficientsOfSupportMorphisms
‣ CoefficientsOfSupportMorphisms( alpha )( attribute )

Returns: a CAP category morphism

The argument is a morphism alpha in an algebroid A. The output is the list of elements in CoefficientsList(alpha) that correspond to IndicesOfSupportMorphisms(alpha).

1.3-7 SupportMorphisms
‣ SupportMorphisms( alpha )( attribute )

Returns: a CAP category morphism

The argument is a morphism alpha from u to v in an algebroid A. The output is the list of elements in BasisOfExternalHom(u,v) that correspond to IndicesOfSupportMorphisms(alpha).

1.3-8 DecompositionOfMorphismInAlgebroid
‣ DecompositionOfMorphismInAlgebroid( alpha )( attribute )

Returns: a list of pairs

The argument is a morphism alpha in an algebroid A (over a commutative ring k). The output is a list of pairs L=[[c_1,l_1],..,[c_n,l_n]] where for each i=1,\dots,n, c_i is a non-zero element in k and l_i is either a list containing an identity morphism or a list of (precomposable) generating morphisms such that alpha = c_1\cdot\mathrm{PreCompose}(l_1)+..+c_n\cdot\mathrm{PreCompose}(l_n).

1.3-9 DecompositionIndicesOfMorphismInAlgebroid
‣ DecompositionIndicesOfMorphismInAlgebroid( alpha )( attribute )

Returns: a list of pairs

The argument is a morphism alpha in an algebroid A (over a commutative ring k). The output is a list of pairs L=[[c_1,l_1],..,[c_n,l_n]] where for each i=1,\dots,n, c_i is a non-zero element in k and l_i is either the empty-list or a list of indices of (precomposable) generating morphisms. The output can be used to compute DecompositionOfMorphismInAlgebroid(alpha).

1.3-10 TensorProductOfAlgebroids
‣ TensorProductOfAlgebroids( A, B )( operation )

Returns: a CAP category

The arguments are two algebroids A and B. The output is the tensor product algebroid A\otimesB.

1.3-11 \*
‣ \*( A, B )( operation )

Returns: a CAP category

Delegates to TensorProductOfAlgebroids(A,B).

1.3-12 ElementaryTensor
‣ ElementaryTensor( a, b, T )( operation )

Returns: a CAP category object

The arguments are two objects a, b and a tensor product algebroid T=A\otimes B where a and b belong to A resp. B. The output is the object a\otimes b in T.

1.3-13 ElementaryTensor
‣ ElementaryTensor( f, g, T )( operation )

Returns: a CAP category morphism

The arguments are two morphisms f, g and a tensor product algebroid T=A\otimes B where f and g belong to A resp. B. The output is the morphism f\otimes g in T.

1.4 Constructors

1.4-1 AlgebroidFromDataTables
‣ AlgebroidFromDataTables( data_tables )( operation )

Returns: a CAP category

Construct an enrichted algebroid A out of the data_tables consisting of 6 entries:

gap> LoadPackage( "FpLinearCategories", 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> F := 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> k := HomalgFieldOfRationals( );;
gap> kF := k[F];
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> B := kF / [ kF.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> data_tables := DataTablesOfLinearCategory( B );;
gap> IsIdenticalObj( data_tables[1], CommutativeSemiringOfLinearCategory( B ) );
true
gap> data_tables[2];
FinQuiver( "q(0,1,2,3)[a:0→1,b:1→3,c:0→2,d:2→3,e:3→3]" )
gap> Perform( data_tables[3], Display );
[ [ [  ] ], [ [ 1 ] ], [ [ 3 ] ], [ [ 1, 2 ], [ 3, 4 ], [ 1, 2, 5 ], [ 3, 4, 5 ], [ 1, 2, 5, 5 ], [ 3, 4, 5, 5 ] ] ]
[ [  ], [ [  ] ], [  ], [ [ 2 ], [ 2, 5 ], [ 2, 5, 5 ] ] ]
[ [  ], [  ], [ [  ] ], [ [ 4 ], [ 4, 5 ], [ 4, 5, 5 ] ] ]
[ [  ], [  ], [  ], [ [  ], [ 5 ], [ 5, 5 ] ] ]
gap> Perform( data_tables[4], Display );
[ [ [ 1 ] ], [ [ 1, 0, 0, 0, 0, 0 ] ], [ [ 1 ] ], [ [ 0, 1, 0, 0, 0, 0 ] ],
  [ [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ],
    [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ] ] ]
[ [  ], [ [ 1, 0, 0 ] ], [  ], [  ], [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] ]
[ [  ], [  ], [  ], [ [ 1, 0, 0 ] ], [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] ]
[ [  ], [  ], [  ], [  ], [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ] ]
gap> A := AlgebroidFromDataTables( data_tables );
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> Perform( SetOfObjects( A ), Display );
<(0)>
<(1)>
<(2)>
<(3)>
gap> A.("0");
<(0)>
gap> ObjectConstructor( A, 1 ) = A.("0");
true
gap> Perform( SetOfGeneratingMorphisms( A ), Display );
<1*a:(0) → (1)>
<1*b:(1) → (3)>
<1*c:(0) → (2)>
<1*d:(2) → (3)>
<1*e:(3) → (3)>
gap> HomStructure( A.("0"), A.("3") );
<A row module over Q of rank 6>
gap> hom_03 := BasisOfExternalHom( A.("0"), A.("3") );;
gap> Perform( hom_03, Display );
<1*a⋅b:(0) → (3)>
<1*c⋅d:(0) → (3)>
<1*a⋅b⋅e:(0) → (3)>
<1*c⋅d⋅e:(0) → (3)>
<1*a⋅b⋅e^2:(0) → (3)>
<1*c⋅d⋅e^2:(0) → (3)>
gap> alpha := 2*hom_03[1] + 3*hom_03[6];
<2*a⋅b + 3*c⋅d⋅e^2:(0) → (3)>
gap> alpha = MorphismConstructor( A, A.("0"), [ 2, 0, 0, 0, 0, 3 ], A.("3") );
true
gap> Display( CoefficientsList( alpha ) );
[ 2, 0, 0, 0, 0, 3 ]
gap> Display( IndicesOfSupportMorphisms( alpha ) );
[ 1, 6 ]
gap> Display( CoefficientsOfSupportMorphisms( alpha ) );
[ 2, 3 ]
gap> Perform( SupportMorphisms( alpha ), Display );
<1*a⋅b:(0) → (3)>
<1*c⋅d⋅e^2:(0) → (3)>
gap> Display( DecompositionIndicesOfMorphismInAlgebroid( alpha ) );
[ [ 2, [ 1, 2 ] ], [ 3, [ 3, 4, 5, 5 ] ] ]
gap> d := DecompositionOfMorphismInAlgebroid( alpha );;
gap> d[1][1];
2
gap> Perform( d[1][2], Display );
<1*a:(0) → (1)>
<1*b:(1) → (3)>
gap> d[2][1];
3
gap> Perform( d[2][2], Display );
<1*c:(0) → (2)>
<1*d:(2) → (3)>
<1*e:(3) → (3)>
<1*e:(3) → (3)>
gap> A.("a⋅b⋅e");
<1*a⋅b⋅e:(0) → (3)>
gap> A.("abe");
<1*a⋅b⋅e:(0) → (3)>
gap> PreCompose( A.("a"), A.("b") ) = A.("ab");
true
gap> add_A := AdditiveClosure( A );
AdditiveClosure( 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> o1 :=  RandomObject( add_A, [ [ 5 ], [ 1 ] ] );;
gap> o2 :=  RandomObject( add_A, [ [ 5 ], [ 1 ] ] );;
gap> f := RandomMorphism( o1, o2, 20 );;
gap> HomStructure( o1, o2, HomStructure( f ) ) = f;
true
gap> IsZeroForMorphisms( PreCompose( f, WeakCokernelProjection( f ) ) );
true
gap> IsZeroForMorphisms( PreCompose( WeakKernelEmbedding( f ), f ) );
true
gap> freyd_B := FreydCategory( add_A );
Freyd( AdditiveClosure( 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> IsAbelianCategory( freyd_B );
true
gap> A_op := OppositeOfObjectFiniteCategory( A );
Q-algebroid( {0,1,2,3}[a:1→0,b:3→1,c:2→0,d:3→2,e:3→3] ) defined by
4 objects and 5 generating morphisms
gap> A_op.("ba");
<1*b⋅a:(3) → (0)>
gap> T := DirectSum( List( SetOfObjects( A ), o -> o / add_A ) );
<An object in AdditiveClosure( 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 ) defined
by 4 underlying objects>
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> AA := TensorProductOfAlgebroids( A, A );
Q-algebroid( {0⊗0,0⊗1,0⊗2,..,3⊗1,3⊗2,3⊗3}[0⊗a:0⊗0→0⊗1,0⊗b:0⊗1→0⊗3,
0⊗c:0⊗0→0⊗2,..,e⊗1:3⊗1→3⊗1,e⊗2:3⊗2→3⊗2,e⊗3:3⊗3→3⊗3] ) defined
by 16 objects and 40 generating morphisms
gap> ElementaryTensor( A.("0"), A.("1") );
<(0⊗1)>
gap> ElementaryTensor( A.("a"), A.("b") );
<1*a⊗b:(0⊗1) → (1⊗3)>
gap> ElementaryTensor( A.("0"), A.("b") );
<1*id(0)⊗b:(0⊗1) → (0⊗3)>
gap> ElementaryTensor( A.("a"), A.("1") );
<1*a⊗id(1):(0⊗1) → (1⊗1)>
gap> o := AA.("3⊗3");
<(3⊗3)>
gap> AA.("e⊗1");
<1*e⊗id(1):(3⊗1) → (3⊗1)>
gap> u := RandomMorphism( o, o, 15 );;
gap> v := RandomMorphism( o, o, 15 );;
gap> w := RandomMorphism( o, o, 15 );;
gap> HomStructure( PreCompose( [ u, v, w ] ) ) = PreCompose( HomStructure( v ), HomStructure( u, w ) );
true

1.4-2 DataTablesOfLinearCategory
‣ DataTablesOfLinearCategory( A )( attribute )

Returns: a list

Returns the 6-tuple data tables of a linear category. The output can be passed to the constructor AlgebroidFromDataTables. The 6th entry is true or false if HasIsAdmissibleAlgebroid holds for the category, and fail otherwise.

1.5 GAP categories

1.5-1 IsFpAlgebroid
‣ IsFpAlgebroid( arg )( category )

Returns: true or false

The GAP category of f.p. algebroids.

1.5-2 IsCellInFpAlgebroid
‣ IsCellInFpAlgebroid( arg )( category )

Returns: true or false

The GAP category of cells in an f.p. algebroid.

1.5-3 IsObjectInFpAlgebroid
‣ IsObjectInFpAlgebroid( arg )( category )

Returns: true or false

The GAP category of objects in an f.p. algebroid.

1.5-4 IsMorphismInFpAlgebroid
‣ IsMorphismInFpAlgebroid( arg )( category )

Returns: true or false

The GAP category of morphisms in an f.p. algebroid.

1.5-5 IsFpAlgebroidFromDataTables
‣ IsFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of f.p. algebroids defined by data tables.

1.5-6 IsObjectInFpAlgebroidFromDataTables
‣ IsObjectInFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of objects in an f.p. algebroid defined by data tables.

1.5-7 IsMorphismInFpAlgebroidFromDataTables
‣ IsMorphismInFpAlgebroidFromDataTables( arg )( category )

Returns: true or false

The GAP category of morphisms in an f.p. algebroid defined by data tables.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 Ind

generated by GAPDoc2HTML