gap-packages / qpa

GAP package for quivers and path algebras
https://folk.ntnu.no/oyvinso/QPA/
GNU General Public License v2.0
30 stars 13 forks source link

Problem with entering certain incidence algebras #63

Open Nakayamaalgebra opened 2 years ago

Nakayamaalgebra commented 2 years ago

I enter incidence algebras in QPA as in the following example that works fine: L:=[ [ [ "'x1'", "'x2'", "'x3'", "'x4'", "'x5'", "'x6'", "'x7'", "'x8'", "'x9'", "'x10'", "'x11'" ], [ [ "'x1'", "'x2'" ], [ "'x1'", "'x3'" ], [ "'x1'", "'x5'" ], [ "'x2'", "'x4'" ], [ "'x2'", "'x6'" ], [ "'x3'", "'x4'" ], [ "'x3'", "'x8'" ], [ "'x4'", "'x7'" ], [ "'x5'", "'x6'" ], [ "'x5'", "'x8'" ], [ "'x6'", "'x7'" ], [ "'x6'", "'x9'" ], [ "'x7'", "'x10'" ], [ "'x8'", "'x9'" ], [ "'x9'", "'x10'" ], [ "'x10'", "'x11'" ] ] ] ];Temp:=[];for i in L do Append(Temp,[[i,Poset(i[1],i[2])]]);od;Temp2:=[];for i in Temp do Append(Temp2,[[i[1],PosetAlgebra(GF(3),i[2])]]);od;A:=Temp2[1][2];

However, for certain strange posets the same method gives an error as in the following example: L:=[ [ [ "'x1'", "'x2'", "'x3'", "'x4'", "'x5'", "'x6'", "'x7'", "'x8'", "'x9'", "'x10'", "'x11'" ], [ [ "'x1'", "'x2'" ], [ "'x1'", "'x3'" ], [ "'x2'", "'x4'" ], [ "'x2'", "'x6'" ], [ "'x3'", "'x4'" ], [ "'x3'", "'x6'" ], [ "'x4'", "'x5'" ], [ "'x4'", "'x7'" ], [ "'x5'", "'x8'" ], [ "'x5'", "'x9'" ], [ "'x6'", "'x7'" ], [ "'x6'", "'x9'" ], [ "'x7'", "'x8'" ], [ "'x8'", "'x10'" ], [ "'x9'", "'x10'" ], [ "'x10'", "'x11'" ] ] ] ];Temp:=[];for i in L do Append(Temp,[[i,Poset(i[1],i[2])]]);od;Temp2:=[];for i in Temp do Append(Temp2,[[i[1],PosetAlgebra(GF(3),i[2])]]);od;A:=Temp2[1][2];

sunnyquiver commented 2 years ago

This seems to be a bug inside GBNP or in the way QPA communicates with GBNP. Inside QPA there is an alternative way of computing a Groebner basis of an ideal by the command HighLevelGroebnerBasis. This method was contributed by erich-9. Here is how you could use this:

  1. P := Temp[ 1 ][ 2 ]; in the second case,
  2. execute lines 527 -- 573 and 577 -- 590 in the file pathalgpredef.gi in the lib directory,
  3. execute grb := HighLevelGroebnerBasis( relations, KQ );
  4. execute I := Ideal( KQ, relations );
  5. execute GroebnerBasis( I, grb );
  6. execute A := KQ/I; this will produce a 60-dimensional quiver algebra.

There has also been earlier cases with possible bugs in GBNP and/or the way QPA communicates with GBNP. The way QPA communicates with GBNP is unfortunately not documented, so it is a black box. The dependency on GBNP are not present in QPA2.