[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Basic Algebras

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.

Subsections

Creation

BasicAlgebra(Q) : SeqEnum[Tup] -> AlgBas
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.
BasicAlgebra(G, k) : GrpPerm, FldFin -> AlgBas
BasicAlgebra(G, k) : GrpPC, FldFin -> AlgBas
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.
BasicAlgebra(FA, N, LR, R) : AlgFP, RngIntElt, SeqEnum, SeqEnum -> AlgBas
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.
TensorProduct(A, B) : AlgBas, AlgBas-> AlgBas
The tensor product of the basic algebras A and B.

Access Functions

NumberOfProjectives(A) : AlgBas -> RngIntElt
The number of nonisomorphic indecomposable projective modules in the basic algebra A.
B . i : AlgBas, RngIntElt -> AlgBasElt
The i^(th) element in the standard basis for the underlying vector space of the algebra B.
BaseRing(B) : AlgBas -> Rng
CoefficientRing(B) : AlgBas -> Rng
Given an algebra B over a field k the function returns k.
VectorSpace(B) : AlgBas -> ModTupFld
KSpace(B) : AlgBas -> ModTupFld
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.
Dimension(B) : AlgBas -> RngIntElt
The dimension of the underlying vector space of the algebra B.
Basis(B) : AlgBas -> SeqEnum
A basis of the underlying vector space of the algebra B.
Generators(B) : AlgBas -> SeqEnum
The generators of the algebra A as a sequence of elements in the underlying vector space of the algebra B.

IdempotentGenerators(B) : AlgBas -> SeqEnum
The sequence of mutually orthogonal idempotent generators of the basic algebra B as elements in the underlying vector space of B.
IdempotentPositions(B) : AlgBas -> SeqEnum
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.
NonIdempotentGenerators(B) : AlgBas -> SeqEnum
The sequence of nonidempotent generators of the basic algebra B as elements in the underlying vector space of the algebra B.
Random(B) : AlgBas -> AlgBasElt
A random element of the algebra B as an element of the underlying vector space of B.
NumberOfGenerators(B) : AlgBas -> RngIntElt
Ngens(B) : AlgBas -> RngIntElt
The number of generators (idempotent and nonidempotent) generators of the basic algebra B.
DimensionsOfProjectiveModules(B) : AlgBas -> SeqEnum
The sequence of the dimensions of the projective modules of the basic algebra B.
DimensionsOfInjectiveModules(B) : AlgBas -> SeqEnum
The sequence of the dimensions of the injective modules of the basic algebra B.

Elementary Operations

a + b : AlgBasElt, AlgBasElt -> AlgBasElt
The sum of the two elements a and b.
a * b : AlgBasElt, AlgBasElt -> AlgBasElt
The product of the two elements a and b.
a ^ n : AlgBasElt, RngIntElt -> AlgBasElt
The n^(th) power of the element a.

Example AlgBas_BasicAlgebras (H76E1)

(1)
We create the basic algebra of the quiver with three nodes and three arrows over the field with 7 elements. The first arrow (cs a) goes from node 1 to node 2, the second (cs b) from node 2 to node 1, and (cs c) from node 2 to node 3. The arrows satisfy the relation that (cs a * cs b)^3 = 0.

> 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
(2)
First we create the basic algebra for the symmetric group S_3 over the field GF(3)

> 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 ]
(3)
We create the basic algebra for A_4 over a field with 2 elements. The group algebra has two nonisomorphic projective modules. We define the basic algebra by constructing the matrix algebra for the projective modules and the path trees and entering this data into the BasicAlgebra function.

Note that the matrices are sparse so we will define them by specifying the nonzero rows.

> 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 ]


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]