Given a finite dimensional local commutative algebra over a finite field $K$ and a finite dimensional module $M$. What is the fastest/best way to obtain all submodule from $M$ using a Computer algebra system like GAP/QPA? It might be also interesting to hear how you might do that by hand.
2 Answers
$\begingroup$
$\endgroup$
Here is how you can do it with QPA:
gap> A := NakayamaAlgebra(GF(3), [4]);
<GF(3)[<quiver with 1 vertices and 1 arrows>]/<two-sided ideal in <GF(3)[<quiver with 1 vertices and 1 arrows>]>, (1 generators)>>
gap> M := IndecProjectiveModules(A)[1];
<[ 4 ]>
gap> subs := AllSubmodulesOfModule(M);
[ [ <<[ 0 ]> ---> <[ 4 ]>> ], [ <<[ 1 ]> ---> <[ 4 ]>> ], [ <<[ 2 ]> ---> <[ 4 ]>> ], [ <<[ 3 ]> ---> <[ 4 ]>> ],
[ <<[ 4 ]> ---> <[ 4 ]>> ] ]
I hope that this is helpful.
Best regards, the QPA-team.
$\begingroup$
$\endgroup$
2
The generic method for submodules would be to write down a matrix representation and to use MeatAxe tools -- in GAP there is e.g. a function MTX.BasesSubmodules
. Since your algebra is commutative, there might be better ad-hoc methods, e.g. by looking at generalized eigenspaces of the generator matrices first, but I'm not aware of any turnkey implementation of such an approach.
-
$\begingroup$ Thanks. Can you give an example? For example using A:=NakayamaAlgebra([n],GF(3)) for n=3 or 4 from QPA. This gives $K[x]/(x^n)$ with K=GF(3) and as module the radical. $\endgroup$– MareCommented Sep 4, 2017 at 14:02
-
$\begingroup$ @Mare Sorry- I do not know how to use QPA $\endgroup$– ahulpkeCommented Sep 4, 2017 at 15:06