// The simple threefold singularity An for n odd and all non-free // indecomposable MCM modules LIB "conn.lib"; int n = 101; int p = (n+1)/2; ring s = (0,I), (x,y,z,w), dp; minpoly = I2+1; ideal i = x2+y^(n+1)+zw; qring a = std(i); int l; list MCM1; for (l=1;l<=p;l++) { matrix M[2][2] = x, y^(n-l+1), y^l, -x; MCM1[l] = M; } matrix N1[1][1] = x + I*y^p; matrix N2[1][1] = x - I*y^p; MCM1[p] = N1; MCM1[p+1] = N2; list sMCM1 = MCM1; sMCM1[p] = N2; sMCM1[p+1] = N1; 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 An for n odd:"); 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("-------"); }