Top
Back: Polar curves
Forward: Deformations
FastBack: Commutative Algebra
FastForward: Invariant Theory
Up: Singularity Theory
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

A.4.4 T1 and T2

, resp. , of an ideal usually denote the modules of infinitesimal deformations, resp. of obstructions. In SINGULAR there are procedures T_1 and T_2 in sing.lib such that T_1(j) and T_2(j) compute a standard basis of a presentation of these modules. If are finite dimensional K-vector spaces (e.g., for isolated singularities), a basis can be computed by applying kbase(T_1(j));, resp. kbase(T_2(j));, the dimensions by applying vdim. For a complete intersection j the procedure Tjurina also computes , but faster ( in this case). For a non complete intersection, it is faster to use the procedure T_12 instead of T_1 and T_2. Type help T_1; (or help T_2; or help T_12;) to obtain more detailed information about these procedures.

We give three examples, the first being a hypersurface, the second a complete intersection, the third not a complete intersection:

  • load sing.lib
  • check whether the ideal j is a complete intersection. It is, if number of variables = dimension + minimal number of generators
  • compute the Tjurina number
  • compute a vector space basis (kbase) of

  • compute the Hilbert function of

  • create a polynomial encoding the Hilbert series
  • compute the dimension of

 
 
// In some cases it might be useful to have a polynomial in some ring
// encoding the Hilbert series. This polynomial can then be
// differentiated, evaluated etc. It can be done as follows:
ring H = 0,t,ls;
poly h1;
int ii;
for (ii=1; ii<=size(v1); ii=ii+1)
{
   h1=h1+v1[ii]*t^(ii-1);
}
h1;                   // 1st Hilbert series
==> 4-20t+40t2-40t3+20t4-4t5
diff(h1,t);           // differentiate  h1
==> -20+80t-120t2+80t3-20t4
subst(h1,t,1);        // substitute t by 1
==> 0

// The procedures T_1, T_2, T_12 may be called with two arguments and then
// they return a list with more information (type help T_1; etc.)
// e.g., T_12(i,<any>); returns a list with 9 nonempty objects where
// _[1] = std basis of T_1-module, _[2] = std basis of T_2-module,
// _[3]= vdim of T_1, _[4]= vdim of T_2
setring r1;           // make r1 again the basering
list L = T_12(i,1);
==> // dim T_1  =  4
==> // dim T_2  =  3
kbase(L[1]);          // kbase of T_1
==> _[1]=1*gen(2)
==> _[2]=1*gen(3)
==> _[3]=1*gen(6)
==> _[4]=1*gen(7)
kbase(L[2]);          // kbase of T_2
==> _[1]=1*gen(6)
==> _[2]=1*gen(8)
==> _[3]=1*gen(9)
L[3];                 // vdim of T_1
==> 4
L[4];                 // vdim of T_2
==> 3


Top Back: Polar curves Forward: Deformations FastBack: Commutative Algebra FastForward: Invariant Theory Up: Singularity Theory Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-6, Dec 2012, generated by texi2html.