# Finding all $d$-dimensional indecomposable representations

Given a connected quiver algebra $$A$$ over a finite field $$K$$.

Question : Is there an effective/quick method to obtain all $$d$$-dimensional indecomposable representations for a fixed $$d$$ with a computer algebra system such as the GAP package QPA?

Now this is implemented in QPA version 1. There is an error above, one needs to consider both ExtOverAlgebra(S[i],iso[j]) and ExtOverAlgebra(iso[j],S[i]) in order to get all modules of the given length. It looks like this in QPA:

gap> A := KroneckerAlgebra(GF(3),2);;
gap> AllModulesOfLengthAtMost( A, 4 );
[ <[ 0, 0 ]>, <[ 1, 0 ]>, <[ 0, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>,
<[ 1, 1 ]>, <[ 1, 1 ]>, <[ 2, 1 ]>, <[ 2, 1 ]>, <[ 2, 1 ]>, <[ 2, 1 ]>,
<[ 2, 1 ]>, <[ 2, 1 ]>, <[ 1, 2 ]>, <[ 1, 2 ]>, <[ 1, 2 ]>, <[ 1, 2 ]>,
<[ 1, 2 ]>, <[ 1, 2 ]>, <[ 3, 1 ]>, <[ 3, 1 ]>, <[ 3, 1 ]>, <[ 3, 1 ]>,
<[ 3, 1 ]>, <[ 2, 2 ]>, <[ 3, 1 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>,
<[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>,
<[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>,
<[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>,
<[ 2, 2 ]>, <[ 2, 2 ]>, <[ 1, 3 ]>, <[ 1, 3 ]>, <[ 1, 3 ]>, <[ 1, 3 ]>,
<[ 1, 3 ]>, <[ 1, 3 ]> ]
gap> AllIndecModulesOfLengthAtMost( A, 4 );
[ <[ 1, 0 ]>, <[ 0, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>,
<[ 2, 1 ]>, <[ 1, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]>,
<[ 2, 2 ]>, <[ 2, 2 ]>, <[ 2, 2 ]> ]


The first one finds all non-isomorphic modules of length at most 4, and the second one finds all non-isomorphic indecomposable modules of length at most 4.

Best regards, the QPA-team.

I don't know if it would be quick, but you can inductively construct all modules of dimension $$d$$ using QPA. First you can construct all modules of dimension $$2$$, then all modules of dimension $$3$$, and so on. The command ExtOverAlgebra(S[i],S[j]) would compute a basis for all the extensions between the different simple modules S[i] and S[j]. The basis vectors are maps from the first syzygy of S[i] to S[j]. Taking all linear combinations of these and then taking the pushout along the inclusion of the first syzygy of S[i] to the projective cover of S[i], would produce all modules of dimension $$2$$. It would possibly be a lot of duplicates on this list of modules, but those can be first reduced by applying the command Unique(list) and then doing actually isomorphism test with the command IsomorphicModules.

For the Kronecker algebra over a field of three elements it would look like something like this:

gap> A := KroneckerAlgebra(GF(3),2);;
gap> S := SimpleModules(A);;
gap> len2 := List( [1..2], i -> List( [1..2], j -> ExtOverAlgebra(S[i],S[j])));;
gap> len2[1][1];len2[2][1];len2[2][2];
[ [  ], [  ], [  ] ]
[ [  ], [  ], [  ] ]
[ [  ], [  ], [  ] ]
gap> len2 := len2[1][2];
[ <<[ 0, 2 ]> ---> <[ 1, 2 ]>>, [ <<[ 0, 2 ]> ---> <[ 0, 1 ]>>, <<[ 0, 2 ]> ---> <[ 0, 1 ]>> ], function( map ) ... end ]
gap> test := [];
[  ]
gap> for a in Elements(GF(3)) do for b in Elements(GF(3)) do Add(test, a*len2[2][1] + b*len2[2][2]); od; od;
gap> temp := List( test, t -> Range(PushOut(t,len2[1])[2]));
[ <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]> ]
gap> temp := Unique(temp);
[ <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]>, <[ 1, 1 ]> ]
gap> iso := [];;
gap> for i in [1..5] do for j in [i+1..5] do Add(iso, [i,j,IsomorphicModules( temp[i], temp[j])]); od;od;
gap> iso;
[ [ 1, 2, false ], [ 1, 3, false ], [ 1, 4, false ], [ 1, 5, false ], [ 2, 3, false ], [ 2, 4, false ], [ 2, 5, false ], [ 3, 4, false ], [ 3, 5, false ],
[ 4, 5, false ] ]


The variable iso now contain all the five non-isomorphic modules of dimension $$2$$. Repeating the above procedure for all elements on the list iso and each simple, that is, do ExtOverAlgebra(S[i], iso[j]) for all $$i$$ and $$j$$, constructing all extensions: Then you would have a list of all modules of length $$3$$, and so on.