//SINGULAR Example 2.8.10 ring R = (0,a,b,c,d),(x,y,z,u),(c,dp); ideal E = 3x + y + z - u - a, 13x + 8y + 6z - 7u - b, 14x + 10y + 6z - 7u - c, 7x + 4y + 3z - 3u - d; ideal EE = E, x + y + z - u; option(redSB); simplify(std(E),1); //compute reduced SB std(EE); ring R1 = 0,(x,y,z,u,a,b,c,d),(c,dp); ideal EE = imap(R,EE); std(EE); LIB "matrix.lib"; proc coeffMat (ideal i) { int ii; int n = nvars(basering); int m = ncols(i); matrix C[m][n]; for ( ii=1; ii<=n; ii++) { C[1..m,ii] = i/var(ii); } return(C); } proc coeffMatExt(ideal i) { matrix C = coeffMat(i); C = concat(C,transpose(jet(i,0))); return(C); } setring R; matrix CE = coeffMatExt(EE); matrix C = coeffMat(E); setring R1; matrix CE = imap(R,CE); std(transpose(CE)); ring R2 = 0,(x,y,z,u,a,b,c,d),(c,dp); ideal p = 7a-2b+2c-4d; qring qR= std(p); matrix C = imap(R,C); matrix CE= imap(R,CE); matrix b[5][1]=CE[1..5,5]; //the r.h.s. of (**) lift(C,b);