1.3-11 \*
‣ 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).
‣ IsQuotientCategoryOfFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of quotient categories of f.p. algebroids defined by data tables.
‣ IsObjectInQuotientCategoryOfFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of objects in quotient categories of f.p. algebroids defined by data tables.
‣ IsMorphismInQuotientCategoryOfFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of morphisms in quotient categories of f.p. algebroids defined by data tables.
‣ 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.
‣ CategoryDatum( A ) | ( attribute ) |
Returns: a record
The data tables used to define A.
‣ 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.
‣ 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.
‣ 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.
‣ 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.
‣ 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.
‣ 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.
‣ 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.
‣ 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).
‣ 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.
‣ 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).
‣ 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).
‣ 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).
‣ 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).
‣ 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).
‣ 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).
‣ 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.
‣ 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.
‣ AlgebroidFromDataTables( data_tables ) | ( operation ) |
Returns: a CAP category
Construct an enrichted algebroid A out of the data_tables consisting of 6 entries:
data_tables[1] is the commutative ring k over which A is linear.
data_tables[2] is the underlying quiver or a string that can be used to constructe a CAP quiver. Suppose the number of objects is nr_objs and the number of morphisms is nr_mors.
data_tables[3]: an array L containing nr_objs rows and nr_objs columns. The entry L[i][j] is the list of the indices of the basis elements of \mathrm{Hom}_{A}(v_i,v_j) where v_i and v_j are the i'th resp. j'th objects.
data_tables[4]: an array L containing nr_objs rows and nr_mors columns. The entry L[i][j] contains the matrices of the k-linear maps \mathrm{Hom}_{A}(v_i,m_j) where u_i and m_j are the i'th object and the j'th generating morphism.
data_tables[5]: an array L containing nr_objs rows and nr_mors columns. The entry L[i][j] contains the matrices of the k-linear maps \mathrm{Hom}_{A}(m_j,v_i) where u_i and m_j are the i'th object and the j'th generating morphism.
data_tables[6]: true or false if the admissibility of the algebroid is known, and fail otherwise. When not fail, this value is used to set the property IsAdmissibleAlgebroid on the resulting algebroid.
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
‣ 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.
‣ IsFpAlgebroid( arg ) | ( category ) |
Returns: true or false
The GAP category of f.p. algebroids.
‣ IsCellInFpAlgebroid( arg ) | ( category ) |
Returns: true or false
The GAP category of cells in an f.p. algebroid.
‣ IsObjectInFpAlgebroid( arg ) | ( category ) |
Returns: true or false
The GAP category of objects in an f.p. algebroid.
‣ IsMorphismInFpAlgebroid( arg ) | ( category ) |
Returns: true or false
The GAP category of morphisms in an f.p. algebroid.
‣ IsFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of f.p. algebroids defined by data tables.
‣ IsObjectInFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of objects in an f.p. algebroid defined by data tables.
‣ IsMorphismInFpAlgebroidFromDataTables( arg ) | ( category ) |
Returns: true or false
The GAP category of morphisms in an f.p. algebroid defined by data tables.
generated by GAPDoc2HTML