#### D.6.15.16 T_1

Procedure from library `sing.lib` (see sing_lib).

Usage:
  T_1(id[,<any>]); id = ideal or poly

Return:
  T_1(id): of type module/ideal if id is of type ideal/poly. We call T_1(id) the T_1-module of id. It is a std basis of the presentation of 1st order deformations of P/id, if P is the basering. If a second argument is present (of any type) return a list of 3 modules:
  [1]= T_1(id)
  [2]= generators of normal bundle of id, lifted to P
  [3]= module of relations of [2], lifted to P
  (note: transpose[3]*[2]=0 mod id)
  The list contains all non-easy objects which must be computed to get T_1(id).

Display:
  k-dimension of T_1(id) if printlevel >= 0 (default)

Note:
  T_1(id) itself is usually of minor importance. Nevertheless, from it all relevant information can be obtained. The most important are probably vdim(T_1(id)); (which computes the Tjurina number), hilb(T_1(id)); and kbase(T_1(id)).
  If T_1 is called with two arguments, then matrix([2])*(kbase([1])) represents a basis of 1st order semiuniversal deformation of id (use proc 'deform', to get this in a direct way).
  For a complete intersection the proc Tjurina is faster.

Example:

    LIB "sing.lib";
    int p      = printlevel;
    printlevel = 1;
    ring r     = 32003,(x,y,z),(c,ds);
    ideal i    = xy,xz,yz;
    module T   = T_1(i);
    ==> // dim T_1 = 3
    vdim(T);                      // Tjurina number = dim_K(T_1), should be 3
    ==> 3
    list L=T_1(i,"");
    ==> // dim T_1 = 3
    module kB  = kbase(L[1]);
    print(L[2]*kB);               // basis of 1st order miniversal deformation
    ==> 0,0,0,
    ==> z,0,0,
    ==> 0,y,z
    show(L[2]);                   // presentation of normal bundle
    ==> // module, 6 generator(s)
    ==> [x]
    ==> [y,z]
    ==> [0,x,y]
    ==> [0,z]
    ==> [0,0,y]
    ==> [0,0,z]
    print(L[3]);                  // relations of i
    ==> z, 0,
    ==> -y,y,
    ==> 0, -x
    print(transpose(L[3])*L[2]);  // should be 0 (mod i)
    ==> xz,0, -xy,-yz,0,  0,
    ==> 0, yz,0,  yz, -xy,-xz
    printlevel = p;

User manual for Singular version 4-0-3, 2016, generated by texi2html.