[GAP Forum] Question concerning the GAP package qpa and injective modules of quotients of path algebras

Oeyvind Solberg oyvind.solberg at math.ntnu.no
Mon Nov 4 07:46:34 GMT 2013


Bernhard Boehmler <bernhard.boehmler at ...> writes:

> 
> Dear GAP forum,
> 
>  I would like to test with the qpa package (qpa=quivers and path algebras),
> whether a projective A-module is isomorphic to the dual of another
> projective module (as modules).
> 
>  Here, A=kQ/I is a quotient of a path algebra by an admissible ideal I.
> 
>  I have projective A-modules P_1 and P_2 and its dual
> I_2:=DualOfModule(P_2), but
> 
>  when I use the command IsomorphicModules(P_1,I_2), I get an error massage,
> because I_2 is not an A-module, but an A^op – module.
> 
>  Therefore, I would like to ask, if anybody knows, how to circumvent this
> problem.
> 
>  Thank you very much.
> 
>  Kind regards,
> 
>  Bernhard
> 
Dear Bernhard and the GAP Forum,
The vector space duality will induce a duality from mod A
to mod A^op. Even if  A  and  A^op are isomorphic,  A  and 
A^op  will be different objects in GAP. So if you want to
compare an (indecomposable) projective module and its dual,
one has to construct the indecomposable projective modules
over A^op, and then apply the duality. This can also be 
done directly with the command IndecInjectiveModules(). 

Alternatively, to check that a projective module is isomorphic 
to the dual of some projective module, this is the same as 
asking if the projective module also is injective. 

An example with a Nakayama algebra with four indecomposable 
projectives:

gap> A := NakayamaAlgebra(Rationals, [3,3,3,3]);
<Rationals[<quiver with 4 vertices and 4 arrows>]/
<two-sided ideal in <Rationals[<quiver with 4 vertices and 4 arrows>]>, (4
generators)>>
gap> P := IndecProjectiveModules(A);  
[ <[ 1, 1, 1, 0 ]>, <[ 0, 1, 1, 1 ]>, <[ 1, 0, 1, 1 ]>, <[ 1, 1, 0, 1 ]> ]
gap> Aop := OppositeAlgebra(A);
<Rationals[<quiver with 4 vertices and 4 arrows>]/
<two-sided ideal in <Rationals[<quiver with 4 vertices and 4 arrows>]>, (4
generators)>>
gap> Pop := IndecProjectiveModules(Aop);
[ <[ 1, 0, 1, 1 ]>, <[ 1, 1, 0, 1 ]>, <[ 1, 1, 1, 0 ]>, <[ 0, 1, 1, 1 ]> ]
gap> DPop := List(Pop, p -> DualOfModule(p));
[ <[ 1, 0, 1, 1 ]>, <[ 1, 1, 0, 1 ]>, <[ 1, 1, 1, 0 ]>, <[ 0, 1, 1, 1 ]> ]
gap> IsomorphicModules(P[1], DPop[1]);
false
gap> IsomorphicModules(P[1], DPop[2]);
false
gap> IsomorphicModules(P[1], DPop[3]);
true
gap> IsomorphicModules(P[1], DPop[4]);
false
gap> # or alternatively
gap> IsInjectiveModule(P[1]);
true

Best regards, Oeyvind. 




More information about the Forum mailing list