Can MAGMA compute Auslander-Reiten sequences in group algebras?

175 Views Asked by At

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( $<M>$ )

$\#$$\#$

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

$\#$$\#$$<M>$, 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