// The simple threefold singularity E8 and all non-free // indecomposable MCM modules LIB "conn.lib"; ring s = 0, (x,y,z,w), dp; ideal i = x3+y5+zw; qring a = std(i); matrix M1[2][2] = x2,y4,y,-x; matrix M2[2][2] = x2,y3,y2,-x; matrix N1[2][2] = x,y4,y,-x2; matrix N2[2][2] = x,y3,y2,-x2; matrix P1[3][3] = y,-x,0,0,y,-x,x,0,y3; matrix P2[3][3] = y,-x,0,0,y2,-x,x,0,y2; matrix Q1[3][3] = y4,xy3,x2,-x2,y4,xy,-xy,-x2,y2; matrix Q2[3][3] = y4,xy2,x2,-x2,y3,xy,-xy2,-x2,y3; matrix R1[4][4] = y,-x,0,y3,x,0,-y3,0,-y2,0,-x2,0,0,-y2,-xy,-x2; matrix R2[4][4] = x,y2,0,y,y3,-x2,-xy2,0,0,0,x2,y2,0,0,y3,-x; matrix S1[4][4] = 0,x2,-y3,0,-x2,xy,0,-y3,0,-y2,-x,0,y2,0,y,-x; matrix S2[4][4] = x2,y2,0,xy,y3,-x,-y2,0,0,0,x,y2,0,0,y3,-x2; matrix T1[6][6] = y4,xy2,x2,0,0,xy,-x2,y3,xy,-x,0,0,-xy2,-x2,y3,0,-xy,0,0,0,0,y,-x,0,0,0,0,0,y2,-x,0,0,0,x,0,y2; matrix T2[5][5] = y4,x2,0,-xy2,0,-x2,xy,0,-y3,0,0,-y2,-x,0,y3,-xy2,y3,0,x2,0,-y3,0,-y2,xy,-x2; matrix U1[6][6] = y,-x,0,0,0,-x,0,y2,-x,xy,0,0,x,0,y2,0,xy,0,0,0,0,y4,xy2,x2,0,0,0,-x2,y3,xy,0,0,0,-xy2,-x2,y3; matrix U2[5][5] = y,-x,0,0,0,x,0,0,y2,0,-y2,0,-x2,0,-y3,0,-y2,0,x,0,0,0,y2,y,-x; list MCM1 = M1,M2,N1,N2,P1,P2,Q1,Q2,R1,R2,S1,S2,T1,T2,U1,U2; matrix sM1[2][2] = x,y4,y,-x2; matrix sM2[2][2] = x,y3,y2,-x2; matrix sN1[2][2] = x2,y4,y,-x; matrix sN2[2][2] = x2,y3,y2,-x; matrix sP1[3][3] = y4,xy3,x2,-x2,y4,xy,-xy,-x2,y2; matrix sP2[3][3] = y4,xy2,x2,-x2,y3,xy,-xy2,-x2,y3; matrix sQ1[3][3] = y,-x,0,0,y,-x,x,0,y3; matrix sQ2[3][3] = y,-x,0,0,y2,-x,x,0,y2; matrix sR1[4][4] = 0,x2,-y3,0,-x2,xy,0,-y3,0,-y2,-x,0,y2,0,y,-x; matrix sR2[4][4] = x2,y2,0,xy,y3,-x,-y2,0,0,0,x,y2,0,0,y3,-x2; matrix sS1[4][4] = y,-x,0,y3,x,0,-y3,0,-y2,0,-x2,0,0,-y2,-xy,-x2; matrix sS2[4][4] = x,y2,0,y,y3,-x2,-xy2,0,0,0,x2,y2,0,0,y3,-x; matrix sT1[6][6] = y,-x,0,0,0,-x,0,y2,-x,xy,0,0,x,0,y2,0,xy,0,0,0,0,y4,xy2,x2,0,0,0,-x2,y3,xy,0,0,0,-xy2,-x2,y3; matrix sT2[5][5] = y,-x,0,0,0,x,0,0,y2,0,-y2,0,-x2,0,-y3,0,-y2,0,x,0,0,0,y2,y,-x; matrix sU1[6][6] = y4,xy2,x2,0,0,xy,-x2,y3,xy,-x,0,0,-xy2,-x2,y3,0,-xy,0,0,0,0,y,-x,0,0,0,0,0,y2,-x,0,0,0,x,0,y2; matrix sU2[5][5] = y4,x2,0,-xy2,0,-x2,xy,0,-y3,0,0,-y2,-x,0,y3,-xy2,y3,0,x2,0,-y3,0,-y2,xy,-x2; list sMCM1 = sM1,sM2,sN1,sN2,sP1,sP2,sQ1,sQ2,sR1,sR2,sS1,sS2,sT1,sT2,sU1,sU2; list MCM, sMCM; matrix e11[2][2] = 1,0,0,0; matrix e12[2][2] = 0,1,0,0; matrix e21[2][2] = 0,0,1,0; matrix e22[2][2] = 0,0,0,1; int i; int ms; for (i=1; i<=size(MCM1);i++) { ms = ncols(MCM1[i]); MCM[i] = tensor(e11,diag(z,ms)) - tensor(e12,sMCM1[i]) + tensor(e21,MCM1[i]) + tensor(e22,diag(w,ms)); sMCM[i] = tensor(e11,diag(w,ms)) + tensor(e12,sMCM1[i]) - tensor(e21,MCM1[i]) + tensor(e22,diag(z,ms)); } print("Threefold E8:"); print("-------"); for(i=1;i<=size(MCM);i++) { print("Module:"); print("-------"); print(MCM[i]); print("-------"); print("Obstructions:"); print("-------"); print(KSKernel(MCM[i])); print(LClass(MCM[i])); print("-------"); }