[CLO] David Cox John Little Donal O’Shea, Ideals, Varieties, and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra Third Edition Springer-Verlag, 2007. Singular Tipi di data: int, intvec, intmat, string, ring, number, poly, vector, matrix, ideal, qring, map, module, def, link, resolution, proc. Anelli di polinomi (coefficienti, variabili, ordine monomiale): coefficienti Q: (0) R, piu' precisamente numeri floating point con 50 cifre dopo la virgola decimale: (real,50) > ring r = (real,50),x,dp; > 101/3; 33.66666666666666666666666666666666666666666666666667 Z/5: ring r = 5,x,dp; variabili (x,y,z), (x(1..3)) con le variabili x(1), x(2),x(3) ordini monomiali: ordine lessicografico lp, 1 0 0 0 1 0 0 0 1 lessicografico graduato Dp, 1 1 1 1 0 0 0 1 0 lessicografico graduato inverso dp 1 1 1 0 0 -1 0 -1 0 algoritmo didivisione ring r=0,(x,y),lp; poly f=x*y^2+1; poly f1=x*y+1; poly f2=y+1; ideal F=f; ideal G=f1,f2; list q = division (F,G); f - q[1][1,1]*f1-q[1][2,1]*f2 - q[2]; proc somman (int n) { int s=0; int i; for (i=1; i<=n; i=i+1) { s=s+i; }; return(s); }; Basi di Groebner: groebner std option(redSB) [CLO, pag. 50] ring R =0, (x(1..3)), lp; ideal I = 2*x(1) + 3*x(2) - x(3), x(1) + x(2) -1, x(1) + x(3) -3; std(I); resto rispetto ad una base di Groebner: reduce(f,I) ring r = complex,(x,y,z),Dp; poly f = -4*x^2*y^2*z^2+y^6+3*z^5; poly f1=x*z-y^2; poly f2=x^3-z^2; ideal I =f1,f2; S-polinomio: (pag. 84) LIB "teachstd.lib"; ring r=0,(x,y),lp; poly f=x^3*y^2-x^2*y^3+x; poly g=3*x^4*y+y^2; spoly(f,g); Eliminazione: LIB "elim.lib"; ring r = complex, (x,y,z), lp; ideal I = x^2+y+z-1, x+y^2+z-1, x+y+z^2-1; elim(I,(1)); elim(I,(1..2));