// The curve singularity D^s_n for n=2,4,6,... with complete local ring // A = k[[x,y,z]]/(x^2-xy^p,xz,yz) for p = n/2, and all non-free // indecomposable MCM A-modules LIB "conn.lib"; int n = 100; int p = n/2; ring s = 0, (x,y,z), dp; ideal i = x2-x*y^p,xz,yz; qring a = std(i); int l; list MCM; for (l=1;l<=p-1;l++) { matrix M[2][3] = x,x*y^l,0,y^(p-l),x,z; MCM[l] = M; } // MCM[2*p-1] is the canonical module for (l=0;l<=p-1;l++) { matrix M[2][3] = x,x*y^l,z,y^(p-l),x,0; MCM[p+l] = M; } for (l=1;l<=p-1;l++) { matrix M[2][2] = x,x*y^l,y^(p-l),x; MCM[2*p-1+l] = M; } print("Curve D^s_n for n even:"); 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("-------"); }