SINGULAR / Development A Computer Algebra System for Polynomial Computations / version 4.0.3 0< by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Jan 2016 FB Mathematik der Universitaet, D-67653 Kaiserslautern \ Debian 4.0.3-p1+ds-2 > ring R = 0, (t,x,y), lp; //ordine lessicografico t > x > y > option(redSB); > poly F = (x - t)^2 + (y - t^2)^2 - 4; > . // F definisce una famiglia di circonferenze coi centri lungo una parabola. . . ideal I = F, diff(F,t); > ideal g = std(I); > g; g[1]=16x6+16x4y2-40x4y-191x4-32x2y3-96x2y2+30x2y+688x2+16y4-136y3+225y2+544y-1156 g[2]=256ty4-896ty3-768ty2-1928ty+7327t+128x5y+224x5+128x3y3-224x3y2-1480x3y-2946x3-384xy4-544xy3-792xy2+2922xy+6929x g[3]=64txy3+48txy2+12txy-431tx-32x4y+16x4-32x2y3+32x2y2+214x2y+159x2-32y4+80y3+366y2-320y-952 g[4]=288tx2-64ty3+336ty2-108ty-697t-32x5-32x3y2+112x3y+174x3+96xy3-32xy2-322xy-23x g[5]=135t2+32txy2+40txy+26tx-16x4-16x2y2+8x2y+111x2-16y3+32y2+64y-128 > poly A2 = diff(g[2],t); > poly A3 = diff(g[3],t); > poly A4 = diff(g[4],t); > ideal A = A2, A3, A4; > . // V(A) = luogo nel piano x,y, dove le A si annullano simultaneamente. . // Vedremo che V(A) = luogo singolare di V(g[1]) = V(g[1],diff(g[1],x),diff(g[1],y)). . . ideal sA = std(A); > sA; sA[1]=256y4-896y3-768y2-1928y+7327 sA[2]=64xy3+48xy2+12xy-431x sA[3]=288x2-64y3+336y2-108y-697 > dim(sA); 1 > reduce(g[1],sA); 0 > reduce(diff(g[1],x),sA); 0 > reduce(diff(g[1],y),sA); 0 > ideal G = g[1],diff(g[1],x),diff(g[1],y); > ideal sG = std(G); > reduce(A2^2,sG); 0 > reduce(A3^2,sG); 0 > reduce(A4^2,sG); 0 > reduce(A4,sG); -512/135y6+1792/135y5+544/27y4-32/15y3-18206/135y2-8917/135y+271099/1080 > LIB "primdec.lib"; // ** loaded /usr/bin/../share/singular/LIB/primdec.lib (4.0.2.0,Apr_2015) // ** loaded /usr/bin/../share/singular/LIB/ring.lib (4.0.2.2,Jan_2016) // ** loaded /usr/bin/../share/singular/LIB/absfact.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/triang.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/matrix.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/nctools.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/inout.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/random.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/poly.lib (4.0.0.0,Jun_2013) // ** loaded /usr/bin/../share/singular/LIB/elim.lib (4.0.0.1,Jan_2014) // ** loaded /usr/bin/../share/singular/LIB/general.lib (4.0.0.1,Jan_2014) > radical(G); _[1]=-288x2+64y3-336y2+108y+697 _[2]=8x2y+14x2+8y2-38y+17 _[3]=12x3+16xy2-4xy-47x > G; G[1]=16x6+16x4y2-40x4y-191x4-32x2y3-96x2y2+30x2y+688x2+16y4-136y3+225y2+544y-1156 G[2]=96x5+64x3y2-160x3y-764x3-64xy3-192xy2+60xy+1376x G[3]=32x4y-40x4-96x2y2-192x2y+30x2+64y3-408y2+450y+544 > radical(A); _[1]=-288x2+64y3-336y2+108y+697 _[2]=8x2y+14x2+8y2-38y+17 _[3]=12x3+16xy2-4xy-47x > A; A[1]=256y4-896y3-768y2-1928y+7327 A[2]=64xy3+48xy2+12xy-431x A[3]=288x2-64y3+336y2-108y-697 > primdecGTZ(A); [1]: [1]: _[1]=64y3+48y2+12y-431 _[2]=12x2+16y2-4y-47 [2]: _[1]=64y3+48y2+12y-431 _[2]=12x2+16y2-4y-47 [2]: [1]: _[1]=4y-17 _[2]=x [2]: _[1]=4y-17 _[2]=x >