Next: Bibliography Up: 5. Examples Previous: 5.2 HomR(M,N)

## 5.3 T1X and T1X(M)

This section and the corresponding SINGULAR procedure is a joint work of G.M. Greuel and B.Martin.

Let be given by the ideal and R=P/I.

Consider the canonical exact sequence

 (1)

where denotes the module of Kähler differentials and d is induced by the exterior derivation. ( ).

is free with generators (isomorph to Pn) and (isomorph to Rn) is by definition the cokernel of the map

Let M be any finitely generated R-module . The M-dual of (1) is

where is the module of the M-valued R-derivations and T1X(M) is by definition the cokernel of d* (the dual of d) and is called the module of first order infinitesimal deformations of X (resp. R) with values in M.

The module T1X/Kn(M) := HomR(I/I2,M) is called the module of first order embedded deformations of R with values in M. If M is ommitted, we define T1X:=T1X(R) as the module of first order deformations of X.

Remark: .

Algorithm 5..3   Consider a presentation of I as a P-module:

 (2)

We note that for any R-module M

 HomP(I/I2,M)=HomR(I,M) (3)

Hence, choosing as a basis of and the canonical basis of Pk, the right part of (3) is identified with the exact sequence

 (4)

where is given by the Jacobian matrix (dfi/dxj)i,j of I. In particuliar, for M=R, we get

 (5)

as defining sequence of T1X.

Applying HomP(-,R) to (2), we get

 (6)

where A* is the transposed matrix of A. Consider a 3-term partial resolution of im(A*):

 (7)

together with the (induced by the Jacobian jac) and a lifting of J to a map . This lifting exists since im(jac) is contained in the normal bundle of I:

 (8)

Finally we get (keeping notations for B3 and L when lifted to P)

 T1X=im(B2)/im(J) = Rr/im(L)+im(B3) = Pr/im(L)+im(B3)+I*Pr (9)

SINGULAR example: a complete version can be found in the SINGULAR library sing.lib.

ideal I=f1,...,fk;
list A=res(I,2);                    //compute the presentation (4) of I
module A'=transpose(A[2]);          //A*=transposed 1st syzygy module of I
module jac=jacob(I);                //jacobian matrix of I (as module)

// So far we are in the polynomial ring P, now we pass to the qring R=P/I:

qring R=std(I);                     //defines the quotient ring R=P/I
module A'=fetch(P,A');              //map A* to R
module J=fetch(P,jac);              //map jac to R
list B=res(A',3);                   //compute the exact sequence (7)
module t1=lift(B[2],jac)+B[3];      //im(L)+im(B3)
int r=rank(t1);                      //compute the rank r
// Hence  T1_X = R^r/t1 as R-module. (see (9))

// Now we pass back to the original basering P:
setring P;                          //makes P the basering
module t1 = fetch(R,t1)+J*freemodule(r);  //im(L)+im(B3)+J*P^r=:T1
fetch(R,B(2));                      // (generators of) normal bundle
fetch(R,B(3));                      // presentation of normal bundle


Next: Bibliography Up: 5. Examples Previous: 5.2 HomR(M,N)
| ZCA Home | Reports |