next up previous contents
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 $X \in K^n$ be given by the ideal $I=(f_1, \ldots, f_k) \subseteq P=K[x_1, \ldots, x_n]$ and R=P/I.

Consider the canonical exact sequence

 \begin{displaymath}
I/I^2 \stackrel{d}{\longrightarrow} \Omega_P^1 \otimes_P R
\longrightarrow \Omega_R^1\rightarrow 0
\end{displaymath} (1)

where $\Omega_P^1$ denotes the module of Kähler differentials and d is induced by the exterior derivation. ( $[ d ] \mapsto [ df ]$).

$\Omega_P^1$ is free with generators $dx_1,\ldots,dx_n$ (isomorph to Pn) and $\Omega_R^1$ (isomorph to Rn) is by definition the cokernel of the map

\begin{displaymath}d:[f_i] \rightarrow [df_i]=[\sum_j (df_i/dx_j)]\end{displaymath}

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

\begin{displaymath}0 \rightarrow \Theta_X(M) \rightarrow Hom_R(\Omega_P \otimes ...
...rightarrow} Hom_R(I/I^2,M)
\rightarrow T^1_X(M) \rightarrow 0 \end{displaymath}

where $\Theta_X(M)=Hom_R(\Omega_R^1,M)$ 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: $Hom_R(\Omega_R^1,R) \cong Hom_P(R^n,R) \cong R^n$.

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

 \begin{displaymath}
0 \leftarrow I \leftarrow P^k \stackrel{A}{\longleftarrow} P^p
\end{displaymath} (2)

We note that for any R-module M

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

Hence, choosing $dx_1,\ldots,dx_n$ as a basis of $\Omega_P^1$ and the canonical basis of Pk, the right part of (3) is identified with the exact sequence

 \begin{displaymath}
Hom_P(P^n,R) \stackrel{jac}{\longrightarrow} Hom_P(I,M)
\rightarrow T^1_X(M) \rightarrow 0
\end{displaymath} (4)

where $jac: Hom_P(P^n,M) \rightarrow Hom_P(I,M) \subseteq Hom_P(P^k,M)=M^k$ is given by the Jacobian matrix (dfi/dxj)i,j of I. In particuliar, for M=R, we get

 \begin{displaymath}
Hom_P(P^n,R) \stackrel{jac}{\longrightarrow} Hom_P(I,R)
\rightarrow T^1_X \rightarrow 0
\end{displaymath} (5)

as defining sequence of T1X.

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

 \begin{displaymath}
0 \rightarrow Hom_P(I,R)=ker(A^{*}) \rightarrow Hom_P(P^k,R)
\stackrel{A^{*}}{\longrightarrow} Hom_P(P^p,R)
\end{displaymath} (6)

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

 \begin{displaymath}
R^q \stackrel{B_3}{\longrightarrow} R^r
\stackrel{B_2}{\lo...
..._P(P^k,R)
\stackrel{B_1:=A^{*}}{\longrightarrow} Hom_P(P^p,R)
\end{displaymath} (7)

together with the $J: Hom_P(P^n,R) \rightarrow Hom_P(P^k,R)$ (induced by the Jacobian jac) and a lifting of J to a map $L: Hom(P^n,R) \rightarrow R^r$. This lifting exists since im(jac) is contained in the normal bundle of I:

 \begin{displaymath}
im(J) \subseteq Hom_R(I/I^2,R)=ker(B_1)=im(B_2)
\end{displaymath} (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 up previous contents
Next: Bibliography Up: 5. Examples Previous: 5.2 HomR(M,N)
| ZCA Home | Reports |