--Primi esempi di parametrizzazioni

--eserc. 6 pag 133 [Cox-Little-O'Shea]
R=QQ[u,v,x,y,z]
I=ideal(x-u*v,y-u^2,z-v^2)
eliminate({u,v},I)


--folium di Cartesio
R=QQ[t,x,y]
I=ideal(x*(1+t^3)-3*t,y*(1+t^3)-3*t^2)
eliminate({t},I)


--esempio dove senza aggiungere una variabile ausiliaria si ottiene una componente extra
R=QQ[u,v,x,y,z]
I=ideal(v*x-u^2,y*u-v^2,z-u)
eliminate({u,v},I)
factor (gens eliminate({u,v},I))_(0,0)

--aggiungo quindi una variabile ausiliaria w
R=QQ[w,u,v,x,y,z]
I=ideal(v*x-u^2,y*u-v^2,z-u,1-u*v*w)
eliminate({w,u,v},I)


restart
R=QQ[t,u,x_0..x_3]
F=apply(4,i->t^i+u*diff(t,t^i)-x_i)
eliminate({t,u},ideal F)

--esempio di curva piana
R=QQ[t,x,y]
I=ideal((1+t^5)*x-(t+t^3),(1+t^7)*y-(t-t^3))
eliminate({t},I)

--esempio di curva nello spazio
R=QQ[t,x,y,z]
I=ideal((1+t^5)*x-(t+t^3),(1+t^7)*y-(t-t^3),(1-t^2)*z-(1+t^2))
crazy=eliminate({t},I)
for i from 0 to 6 do print(i,(gens crazy)_(0,i))

--esercizio n. 3 di GAC2-3
R=QQ[x,y,z]
I=ideal(x^2+y^2+z^2-4,x^2+2*y^2-5,x*z-1)
gens gb I
--per l'algoritmo di consistenza, ci sono soluzioni sui numeri complessi !!

------------------
---sup. tangente a quartica (t,t^3,t^4)
R=QQ[t,s,x,y,z]
v=matrix{{t,t^3,t^4}}
xyz=matrix{{x,y,z}}
I=minors(1,v+s*diff(t,v)-xyz)
J=eliminate({t,s},I)---degree 6 equation
f=(gens J)_(0,0)