|
D.6.11.2 mod_versal
Procedure from library deform.lib (see deform_lib).
- Usage:
- mod_versal(Mo,Io[,d,any]); Io=ideal, Mo=module, d=int, any =list
- Compute:
- miniversal deformation of coker(Mo) over Qo=Po/Io, Po=basering;
- Return:
- list L of 4 rings:
L[1] extending the basering Po by new variables given by
"A,B,.." (deformation parameters); the new variables precede
the old ones, the ordering is the product of "ls" and "ord(Po)"
L[2] = L[1]/Io extending Qo,
L[3] = the embedding ring of the versal base space,
L[4] = L[1]/(Io+Js) ring of the versal deformation of coker(Ms).
In the ring L[1] the following matrices are stored:
Js = giving the versal base space (obstructions),
Fs = giving the versal family of Mo,
Rs = giving the lifting of syzygies Lo=syz(Mo).
If d is defined (!=0), it computes up to degree d.
If 'any' is defined and any[1] is no string, interactive version.
Otherwise 'any' is interpreted as a list of predefined strings:
"my","param","order","out":
("my" internal prefix, "param" is a letter (e.g. "A") for the
name of the first parameter or (e.g. "A(") for index parameter
variables, "order" ordering string for ring extension), "out" name
of output file).
- Note:
- printlevel < 0 no additional output,
printlevel >=0,1,2,.. informs you, what is going on,
this proc uses 'execute'.
Example:
| LIB "deform.lib";
int p = printlevel;
printlevel = 1;
ring Ro = 0,(x,y),wp(3,4);
ideal Io = x4+y3;
matrix Mo[2][2] = x2,y,-y2,x2;
list L = mod_versal(Mo,Io);
==> // vdim (Ext^2) = 4
==> // vdim (Ext^1) = 4
==> // ready: Ext1 and Ext2
==> // Ext1 is quasi-homogeneous represented: 3,6,1,4
==> // infinitesimal extension
==> x2-Ax-B, y+Cx+D,
==> -y2+Cxy+Dy,x2+Ax+B
==> // start deg = 2
==> // start deg = 3
==> // start deg = 4
==> // start deg = 5
==> // finished in degree
==> 5
==> // quasi-homogeneous weights of miniversal base
==> 3,
==> 6,
==> 1,
==> 4
==>
==> // 'mod_versal' returned a list, say L, of four rings. In L[2] are stored\
:
==> // as matrix Ms: presentation matrix of the deformed module,
==> // as matrix Ls: lifted syzygies,
==> // as matrix Js: Equations of total space of miniversal deformation
==> // To access these data, type
==> def Qx=L[2]; setring Qx; print(Ms); print(Ls); print(Js);
==>
def Qx=L[2]; setring Qx;
print(Ms);
==> x2-Ax-B+A2-C3x-3C2D+AC3,y+Cx+D,
==> -y2+Cxy+Dy-C2x2-2CDx-D2,x2+Ax+B
print(Ls);
==> -y-Cx-D, x2+Ax+B,
==> x2-Ax-B+A2-C3x-3C2D+AC3,y2-Cxy-Dy+C2x2+2CDx+D2
print(Js);
==> -2AB+A3+3CD2-BC3-3AC2D+A2C3,
==> -B2+A2B+D3-3BC2D+ABC3,
==> 0,
==> 0
printlevel = p;
if (defined(Px)) {kill Px,Qx,So;}
|
|