In the implementation the algebra is given as the sequence of projective modules P_1, ..., P_s together with a path tree for each module. The projective module consists of a matrix for each generator a_1, a_2, ..., a_t giving the action of the generator on the vector space of the module. The basis b_1, b_2, ..., b_n for the vector space of P_i is chosen so that each basis element is the image of a basis element of lower index under multiplication by a nonidempotent generator of A. The structure of the basis is recorded in the path tree which is a sequence [<1, i>, <j, k>, ... ] of 2-tuples of length n = Dimension(P_i). The first entry <1, i> indicates that b_1 = b_1 * a_i where a_i is the primitive idempotent in the algebra A such that P_i = A.a_i. Similarly, if entry number k in the path tree is < u, v > then b_k = b_u * a_v where v > s if k > 1.
Given a sequence [Q_i, ..., Q_s] of 2-tuples such that each Q_i = M_i, T_i consisting of a module for a matrix algebra M_i and a path tree T_i for M_i, the function creates the basic algebra whose projective modules are the first entries M_1, ..., M_s and the path trees are the corresponding second entries.
Given a finite p-group G and a field k of characteristic p, returns the group algebra kG in the form of a basic algebra.
Creates a basic algebra from a minimal set of relations. The input is a free algebra F, the number s of idempotents in the basic algebra, a sequence L = [ell_1, ell_2, ..., ell_(t - s)] of the right and left idempotents corresponding to the nonidempotent generators of the algebra and a list R of relations. If the free algebra F is generated by elements a_1, ..., a_t, the function assumes that a_1, ..., a_s are the mutually orthogonal primitive idempotents and it creates all of the appropriate relations including a_1 + ... + a_s = 1. The nonidempotent generators are then a_(s + 1), ..., a_t. So ell_k = < i, j > for i, j <= s means that a_(s + k) = a_i * a_(s + k) * a_j. Each of the relations in R is given as a linear combination of words in the nonidempotent generators a_(s + 1), ..., a_t in F.
The tensor product of the basic algebras A and B.
The number of nonisomorphic indecomposable projective modules in the basic algebra A.
The i^(th) element in the standard basis for the underlying vector space of the algebra B.
Given an algebra B over a field k the function returns k.
The underlying k-vector space of the algebra B. The space is the direct sum of the underlying vector space of the indecomposable projective modules.
The dimension of the underlying vector space of the algebra B.
A basis of the underlying vector space of the algebra B.
The generators of the algebra A as a sequence of elements in the underlying vector space of the algebra B.
The sequence of mutually orthogonal idempotent generators of the basic algebra B as elements in the underlying vector space of B.
The sequence N = [n_1, ..., n_s] such that B.n_1, ..., B.n_s are the mutually orthogonal idempotent generators of the algebra B.
The sequence of nonidempotent generators of the basic algebra B as elements in the underlying vector space of the algebra B.
A random element of the algebra B as an element of the underlying vector space of B.
The number of generators (idempotent and nonidempotent) generators of the basic algebra B.
The sequence of the dimensions of the projective modules of the basic algebra B.
The sequence of the dimensions of the injective modules of the basic algebra B.
The sum of the two elements a and b.
The product of the two elements a and b.
The n^(th) power of the element a.
> ff := GF(7); > FF:= FreeMonoid(6); > FA<e1,e2,e3,a,b,c> := FreeAlgebra(ff,FF); > rrr := [a*b*a*b*a*b]; > D := BasicAlgebra(FA,3,[<1,2>,<2,1>,<2,3>],rrr); > D; Basic algebra of dimension 21 over GF(7) Number of projective modules: 3 Number of generators: 6 > DimensionsOfProjectiveModules(D); [ 9, 11, 1 ] > DimensionsOfInjectiveModules(D); [ 6, 7, 8 ]
So we can see that the algebra is not self-injective.
Now we can check the nilpotence degree of the radical of cs D. The radical of cs{D} is generated by the nonidempotent generators.
> S := NonIdempotentGenerators(D); > S; [ (0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0), (0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0), (0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0) ] > S2 := [x*y:x in S, y in S|x*y ne 0]; > #S2; 3 > S3 := [x*y:x in S2, y in S|x*y ne 0]; > #S3; 3 > S4 := [x*y:x in S3, y in S|x*y ne 0]; > #S4; 3 > S5 := [x*y:x in S4, y in S|x*y ne 0]; > #S5; 3 > S6 := [x*y:x in S5, y in S|x*y ne 0]; > #S6; 2 > S7 := [x*y:x in S6, y in S|x*y ne 0]; > #S7; 1 > S8 := [x*y:x in S7, y in S|x*y ne 0]; > #S8; 0
> FF := FreeMonoid(4); > FA<e1,e2,a,b> := FreeAlgebra(GF(3),FF); > MM:= [e1 +e2 - FA!1, a*b*a, b*a*b]; > BS3 := BasicAlgebra(FA, 2, [<1,2>,<2,1>],MM); > > BS3; Basic algebra of dimension 6 over GF(3) Number of projective modules: 2 Number of generators: 4 > DimensionsOfProjectiveModules(BS3); [ 3, 3 ]Next we create the basic algebra for the cyclic group of order 3.
> gg := CyclicGroup(3); > BC3 := BasicAlgebra(gg,GF(3)); > > BC3; Basic algebra of dimension 3 over GF(3) Number of projective modules: 1 Number of generators: 2
We create the basic algebra for the direct product C_3 x S_3.
> A := TensorProduct(BS3,BC3); > A; Basic algebra of dimension 18 over GF(3) Number of projective modules: 2 Number of generators: 6 > > DimensionsOfProjectiveModules(A); [ 9, 9 ]
> ff := GF(2); > MM6 := MatrixAlgebra(ff,6); > e11 := MM6!0; > e12 := MM6!0; > VV6 := VectorSpace(GF(2),6); > BB6 := Basis(VV6); > e11[1] := BB6[1]; > e11[3] := BB6[3]; > e11[4] := BB6[4]; > e11[6] := BB6[6]; > e12[2] := BB6[2]; > e12[5] := BB6[5]; > a1 := MM6!0; > b1 := MM6!0; > c1 := MM6!0; > d1 := MM6!0; > a1[1] := BB6[2]; > b1[1] := BB6[3]; > c1[2] := BB6[4]; > a1[3] := BB6[5]; > b1[4] := BB6[6]; > c1[5] := BB6[6]; > A1 := sub< MM6 | [e11, e12, a1, b1, c1, d1] >; > T1 := [ <1,1>, <1,3>, <1,4>, <2,5>, <3,3>, <4,4>]; > > VV5 := VectorSpace(ff,5); > BB5 := Basis(VV5); > MM5 := MatrixAlgebra(ff,5); > e21 := MM5!0; > e22 := MM5!0; > e22[1] := BB5[1]; > e22[3] := BB5[3]; > e22[5] := BB5[5]; > e21[2] := BB5[2]; > e21[4] := BB5[4]; > a2 := MM5!0; > b2 := MM5!0; > c2 := MM5!0; > d2 := MM5!0; > f2 := MM5!0; > g2 := MM5!0; > c2[1] := BB5[2]; > d2[1] := BB5[3]; > b2[2] := BB5[4]; > d2[3] := BB5[5]; > a2[4] := BB5[5]; > A2 := sub< MM5 | [e21, e22, a2, b2, c2, d2] >; > T2 := [<1,2>, <1,5>, <1,6>, <2,4>, <3,6>]; > > C := BasicAlgebra( [<A1, T1>, <A2, T2>] ); > C; Basic algebra of dimension 11 over GF(2) Number of projective modules: 2 Number of generators: 6 > DimensionsOfProjectiveModules(C); [ 6, 5 ] > DimensionsOfInjectiveModules(C); [ 6, 5 ]