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

DominantDimensionOfAlgebra with a strange behaviour #60

Closed Nakayamaalgebra closed 2 years ago

Nakayamaalgebra commented 2 years ago

The following algebra seems to have dominant dimension 2, but the QPA-command behaves strange:

Q:=Quiver( ["v1","v2","v3","v4","v5","v6","v7","v8","v9","v10"], [["v1","v2","a1"],["v2","v6","a2"],["v3","v4","a3"],["v4","v1","a4"],["v4","v\ 5","a5"],["v5","v2","a6"],["v6","v7","a7"],["v7","v8","a8"],["v8","v9","a9"],["v9","v3","a10"],["v9","v10","a11"],["v10","v4","a12"]] );KQ:=PathAlgebra(GF(3),Q);AssignGeneratorVariables(KQ); rel:=[ (Z(3)^0)a1a2, (Z(3)^0)a2a7, (Z(3)^0)a3a5, (Z(3))a4a1+(Z(3)^0)a5a6, (Z(3)^0)a7a8, (Z(3)^0)a8a9, (Z(3)^0)a9a11, (Z(3))a10a3+(Z(3)^0)a11a12, (Z(3)^0)a12a4, (Z(3)^0)a3a4a1, (Z(3)^0)a9a10a3, (Z(3)^0)a10a3*a4 ];B:=KQ/rel;

gap> DominantDimensionOfAlgebra(B,8); false gap> DominantDimensionOfAlgebra(B,9); 2

sunnyquiver commented 2 years ago

Here is a break down of what is happening inside DominantDimensionOfAlgebra:

gap> P := IndecProjectiveModules( B );
[ <[ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 ]>, <[ 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 ]>, 
  <[ 1, 0, 1, 1, 0, 0, 0, 0, 0, 0 ]>, <[ 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 ]>, 
  <[ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0 ]>, <[ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 ]>, 
  <[ 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 ]>, <[ 0, 0, 1, 0, 0, 0, 0, 1, 1, 0 ]>, 
  <[ 0, 0, 1, 1, 0, 0, 0, 0, 1, 1 ]>, <[ 0, 0, 0, 1, 1, 0, 0, 0, 0, 1 ]> ]
gap> DominantDimensionOfModule( P[1], 8 );
2
gap> DominantDimensionOfModule( P[2], 8 );
false
gap> DominantDimensionOfModule( P[2], 9 );
9
gap> DominantDimensionOfModule( P[3], 8 );
infinity
gap> DominantDimensionOfModule( P[4], 8 );
infinity
gap> DominantDimensionOfModule( P[5], 8 );
infinity
gap> DominantDimensionOfModule( P[6], 8 );
infinity
gap> DominantDimensionOfModule( P[7], 8 );
infinity
gap> DominantDimensionOfModule( P[8], 8 );
infinity
gap> DominantDimensionOfModule( P[9], 8 );
infinity
gap> DominantDimensionOfModule( P[10], 8 );
infinity
gap> 

The function DominantDimensionOfModule( M, n ) is returning false if the dominant dimension of M is not less or equal to n, and the dominant dimension of M if its value is less or equal to n. The relevant code of DominantDimensionOfAlgebra is:

P := IndecProjectiveModules(A);
domdimlist := [];
for M in P do
     test := DominantDimensionOfModule(M,n);   # Checking the dominant dimension of each indec. projective module. 
     if test = false then
         return false;
     fi;
     Add(domdimlist,test); 
od; 
pos := Positions(domdimlist,infinity); # positions of the indec. projective modules with infinite domdim.
finite_ones := [1..Length(P)]; 
SubtractSet(finite_ones,pos); # positions of the indec. projective modules with finite domdim.

return Minimum(domdimlist{finite_ones});

So the problem is the use or the definition of DominantDimensionOfModule. For this to work, one could redefine DominantDimensionOfModule( M, n ) to return a number if the dominant dimension of M is less or equal to n, infinity if it is infinity, and true if not infinity.

Conclusion: There is a bug in DominantDimensionOfAlgebra. It is not doing what it is supposed to. Will redefine DominantDimensionOfModule.

Nakayamaalgebra commented 2 years ago

Thank you very much!