# Full projective resolutions for path algebras in GAP

I am trying to do various computations on path algebras using GAP. One such computation is obtaining projective resolutions of simples modules (and possibly other modules). The command in the GAP manual is just "ProjectiveResolution(M)" to compute the projective resolution for a module $M$. However, when I display this projective resolution, I only ever see the first two steps of the projective resolution: the module $M$ appears with an arrow pointing to it from the projective module in the projective cover for $M$, but there should (generally speaking) be more modules in the projective resolution for $M$.

The following picture shows a projective resolution with two steps (there should be 4). The right most module (other than the $0$ on the right) is the module in question (the fifth simple module in this case), and the left most module is the projective covering module for the module in question.

Is there a way to display all projectives in the projective resolution of a module $M$ in GAP?

Edit: I am using the QPA package, and the original code I used is the following (which includes the definition of the quiver):

Q := Quiver( 5, [ [1,2,"u"], [2,1,"e"], [2,3,"a"], [3,4,"b"], [4,2,"l"], [4,5,"c"], [5,4,"d"] ]);
Display(Q);
kQ := PathAlgebra(Rationals, Q);
Display(kQ);
AssignGeneratorVariables(kQ);
relations := [a*b*c*d*l*e*u*a*b-e*u*a*b*c*d, u*e, l*a, b*l, d*c];
A := kQ/relations;
Display(Dimension(A));
projectives := IndecProjectiveModules(A);
simples := SimpleModules(A);

Display(ProjDimensionOfModule(simples[1], 100));
Display(ProjDimensionOfModule(simples[2], 100));
Display(ProjDimensionOfModule(simples[3], 100));
Display(ProjDimensionOfModule(simples[4], 100));
Display(ProjDimensionOfModule(simples[5], 100));

Display(ProjectiveResolution(simples[5]));


Note: the numbers appearing in the first picture (i.e.: $9,8,6,5,2$) are the projective dimensions of the modules I'm looking at. In particular, the $2$ is the projective dimension of the module in my question (it is the fifth simple module), so I know the projective resolution in question is finite.

• Are you using the QPA package? What's the particular quiver you are working with the path algebra of? And, perhaps a silly suggestion, but maybe GAP knows about the size of your terminal window, and so doesn't want to display the full resolution: so try redirecting the output of that command to a file and see if it's different? May 30 '18 at 20:42
• @MikePierce I am using QPA, I'll update my question with the information you're looking for. Also, the image I included about the outputted resolution is not the full screen; I cropped the image so there is in reality much more space for the resolution to use (also, for other computations, GAP will use multiple lines).
– Dave
May 30 '18 at 20:50

The function ProjectiveResolution returns a Complex. You can look up in the QPA manual how to compute and access its differentials etc. Here's an example

P := ProjectiveResolution(simples[5]);

P2 := ObjectOfComplex(P, 2);
d2 := DifferentialOfComplex(P, 2);

• Okay thanks, this definitely helps. Is there a way to display the resolution like what I have in my first picture but with all the objects in the complex?
– Dave
May 30 '18 at 22:17
• More terms are displayed once they are computed. Just try Display(P); after executing the code I posted above and you should see --- -> 2:(1,2,1,2,2) -> 1:(2,4,2,4,3) -> 0:(1,2,1,2,2) -> -1:(0,0,0,0,1) -> 0. May 30 '18 at 22:24
• Okay this works: I guess I just need to set the last object and the last differential in the complex for all of them to be loaded. Thanks for your help.
– Dave
May 30 '18 at 22:34