// Anelli di polinomi: coefficienti, variabili, ordine monomiale // ad esemipio R = Q[x,y,z] ; ring R = 0, (x,y,z), lp; R; // characteristic : 0 // number of vars : 3 // block 1 : ordering lp // : names x y z // block 2 : ordering C number a = 2; a; 2 number b = 2/3; b; 2/3 poly f1 = x^2+y+z-1; poly f2 = x+y^2+z-1; poly f3 = x+y+z^2-1; ideal I = f1, f2, f3; groebner(I); _[1]=z6-4z4+4z3-z2 _[2]=2yz2+z4-z2 _[3]=y2-y-z2+z _[4]=x+y2+z-1 // si veda [CLO], pag. 115; ; ideal GI = _; GI; GI[1]=z6-4z4+4z3-z2 GI[2]=2yz2+z4-z2 GI[3]=y2-y-z2+z GI[4]=x+y2+z-1 poly g_1 = GI[4]; g_1; x+y2+z-1 std(I); _[1]=z6-4z4+4z3-z2 _[2]=2yz2+z4-z2 _[3]=y2-y-z2+z _[4]=x+y+z2-1 // g_1 di [CLO] e' il quarto polinomio ; option(redSB) // option della base do Groebner ridotta ; groebner(I); _[1]=z6-4z4+4z3-z2 _[2]=2yz2+z4-z2 _[3]=y2-y-z2+z _[4]=x+y+z2-1 groebner(GI); _[1]=z6-4z4+4z3-z2 _[2]=2yz2+z4-z2 _[3]=y2-y-z2+z _[4]=x+y+z2-1 // ideali di eliminazione; ; ideal G = groebner(I); ideal I1 = G[1], G[2], G[3]; I1; I1[1]=z6-4z4+4z3-z2 I1[2]=2yz2+z4-z2 I1[3]=y2-y-z2+z ideal I2 = G[1]; LIB "elim.lib"; // ** loaded /usr/share/Singular/LIB/elim.lib (14661,2012-03-05) // ** loaded /usr/share/Singular/LIB/ring.lib (15322,2012-10-12) // ** loaded /usr/share/Singular/LIB/primdec.lib (14732,2012-03-30) // ** loaded /usr/share/Singular/LIB/absfact.lib (14191,2011-05-04) // ** loaded /usr/share/Singular/LIB/triang.lib (13499,2010-10-15) // ** loaded /usr/share/Singular/LIB/matrix.lib (13658,2010-11-16) // ** loaded /usr/share/Singular/LIB/nctools.lib (14246,2011-05-26) // ** loaded /usr/share/Singular/LIB/random.lib (14661,2012-03-05) // ** loaded /usr/share/Singular/LIB/poly.lib (14852,2012-04-30) // ** loaded /usr/share/Singular/LIB/general.lib (14191,2011-05-04) // ** loaded /usr/share/Singular/LIB/inout.lib (13499,2010-10-15) ideal i1 = elim(I,(1)); i1; i1[1]=y2-y-z2+z i1[2]=2yz2+z4-z2 I1; I1[1]=z6-4z4+4z3-z2 I1[2]=2yz2+z4-z2 I1[3]=y2-y-z2+z groebner(i1); _[1]=z6-4z4+4z3-z2 _[2]=2yz2+z4-z2 _[3]=y2-y-z2+z LIB "teachstd.lib"; // ** loaded /usr/share/Singular/LIB/teachstd.lib (13499,2010-10-15) // S-polinomio sulla pagina 84 di [CLO] ; ring R2 = 0, (x,y), Dp; poly f=x^3*y^2-x^2*y^3+x; poly g=3*x^4*y+y^2; spoly(f,g); -x3y3-1/3y3+x2 //cosa e piu' grande? x*2*y oppur y^4 ? ; y^4 > x^2*y; 1 y^4 < x^2*y; 0 y^4 <> x^2*y; 1 y^4 != x^2*y; 1 y^4 == x^2*y; 0 ring R3 = (real, 10), (x,y), Dp; f; ? `f` is undefined ? error occurred in or before STDIN line 57: `f;` poly ff = fetch(R2,f); ff; x3y2-x2y3+x poly gg = fetch(R2,g); spoly(ff,gg); -x3y3-0.3333333333*y3+x2 ring R4 = (real, 100), (x,y), Dp; poly f100 = fetch(R2,f); poly g100 = fetch(R2,g); spoly(f100,g100); -x3y3-0.3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*y3+x2 ring R5 = (real,a,10), (x,y), Dp; ? too many parameters ? cannot make ring ? error occurred in or before STDIN line 66: `ring R5 = (real,a,10), (x,y), Dp;` ? expected ring-expression. type 'help ring;' ring R5 = ((real,10),a), (x,y), Dp; poly fp = (a+0.3)*x+a/(a+0.23)*x*y; fp; (0.9497578118+a*0.2184442967)*xy+(0.3+a*1)*x number n = a/(a+0.23); n; (0.9497578118+a*0.2184442967) number n = a/(a+1); // ** redefining n ** n; (0.5+a*0.5) R5; // characteristic : 0 (complex:10 digits, additional 10 digits) // 1 parameter : a // minpoly : (a^2+1) // number of vars : 2 // block 1 : ordering Dp // : names x y // block 2 : ordering C help ring; // ** Displaying help in browser 'htmlhelp'. // ** Use 'system("--browser", );' to change browser, // ** where can be: "htmlhelp", "xinfo", "info", "builtin", "dummy", "emacs". ring R6 = complex, (x), lp; i^2; -1 number n = 0.33*i; number n = i/3; // ** redefining n ** n; (i*0.333333) ring R6 = (real,a), (x), lp; // ** redefining R6 ** R6; // characteristic : 0 (complex:6 digits, additional 6 digits) // 1 parameter : a // minpoly : (a^2+1) // number of vars : 1 // block 1 : ordering lp // : names x // block 2 : ordering C ring R = (2, a),(x,y), lp; // ** redefining R ** minpoly=a^2+a+1; R; // characteristic : 2 // 1 parameter : a // minpoly : (a2+a+1) // number of vars : 2 // block 1 : ordering lp // : names x y // block 2 : ordering C monitor("");