| LIB "deform.lib";
ring R=32003,(x,y,z),ds;
//----------------------------------------------------
// hypersurface case (from series T[p,q,r]):
int p,q,r = 3,3,4;
poly f = x^p+y^q+z^r+xyz;
print(deform(f));
→ z3,z2,yz,xz,z,y,x,1
// the miniversal deformation of f=0 is the projection from the
// miniversal total space to the miniversal base space:
// { (A,B,C,D,E,F,G,H,x,y,z) | x3+y3+xyz+z4+A+Bx+Cxz+Dy+Eyz+Fz+Gz2+Hz3 =0 }
// --> { (A,B,C,D,E,F,G,H) }
//----------------------------------------------------
// complete intersection case (from series P[k,l]):
int k,l =3,2;
ideal j=xy,x^k+y^l+z2;
print(deform(j));
→ 0,0, 0,0,z,1,
→ y,x2,x,1,0,0
versal(j); // using default names
→ // smooth base space
→ // ready: T_1 and T_2
→
→ // Result belongs to ring Px.
→ // Equations of total space of miniversal deformation are
→ // given by Fs, equations of miniversal base space by Js.
→ // Make Px the basering and list objects defined in Px by typing:
→ setring Px; show(Px);
→ listvar(matrix);
→ // NOTE: rings Qx, Px, So are alive!
→ // (use 'kill_rings("");' to remove)
setring Px;
show(Px); // show is a procedure from inout.lib
→ // ring: (32003),(A,B,C,D,E,F,x,y,z),(ds(6),ds(3),C);
→ // minpoly = 0
→ // objects belonging to this ring:
→ // Rs [0] matrix 2 x 1
→ // Fs [0] matrix 1 x 2
→ // Js [0] matrix 1 x 0
listvar(matrix);
→ // Rs [0] matrix 2 x 1
→ // Fs [0] matrix 1 x 2
→ // Js [0] matrix 1 x 0
// ___ Equations of miniversal base space ___:
Js;
→
// ___ Equations of miniversal total space ___:
Fs;
→ Fs[1,1]=xy+Ez+F
→ Fs[1,2]=y2+z2+x3+Ay+Bx2+Cx+D
// the miniversal deformation of V(j) is the projection from the
// miniversal total space to the miniversal base space:
// { (A,B,C,D,E,F,x,y,z) | xy+F+Ez=0, y2+z2+x3+D+Cx+Bx2+Ay=0 }
// --> { (A,B,C,D,E,F) }
//----------------------------------------------------
// general case (cone over rational normal curve of degree 4):
ring r1=0,(x,y,z,u,v),ds;
matrix m[2][4]=x,y,z,u,y,z,u,v;
ideal i=minor(m,2); // 2x2 minors of matrix m
int time=timer;
// Def_r is the name of the miniversal base space with
// parameters A(1),...,A(4)
versal(i,0,"Def_r","A(");
→ // ready: T_1 and T_2
→
→ // Result belongs to ring Def_rPx.
→ // Equations of total space of miniversal deformation are
→ // given by Fs, equations of miniversal base space by Js.
→ // Make Def_rPx the basering and list objects defined in Def_rPx by typin\
g:
→ setring Def_rPx; show(Def_rPx);
→ listvar(matrix);
→ // NOTE: rings Def_rQx, Def_rPx, Def_rSo are alive!
→ // (use 'kill_rings("Def_r");' to remove)
"// used time:",timer-time,"sec"; // time of last command
→ // used time: 1 sec
// the miniversal deformation of V(i) is the projection from the
// miniversal total space to the miniversal base space:
// { (A(1..4),x,y,z,u,v) |
// -y^2+x*z+A(2)*x-A(3)*y=0, -y*z+x*u-A(1)*x-A(3)*z=0,
// -y*u+x*v-A(3)*u-A(4)*z=0, -z^2+y*u-A(1)*y-A(2)*z=0,
// -z*u+y*v-A(2)*u-A(4)*u=0, -u^2+z*v+A(1)*u-A(4)*v=0 }
// --> { A(1..4) |
// -A(1)*A(4) = A(3)*A(4) = -A(2)*A(4)-A(4)^2 = 0 }
//----------------------------------------------------
|