# Is there a computer programm or CAS (maybe GAP?) that can calculate with projective (indecomposable) A-modules (A is a finite dimensional k-algebra)?

I have the following question(s):

I have an "Algebra-With-One" $R$ as a subalgebra of a full matrix algebra in GAP.

Furthermore, I have 5 primitive orthogonal idempotents $e_1,...,e_5$, which sum up to $1_R$ (the identity matrix).

I would like to compute the projective indecomposable modules $P_1=e_1R,...,P_5=e_5R$ with GAP (or another computer programm (e.g. SAGE) which can handle with algebras and modules and maybe even the GAP data (e.g. the algebra R) I have produced so far)

and then I would like to test, whether $P_i$ and $P_j$ are isomorphic as $R$-modules for $i\neq j$.

I also would like to compute the algebras $e_i R e_j$ for all $i$ and $j$.

I can access the generators (as matrices) of the algebra $R$ and I know $e_i=...$ (as matrices).

Is GAP or any other freely available computer program able to calculate with these things (projective R-modules, etc.)?

Thank you very much.

• If you can rephrase your problem in terms of basic algebras, the calculations become significantly easier (and magma has nice methods for them). Otherwise in GAP you are basically looking at the meataxe which can have trouble if the simple modules have large dimension (typical finite groups can have simple modules with dimensions in the thousands, but the routines are already slow in the low hundreds). – Jack Schmidt Aug 9 '13 at 16:36
• Thank you very much for your comment. I knew that GAP can do these things with meataxe for group algebras, but I unfortunately don't know, how to let GAP calculate these things (for example to compute $P_1$ and $P_2$ and test, whether they are isomorphic or not) for matrix algebras. I, therefore, would be very thankful, if you could give me a small example, which shows, how to do this. – Bernhard Boehmler Aug 12 '13 at 23:54

GAP's meataxe works with finite dimensional $k[G]$-modules for finite groups $G$ and finite fields $k$. However, the way you specify these modules $V$ does not actually keep track of $G$, only of the image of a generating set of $G$ in $\operatorname{Aut}_k(V) = \operatorname{GL}(V)$.

Conversely given any finite field $k$, finite dimensional $k$-vector space $V$, and matrices $g_i \in \operatorname{GL}(V)$, we can define a finite group $G=\langle g_i \rangle$ and $k[G]$-module $V$, such that the images of its generators in $\operatorname{GL}(V)$ are precisely the $g_i$.

Every $n$-dimensional $k$-algebra $A$ with one for $n < |k|$ is generated by invertible matrices, and so is a $k[G]$ module for $G=A^\times$.

If your field is infinite, or if you just happen to be studying some sort of very diagonal algebra over a small field, then the meataxe does not apply, but for most $k$-algebras, $k$ finite, the meataxe should be ok.

Given a generating set X of $A$ consisting of invertible matrices over the field k, just use m:=GModuleByMats(X,k);.

The projective indecomposables are given by SMTX.Indecomposition(m) and to check if two projective indecomposables are isomorphic it suffices to check their heads,


gap> h1 := SMTX.InducedActionFactorModule( m1, SMTX.BasisRadical( m1 ) );;
gap> h2 := SMTX.InducedActionFactorModule( m2, SMTX.BasisRadical( m2 ) );;
gap> m1_iso_m2 := SMTX.Isomorphism( h1, h2 ) <> fail;
true


If you really want GAP to try harder, you can ask it to find isomorphisms between the actual modules too:


gap> m1_iso_m2 := SMTX.Isomorphism( m1, m2 ) <> fail;
true

• I think the only non-invertible generators I have ever used have had minimal polynomial dividing $x^n(x-1)^m$ so that (over a field of characteristic not 2), either $a_i$ or $a_i + a_i^0$ is always invertible. The general idea is to let $z$ be a non-eigenvalue and then $a_i - z a_i^0$ is invertible. If the field is so small that $a_i$ has every element as an eigenvalue, then my simple ideas don't work and sometimes the algebra really is not the image of a group algebra (so no choice of $g_i$ is possible). – Jack Schmidt Aug 14 '13 at 20:56