# Can MAGMA compute Auslander-Reiten sequences in group algebras?

I'd like to ask the following MAGMA question:

Given a non-projective $$kG$$-module $$M$$, where $$G$$ is a finite group and $$k$$ is a finite field whose characteristic divides $$|G|$$, can MAGMA compute the left and right almost split sequences of $$M$$?

$$\tau (M)$$ is easy, since $$\tau (M)\cong {\Omega} ^2(M)$$, but how to compute the middle terms?

Thanks for the help.

EDIT (12th August 2019):

Remark:

In the GAP-package qpa it is done in the following way, but I'm not yet familiar enough with MAGMA to do the transfer (characters following the symbol $$\#$$ denote a comment):

$$\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#$$

$$\#\#$$AlmostSplitSequence( $$$$ )

$$\#\#$$

$$\#\#$$This function finds the almost split sequence ending in the module

$$\#\#$$, if the module is indecomposable and not projective. It returns

$$\#\#$$fail, if the module is projective. The almost split sequence is

$$\#\#$$returned as a pair of maps, the monomorphism and the epimorphism.

$$\#\#$$The function assumes that the module is indecomposable, and

$$\#\#$$the range of the epimorphism is a module that is isomorphic to the

$$\#\#$$input, not necessarily identical.

$$\#\#$$

InstallMethod( AlmostSplitSequence,"for a PathAlgebraMatModule",
true, [ IsPathAlgebraMatModule ], 0, function( M )

local K, DTrM, f, g, PM, syzygy, G, H, Img1, zero,
genssyzygyDTrM, VsyzygyDTrM, Img, gensImg, VImg,
stop, test, ext, preimages, homvecs, dimsyz, dimDTrM,
EndDTrM, radEndDTrM, nonzeroext, temp, L, pos, i;


$$\#$$

$$\#$$ ToDo: Add test of input with respect to being indecomposable.

$$\#$$

K := LeftActingDomain(M);
if IsProjectiveModule(M) then
return fail;
else
DTrM := DTr(M);


$$\#$$

$$\#$$creating a short exact sequence 0 -> Syz(M) -> P(M) -> M -> 0

$$\#$$f: P(M) -> M, g: Syz(M) -> P(M)

$$\#$$

f := ProjectiveCover(M);
g := KernelInclusion(f);
PM := Source(f);
syzygy := Source(g);


$$\#$$

$$\#$$using Hom(-,DTrM) on the s.e.s. above

$$\#$$

G := HomOverAlgebra(PM,DTrM);
H := HomOverAlgebra(syzygy,DTrM);


$$\#$$

$$\#$$Making a vector space of Hom(Syz(M),DTrM)

$$\#$$by first rewriting the maps as vectors

$$\#$$

genssyzygyDTrM := List(H, x -> Flat(x!.maps));
VsyzygyDTrM := VectorSpace(K, genssyzygyDTrM);


$$\#$$

$$\#$$finding a basis for im(g*)

$$\#$$first, find a generating set of im(g*)

$$\#$$

Img1 := g*G;


$$\#$$

$$\#$$removing 0 maps by comparing to zero = Zeromap(syzygy,DTrM)

$$\#$$

zero := ZeroMapping(syzygy,DTrM);
Img := Filtered(Img1, x -> x <> zero);


$$\#$$

$$\#$$Rewriting the maps as vectors

$$\#$$

gensImg := List(Img, x -> Flat(x!.maps));


$$\#$$

$$\#$$Making a vector space of

$$\#$$

VImg := Subspace(VsyzygyDTrM, gensImg);


$$\#$$

$$\#$$Finding a non-zero element in Ext1(M,DTrM)

$$\#$$

i := 1;
stop := false;
repeat
test := Flat(H[i]!.maps) in VImg;
if test then
i := i + 1;
else
stop := true;
fi;
until stop;

nonzeroext := H[i];


$$\#$$

$$\#$$Finding the radical of End(DTrM)

$$\#$$

EndDTrM := EndOverAlgebra(DTrM);
radEndDTrM := RadicalOfAlgebra(EndDTrM);
radEndDTrM := List(BasisVectors(Basis(radEndDTrM)), x ->
FromEndMToHomMM(DTrM,x));


$$\#$$

$$\#$$Finding an element in the socle of Ext^1(M,DTrM)

$$\#$$

temp := nonzeroext;
L := List(temp*radEndDTrM, x -> Flat(x!.maps) in VImg);
while not ForAll(L, x -> x = true) do
pos := Position(L,false);
temp := temp*radEndDTrM[pos];
L := List(temp*radEndDTrM, x -> Flat(x!.maps) in VImg);
od;


$$\#$$

$$\#$$Constructing the almost split sequence in Ext^1(M,DTrM)

$$\#$$

ext := PushOut(g,temp);
return [ext[1],CoKernelProjection(ext[1])];

fi;
end
);


EDIT(9th April): I posted a similar question on MO: https://mathoverflow.net/questions/356800/can-magma-compute-almost-projective-kg-homomorphisms

• You do not need to do the $\#$ trick with the GAP code. Instead, blocks of code should be indented by 4 spaces. This may seem to be not very convenient, but you can first paste the code into some advanced text editor and indent it there by pressing only several keys, and then paste it into the question. Aug 12, 2019 at 21:45
• Can you remind me of the definition of $\Omega^2(M)$? Aug 14, 2019 at 14:06
• It is the second syzygy in a minimal projective resolution of $M$ Aug 14, 2019 at 16:44
• I think if you want help with this, you could provide a bit more background. You have not defined $\tau(M)$ for example. Can you write down Magma code to compute $\Omega^2(M)$? Aug 14, 2019 at 18:30
• Have you tried asking the MAGMA people by email yet? I've found they're very responsive. Oct 8, 2019 at 3:53