// The simple curve singularity E7 and all non-free // indecomposable MCM modules LIB "conn.lib"; ring s = 0, (x,y), dp; ideal i = x3+xy3; qring a = std(i); matrix M1[2][2] = x,y,xy2,-x2; matrix M2[2][2] = x,y2,xy,-x2; matrix N1[2][2] = x2,y,xy2,-x; matrix N2[2][2] = x2,y2,xy,-x; matrix P[2][2] = x2,xy,xy2,-x2; matrix Q[2][2] = x,y,y2,-x; matrix R[1][1] = x; matrix S[1][1] = x2+y3; matrix X1[3][3] = xy2,-x2,-x2y,xy,y2,-x2,x2,xy,xy2; matrix X2[3][3] = x2,-y2,-xy,xy,x,-y2,xy2,xy,x2; matrix Y1[3][3] = y,0,x,-x,xy,0,0,-x,y; matrix Y2[3][3] = x,0,y,-xy,x2,0,0,-xy,x; matrix X3[4][4] = x2,xy,y,0,xy2,-x2,0,y,0,0,x,y,0,0,y2,-x; matrix Y3[4][4] = x,y,-y,0,y2,-x,0,-y,0,0,x2,xy,0,0,xy2,-x2; list MCM = M1,M2,N1,N2,P,Q,R,S,X1,X2,Y1,Y2,X3,Y3; matrix sM1[2][2] = x2,y,xy2,-x; matrix sM2[2][2] = x2,y2,xy,-x; matrix sN1[2][2] = x,y,xy2,-x2; matrix sN2[2][2] = x,y2,xy,-x2; matrix sP[2][2] = x,y,y2,-x; matrix sQ[2][2] = x2,xy,xy2,-x2; matrix sR[1][1] = x2+y3; matrix sS[1][1] = x; matrix sX1[3][3] = y,0,x,-x,xy,0,0,-x,y; matrix sX2[3][3] = x,0,y,-xy,x2,0,0,-xy,x; matrix sY1[3][3] = xy2,-x2,-x2y,xy,y2,-x2,x2,xy,xy2; matrix sY2[3][3] = x2,-y2,-xy,xy,x,-y2,xy2,xy,x2; matrix sX3[4][4] = x,y,-y,0,y2,-x,0,-y,0,0,x2,xy,0,0,xy2,-x2; matrix sY3[4][4] = x2,xy,y,0,xy2,-x2,0,y,0,0,x,y,0,0,y2,-x; list sMCM = sM1,sM2,sN1,sN2,sP,sQ,sR,sS,sX1,sX2,sY1,sY2,sX3,sY3; print("Curve E7:"); print("-------"); int i; 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("-------"); }