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.
 A: 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
`
