|  |  D.6.15.18 T_12 Procedure from librarysing.lib(see  sing_lib).
 
Example:Usage:
T_12(i[,any]); i = ideal
Return:
T_12(i): list of 2 modules: * standard basis of T_1-module =T_1(i), 1st order deformations
 * standard basis of T_2-module =T_2(i), obstructions of R=P/i
 If a second argument is present (of any type) return a list of
9 modules, matrices, integers:
 [1]= standard basis of T_1-module
 [2]= standard basis of T_2-module
 [3]= vdim of T_1
 [4]= vdim of T_2
 [5]= matrix, whose cols present infinitesimal deformations
 [6]= matrix, whose cols are generators of relations of i(=syz(i))
 [7]= matrix, presenting Hom_P(syz/kos,R), lifted to P
 [8]= presentation of T_1-module, no std basis
 [9]= presentation of T_2-module, no std basis
 
Display:
k-dimension of T_1 and T_2 if printlevel >= 0 (default)
Note:
Use proc miniversal from deform.lib to get miniversal deformation of i,
the list contains all objects used by proc miniversal.
 |  | LIB "sing.lib";
int p      = printlevel;
printlevel = 1;
ring r     = 199,(x,y,z,u,v),(c,ws(4,3,2,3,4));
ideal i    = xz-y2,yz2-xu,xv-yzu,yu-z3,z2u-yv,zv-u2;
//a cyclic quotient singularity
list L     = T_12(i,1);
==> // dim T_1 = 5
==> // dim T_2 = 3
print(L[5]);             //matrix of infin. deformations
==> 0,  0,  0,  0,  0,  
==> yz, y,  z2, 0,  0,  
==> -z3,-z2,-zu,yz, yu, 
==> -z2,-z, -u, 0,  0,  
==> zu, u,  v,  -z2,-zu,
==> 0,  0,  0,  u,  v   
printlevel = p;
 | 
 
 |